intro-to-dx12
intro-to-dx12 copied to clipboard
Unofficial repo for Frank D. Luna's "Introduction to 3D Game Programming with DirectX 12".
Introduction to 3D Game Programming with DirectX 12 source code
Introduction
This is an unofficial fork of the sample code repo for Frank D. Luna's excellent book Introduction to 3D Game Programming with DirectX 12. No representation is made that the source code belongs to me, it's simply reproduced here for convenience (so you don't need to dig up the physical media of the book) and remains the copyright of Frank D. Luna.
Building
You'll need Visual Studio 2022 with the Desktop development with C++ and Game development with C++ Visual Studio workloads. Once you've satisfied these requirements, you should be able to open any of the included SLN files, build, and run the sample apps. Obviously, you also need to have a GPU that supports DirectX 12 for the samples to work correctly.
Changes
All projects have been updated to use Visual Studio 2022 and retargeted to the latest Windows SDK.
Considerations
If you're a novice looking to learn game development, this book and repo is probably not the best place to start, and you might be better off looking at resources for building games in Unreal Engine or Unity. This repo is mainly useful for professional and amateur game engine and graphics programmers wanting to learn how to work with DirectX 12. Needless to say, building a 3D game or rendering engine is a lot of hard work, and this book really only touches on the DX12 rendering aspect of such an engine, without touching on things like design, sound, gameplay, etc, so don't expect to master game development purely using this resource.
Additional resources
General
Guides and tutorials
- MSDN's Direct3D 12 Programming Guide
- Jeremiah van Oosten's DirectX 12 tutorial
- Braynzar Soft's DirectX 12 tutorials
Samples
- GPUOpen-LibrariesAndSDK's D3D12 sample
- Microsoft's DirectX graphics samples
- Microsoft's XBox ATG samples and GDK samples