Diamond Graphics Engine


Description
Feb 2018 - Apr 2018
This is a ongoing project made with C++ 11 and OpenGL 4.
​
It is a custom engine from the scratch made by myself.
​
The screenshot shows exponential shadow mapping(ESM) with SSAO on. Additionally, different shading models are applied to different objects.
​
The following are some of its features. Source is available at my GitHub, which you can teleport by click the GitHub button at the top-right corner.
​
- CRTP designed based Entity-Component reflection system.
​
- Multi-threading-ready component pool system.
​
- Scene Graph design based rendering pipeline.
​
- Real-time multi-threaded content loader.
​
- K-ary tree based Transformation system.
​
- Support for multiple render targets and multiple passes.
​
- Support for compute shader.
​
- Unity-like material and resource system.
​
- Run-time editor using AntTweakBar library,
​