
Joel Danzer
This is a side project I've worked on for a while now. It is a custom made game engine made in DirectX12 API using C++ where I implement features that I find cool or interesting.
This page is about showing all the different tech that I have worked on.
You can find my project and all its contents in the Github link if you are interested in checking it out the more technical stuff of the engine.
Language Used:
C++, HLSL & D3D12
About this project
Deferred Rendering
Deferred rendering was a fun and complex problem to solve in DirectX12 as the way you keep track and handle data between the CPU & GPU is very different compared to the older DirectX11 version.
This task was a lot of trial and error but with enough debugging and researching I managed to achieve a system that the whole rendering pipeline is built around that works extremely well.




Shadow Mapping
Demenstration of how the Directional Light Shadow mapping looks in different angles and color in the world (1 - 5) as well as how it looks in the debug view.
Not perfect and definetly needs much more work to smooth out the texture, fixing peter-panning & artifacts.



Debug view of the Shadow map

Custom Rendering
Custom rendering is my own version of rendering custom effects on specific objects in the world by applying a specific component that holds the rendering information like what shaders & textures to use, what type of buffers (data that is sent to the GPU) to use etc.
For this example I decided on doing a simple water shader that can do edge detection with the help of depth.
In the future I want to showcase more examples of what is possible with it as I am very happy with how it turned out.
Water Shader:
For the water effect itself I used 3 different noise textures, one for the movement of the vertex plane and the other 2 are for mimicking the look of water by overlapping two different normal noise maps in different directions.
World Interaction:
Custom Rendering also allows us to do world interactions in shaders like doing depth checks to draw water foam on colliding world objects.
SSAO
SSAO is a feature I wanted to add as soon as possible as the difference in how a game looks is huge when having this rendering method.
Demonstration on how SSAO affects the image in different location and angles.
Compares different spots with SSAO on & off:




SSAO debug view:
