About Coral Engine
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



Karolina
Motužytė
Graphics programmer
Hi! I am Karolina. I am a C++ programmer that specializes in DX12 graphics, which I study at Breda University of Applied Sciences. Currently I am looking for an internship for 2025 September.
Here you will be able to see my work, both in custom engines and UE5 :)
.png)




.png)
