This is my LRNEngine(LeaRNEngine) that I created in order to learn Compute Graphics and Rendering techniques as a part of my Dragons Lake Render Internship. The engine uses the DirectX11 graphics API.
Everything already comes with the engine.
DirectX11assimpDirectXTexDirectXMathspdlogimgui
Download Repo with all the submodules.
git clone https://github.com/Adeon18/LRNEngine.git --recurse-submodulesYou can manually connect assimp to be built with the engine, or(recommended) install assimp via vcpkg.
And you're done!
The engine implements the following rendering techniques:
- Camera, use
LMBto rotate it andWASD,SpaceLeft Ctrlto move - Object dragging -
RMBon model to drag it along the plane, parallel to camera - Instanced Rendering
- Tesselation
- Model loading via
assimp - Debug normal and vireframe visualization via Geometry Shader
- Directional Lights, Point Lights
- Flashlight - press
Fto attach/deattach - HDR and Aces Tonemapping
- PBR and IBL(Cubemaps are precomputed, to compute them yourself enable
BAKE_CUBEMAPSininclude/config.hpp - NVidia FXAA 3.11
- Deferred Rendering
- Physically Based Bloom
- Decals that attach to models, press
Gto cast a decal at mouse pointer - Model Spawn, press
Nto spawn a model in front of camera - CPU particles, press
Hto spawn a smoke emitter that can be dragged with a mouse - Model Destruction with GPU particles with lighting and screen space collision, press
Delto destroy a model - Imgui menu that can help dynamically configure a lot of the graphics and logic
- Logging with the help of a
spdloglibrary


