Triton Game Engine
This might become a game engine sometime in the future, but right now a lot of core functionality is missing.
- Tiled deferred rendering
- FXAA, SMAA
- Shadow Maps
- Point & spot light shadows
- CSM for directional lights
- Poisson tap PCF
- Filmic tonemapping (Reinard / Unhcarted / Filmic / ASEC)
- Eye adaptation
- Bullet physics
- Dear ImGui
Triton.sln and hit compile.
There are several samples available in the samples folder. Actually ... just the one.
ContentProcessor.exe in=<inputDir> out=<outputDir> processes the input folder as a package if it contains a
package.json file, it the package file is not present then it processes each sub directory that contains a package file. Currently only meshes and textures are processed. Collision meshes can be compiled as well but need to use ogre xml format
.col.xml or have their type changed manually in the
__cache.json file that gets created for the package.
Example: `ContentProcessor.exe in=..\Media out=..Data'
Supported content file formats
- Ogre mesh format
- FBX + Whatever Assimp supports, probably
Texture naming convention
_d=> diffuse map
_n=> normal map
- ContentProcessor - Front end executable for the content processor.
- Triton.Common - Virtual file system, resource manager, logging and more.
- Triton.Content - Contains all content compilers (ie meshes, textures and skeletons).
- Triton.Game - Game base system.
- Triton.Audio - Audio subsystem using ogg and OpenAL.
- Triton.Graphics - Contains the high level renderers and the core graphics backend class, the backend class can be used to feed the rendering thread with commands. There are also various utilities and resource loaders in here.
- Triton.Input - Input system
- Triton.Math - Math classes including Vector2, Vector3, Matrix4 and Quaternion.
- Triton.Physics - Simple wrapper for the JitterPhysics library.
- Triton.Renderer - Core renderer, manages all GL state and provides wrapper functions for all common functionality. This is the low level renderer implementation, use the rendering backend in
Triton.Graphicsto issue the actual commands as thread safety is not guaranteed by the core renderer.