Graphics Programming Starter Code

This is the code base I use as starter code for my graphics programming courses. It contains custom code for window creation, OS message handling, graphics API initialization and a game loop, as well as a simple mouse/keyboard input library.

Originally inspired by Frank Luna’s codebase, as well as the XNA framework, this project was rewritten from scratch in the summer of 2024 to be easier to understand and easier to upgrade to other graphics APIs. After creating the D3D11 version, I upgraded a copy to D3D12, backporting any changes into the 11 version. I then did the same with Vulkan, resulting in three projects with different graphics APIs all using the same initial code base.

D3D11 Starter Code on GitHub

D3D12 version coming soon

Vulkan version coming soon