True Reality (TR) is an open source LGPL Game and Simulation Engine written entirely in Standard C++ and OpenGL. It runs on all Windows platforms and GNU/Linux. OpenSceneGraph is used as its graphics engine, along with many other open source projects for support of various features.
The camera should be placed at (0,0,0) at all times to avoid positional miscalculation (rounding/machine error) from very far away objects placed near the camera.
Should be able to handle localized fog effects as well as "exponential" fog effects using pre-volumetric (noise generated density) or volumetric based models.
Create a shader manager for the simulation. Shader manager should handle geometry, tessellation, pixel, vertex, and fragment. We should also support multi-texture ability in the shaders.
Create model viewer to perform spot testing on models. Should include the ability to add plugins, i.e. libraries, from our system into the model viewer.
General CMake setup and project structure maintenance. Compilation should work on both Linux and Windows. Has not been tested or designed for other operating systems.
Create a physics system to handle all the physics calculations in the simulation. Will likely use bullet, PhysX, FleX, and other physics systems, plus handle calculations on both the CPU and off-loading onto GPU architecture.
Main physics Actor Module should use GPU enabled Bullet with additional Actor Modules for PhysX and FleX.
Create lighting system that handles shadows, source lights, diffuse lighting, reflections, refraction, ray-tracing, particle generation etc. through shaders. Include aerial lighting and deferred rendering.
Import the VR-Sim project and restructure it into the new True Reality engine base.
VR-Sim is an engine @DieSlower built many years ago. Some modules of it were built for Stevens Institute of Technology and are partially owned by it.
The core VR-Sim engine is developed and owned by DieSlower and with his permission is going to be converted into an LGPL project and continue its development under a new name.
Create a thread pool manager to easily let TR use multiple cores to the max of the machine's ability. Delta3D already has thread pool manager which could be used as an example.
Make the terrain system able to create and use planetary-sized terrains.
The system should have an ability to display a geocentric terrain system with gravity type clamping effects.
Should be an actor.
Version Info file should be stored in the Data folder,
Utilities should be internal functions that can read the file, and a program trVersion that will print the version of the TR and any additional info that the user might want to see.
The format of the version number should be:
Maj.Min.YYMM.Commit# or Maj.Min.YYMM.Build# or
YY = Year MM = Month
Additional information could include the webpage where to get TR, and Author list.
Create a tool that will take one or more models and unify their textures into a texture atlas. This atlas could have not only the diffuse texture, but bump, normal, specular maps and others in the same file.