DummyEngine
DummyEngine copied to clipboard
Small cross platform Vulkan/OpenGL 3d engine for personal experimentation
DummyEngine ![Build status](https://gitlab.com/sergcpp/DummyEngine/badges/master/pipeline.svg)
Small cross platform Vulkan/OpenGL 3d engine for personal experimentation.
- (Old) Video: https://youtu.be/ujMV9O58uqc
![](https://github.com/sergcpp/DummyEngine/raw/master/img9.jpg)
![](https://github.com/sergcpp/DummyEngine/raw/master/img7.jpg)
![](https://github.com/sergcpp/DummyEngine/raw/master/img8.jpg)
![](https://github.com/sergcpp/DummyEngine/raw/master/img2.jpg)
![](https://github.com/sergcpp/DummyEngine/raw/master/anim1.gif)
Links to used free 3d models: Bistro, People, Living Room, Wolf
Features
- Frame graph with semi-automatic barrier placement (inspired by https://www.slideshare.net/DICEStudio/framegraph-extensible-rendering-architecture-in-frostbite)
- Dynamic BVH as main scene structure (http://box2d.org/files/GDC2019/ErinCatto_DynamicBVH_GDC2019.pdf)
- Clustered forward renderer (inspired by http://www.humus.name/Articles/PracticalClusteredShading.pdf)
- Shadow map atlas with caching
- Screen space reflections and reflections from probes
- Occlusion culling based on software rasterization (implementation of https://software.intel.com/content/dam/develop/external/us/en/documents/masked-software-occlusion-culling.pdf)
- Pathtracer for global illumination baking and preview
- DXT and ASTC texture formats, compact binary mesh format
- Skinning using compute shader
- Works on Windows (GL, VK), Linux (GL, VK), MacOS (VK through MoltenVK), Android (GL)