D3D12 Renderer

This renderer was a personal development project I underwent after doing a computer graphics subject in my second year at AIE, wanting to delve further into a more modern Graphics API than OpenGL. Something about DirectX 12 stuck in my head as the path I wanted to take (possibly due to peers already working in Vulkan, and a desire to follow my own path) and I was very much out of my depth!

The renderer worked, but was definitely nothing too interesting. Some major learning tidbits I took away from this was a new knowledge of data and binary blob management, a bit of multithreading knowledge with fences and gates, command chains and their structure, and overall just a lot of useful self reflection to not throw myself in the deep end without so much as a log to float on; I gained some wisdom to first try to understand what I was doing before brute forcing it in the name of setting myself apart from others.

I did end up using this to start on the basis of a game engine serving as the renderer, which I then used the knowledge gained to co-author Cauda Engine (which used a different renderer)!

You can view the renderer and engine on my github page.