top of page

Karolina Motužytė

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.

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

During the last 2 months, my team and I worked on creating a top-down action game using our engine. This decided a lot of the post-processing passes we needed to add, like outlines, LUTs and SSAO. It also meant we needed to add an orthographic camera to the engine, alongside with the perspective camera we already had.

 

To see all the features in action you can play our game for free on Itch.io

Lichgate - a game created with Coral Engine

Light clustering is a method we used to be able to render tens of thousands of dynamic point lights.

How it works:

  • Compute shaders split the frustum into clusters (see image below).

  • Using a depth pre-pass, inactive clusters are culled

  • Compute shaders assign point lights to each box.

Viewing frustum split into clusters

Shading passes

Implemented post-processing effects:

  • HDR

  • Exposure tweaking

  • LUTs

  • Outlines

  • Screen-Space Ambient Occlusion


 

Picture2.png

Post processing

This pass is split into opaque and transparent passes.

 

What goes into the shading passes:

  • PBR

  • PCF shadows form one directional light

  • Fog calculations

Lighting optimizations (Clustered shading)

2aeMZRM.gif

Karolina
Motužytė

Hi! I am Karolina. I am a C++ programmer that specializes in DX12 graphics, which I study at Breda University of Applied Sciences. 

Here you will be able to see my work, both in custom engines and UE5 :)

Check out my work!

Rendering a frame in Coral Engine

bottom of page