An attempt to develop game engine using OpenGL 4.5
Work done so far:
- Scene serialization using compile time reflection from RTTR library.
- Reversed Z Depth (to increase depth buffer accuracy), ability to create infinite zFar projection.
- Encoded Normals stored in RG16F in G-Buffer.
- Small G-Buffer (104 bits per pixel).
- Color R8G8B8A8 (A8 unused but needed to bind as an image to compute shader).
- Normals R16G16.
- Roughness and metalness R8G8.
- Depth texture 24b.
- PBR.
- IBL.
- Light Probes (work in progress).
- Parallax occlusion mapping.
- Tile-based light culling using compute shader.
- Tile-based deferred lighting using compute shader.
- Skyboxes.
- Bloom (in the Call of Duty: Advanced Warfare way).
- Camera movement Motion Blur.
- Tone Mapping (ACES filmic curve) with Eye Adaptation.
- FXAA.
- SSAO.
- Ability to load compressed textures in BCn compressed formats. Textures are compressed offline before running the engine.
- SSBOs to transfer and hold data.
Thirdparty:
- glm
- gli
- GLFW
- glad
- assimp
- json
- spdlog
- stb_image
Compilation: Compile by using CMake.