OVERVIEW
Lunatic Engine is a real-time renderer that I created with a Vulkan backend to experiment and familiarize myself with modern rendering techniques. It features a PBR system based on Cook-Torrance BRDF, cascaded shadow maps, indirect lighting with reflective shadow maps, temporal anti-aliasing, screen-space ambient occlusion, and deferred rendering.
It is GPU-driven, minimizing interactions between the CPU and GPU by utilizing indirect draws with bindless vertex buffers and textures, and performs frustum culling on meshes through a compute shader.
I wanted to try linking the engine with other programs, so I created an Unreal Engine-to-Lunatic Engine (UE2LE) pipeline by having Unreal read my engine's DLL and stream mesh data to it, including vertex info, actor transforms, and textures for each mesh section. This way, I'm able to use UE as a level editor similar to how some studios with an in-house engine use DCCs such as Maya as one.