Custom Engine - Coral Engine
- Karolina Motužytė
- Jul 1
- 1 min read
Updated: Jul 2
About Coral
I worked on this custom engine as a C++ and DX12 graphics programmer for 4 months. Some features I implemented are:
Instancing
Lighting optimizations
Directional shadows
PBR
Post processing passes
UI
The GitHub repo can be found here.
Rendering a frame in Coral Engine
I presented this project in the Graphics Programming Conference in 2024.
During this talk I explained what goes into rendering a frame using Coral Engine's renderer, as well as shortly explained some of the optimization techniques we used.
The video can be found here. Coral Engine presentation starts at 25:47
Lichgate - a game created with Coral Engine
Developed a top-down action game over the last 2 months using our custom engine.
Added post-processing features like outlines, LUTs, and SSAO to match the game's style.
Implemented an orthographic camera alongside the existing perspective camera.
Game is available to play for free on Itch.io!
Lighting optimizations (Clustered shading)

Challenge: Needed to render tens of thousands of dynamic point lights efficiently.
Solution: Implemented light clustering to manage performance.
Approach:
Compute shaders divide the camera frustum into 3D clusters.
A depth pre-pass is used to cull inactive (empty) clusters.
Compute shaders then assign relevant point lights to each active cluster
Shading passes
Problem: VFX particles required transparency, which our existing opaque-only pass couldn't handle.
Solution: Added a dedicated transparent pass alongside the opaque pass.
Shading passes now include:
Physically Based Rendering (PBR)
PCF shadows from a single directional light
Fog calculations
Post processing

Implemented post-processing effects:
HDR
Exposure tweaking
LUTs
Outlines
Screen-Space Ambient Occlusion


.png)




.png)

Comments