A curated list designed to aggregate some awesome resources on learning how to use the Direct3D 11 graphics API. I created this list due to not being able to easily find as much information for programming with Direct3D 11 as I could for OpenGL or Vulkan.
- Microsoft: Module 1. Your First Windows Program
- Joseph Whittington: Basic DirectX 11 tutorial, Visual Studio 2019, Win32 Window API Tutorial see Notes 1, 2 and 32.
- Aerideus: Creating a Window using C++ and Win32 | Tutorial see Note 33.
- PardCode: C++ OpenGL 3D Game Tutorial 1, Making the Window with the Win32 API see Note 44.
- SkyVaultGames: Create a Window for your own DirectX Game Engine! | Beginner DirectX Tutorial Part 1 see Notes 23 and 26.
- Chris Rose: Direct3D Succintly, 2014 see Note 9
- Frank Luna: Introduction to 3D Game Programming with DirectX 11, 2012 see Note 10.
- Paul Varcholik: Real-Time 3D Rendering with DirectX 11 and HLSL: A Practical Guide to Graphics Programming (Game Design), 2014 see Note 11.
- Jason Zink and Matt Pettineo: Practical Rendering and Computation with Direct3D 11, 2011 see Note 12.
- Doron Feinstein: HLSL Development Cookbook, Implement Stunning 3D Rendering Techniques Using the Power of HLSL and DirectX 11 see Notes 13 and 34.
- Justin Stenning: Direct3D Rendering Cookbook see Note 38.
- Pooya Elimandar: DirectX 11.1 Game Programming see Note 39.
- Alexander Osou: Terrain Rendering mit Hardware Tessellation unter DirectX 11: Effiziente Visualisierung von Landschaften in Videospielen und Simulatoren (German Edition) see Note 40.
- Tomas Akenine-Möller, Eric Haines, Naty Hoffman - Real-Time Rendering, 3rd Edition see Note 45.
- Udemy, Ole Holthe: DirectX 11 Programming see Note 14.
- walbourn: directx-sdk-samples see Notes 42 and 43.
- ImGui: Win32 setup see Note 15.
- Joseph Whittington: Basic DirectX 11 tutorial, Visual Studio 2019, Win32 Window API Codebase see Note 16.
- brainexcerpts: Dxerr
- Matt77hias: RasterTek see Note 31.
- jjuiddong: Introduction-to-3D-Game-Programming-With-DirectX-11 see Note 17.
- matt77hias: D3D11-Projects
- Microsoft: DirectX-Graphics-Samples
- kevinmoran: BeginnerDirect3D11
- Windows dev docs: Understand D3D11 concepts
- tgjones: HLSL tools extension
- yashihei: DX11Project
- resly-l: DX11Engine
- Microsoft: DirectXMath
- Microsoft: DirectXMesh
- Microsoft: DirectXTex
- Microsoft: DirectXTK
- Microsoft: DXUT
- Microsoft: FX11
- Microsoft: Direct3D 11.3 Functional Specs
- Microsoft: DirectX-Specs
- Microsoft/Balaz: Visual Studio 2015 and Graphics Tools for Windows 10
- Chuck Walbourn: Legacy D3DX on NuGet
- Chuck Walbourn: Where is the DirectX SDK (2021 edition)?
- Game Development Stack Exchange: How to properly handle errors in a D3D11 framework?
- Game Development Stack Exchange: IDXGIFactory::CreateSwapChain() vs D3D11CreateDeviceAndSwapChain() - When to use which for making a swap chain?
- Stack Overflow: Rastertek DirectX11 Tutorials on Windows 10
- Chuck Walbourn: Book Recommendations
- Microsoft/van Bryn, DirectX Developer Blog: Useful Links see Note 36.
- Rodolphe Vaillant: Getting started with DirectX 11 see Note 0.
- graphicsprogramming.org/resources
- About-prog: DirectX 11 Initialization, First Triangle see Notes 1 and 3.
- RasterTek - DirectX 11 on Windows 10 tutorials see Note 4 and 35.
- BraynzarSoft - DirectX 11 Tutorials see Note 5.
- 3dgep: Introduction to DirectX 11
- 3dgep: Texturing and Lighting in DirectX 11
- 3dgep: Forward vs Deferred vs Forward+ Rendering with DirectX 11 see Note 6.
- TutorialsPoint: DirectX see Note 7.
- Microsoft: D3D11 Programming Guide
- Microsoft: D3D11 API Reference
- Microsoft: Create a simple Universal Windows Program (UWP) game with DirectX
- Anton Gerdelan: Hello Triangle, D3D11 Up and Running
- LearnD3D11 see Note 45.
- DirectXTutorials see Note 46.
- Avoyd: RCC++ ImGui and DirectX 11 Tutorial
- ChiliTomatoNoodle: C++ 3D DirectX Tutorial see Note 22.
- daivuk: C++ / DirectX 11 Tutorials see Note 23, 24 and 26.
- Hilze Vonck: Deferred Rendering / Shading Tutorial DirectX11
- iGunSlingeRv2: C++ DirectX 11 Tutorial see Note 35.
- Jpres: C++ DirectX 11 Engine Tutorial see Note 25.
- Matt Guerrette: DirectX 11 Tutorial Series see Note 23 and 26.
- PardCode: C++ 3D Game Tutorial Series see Notes 28 to 30.
- Samuli Natri: DirectX 11 tutorials
- Oskar Schramm: 5 Steps To Start Learning DirectX 11
- Coding Labs: DirectCompute Tutorial see Notes 1 and 5
- Microsoft: Compute Shader Specifications
- Microsoft: How to Create a Compute Shader
- Rodolphe Vaillant. This article is where most of the links came from.
- Requires the obsolete DirectX SDK.
- Pretty bad.
- Doesn't cover windowing or any full code samples, it's just a guide on how to use the Direct3D 11 API.
- RasterTek. Deals with a lot of stuff very relevant to game development, but the code is hideous. Previously required the obsolete DirectX SDK, but it has recently been updated to remove that requirement and upgrade the project to Visual Studio 2022.
- Uses Visual Studio 2010.
- Includes code samples throughout, though not the complete source code at the end.
- You should probably avoid this one. An unstructured heap of random DirectX documentation without any samples or examples.
- NVIDIA GameWorks. They have explanations, but I haven't found the source code yet.
- Chris Rose. Free ebook. Requires Visual Studio 2012 in order to follow with minimum hassle. The ebook can either be downloaded or read online.
- Frank D. Luna. Highest price: $49.99 paperback. Quite old, code may not work on modern systems like Windows 10/11 or Visual Studio 2019/2022. It also requires the obsolete effects framework, however a more up-to-date version of the code is available at the author's website.
- Paul Varcholik. Highest price: $179.32 paperback. Also relies on outdated tools and doesn't show the entire code of each sample, however the companion site provides code samples updated to support Visual Studio 2022.
- Jason Zink and Matt Pettineo. Highest price: $170.00 hardcover.
- Doron Feinstein. Highest price: $54.99 paperback.
- Ole Holthe. Highest price: $39.99. Outdated, uses Visual Studio 2010 but also contains a chapter for converting to Visual Studio 2012.
- Example implementation of ImGui into a Win32 DirectX 11 application.
- Joseph Whittington. Archive of the repository for his tutorial.
- Uses Visual Studio 2015.
- Documentation in the Readme.docx file.
- Uses Visual Studio 2019.
- Should work with Visual Studio 2022 if you don't retarget it.
- Avoyd. Tutorial series on setting up runtime-compiled-C++ to use ImGui with DirectX 11.
- ChiliTomatoNoodle. Focuses a lot more on the explanation but does some coding as well. Warning that tons of the code was written intentionally before recording, an example of which being episode 4 "Window Messages".
- Seemingly abandoned.
- daivuk. The way daivuk does things is rather simplistic, so I doubt you would learn anything crazy advanced from his series.
- Jpres. Uses the DirectXTK (DirectX Toolkit.)
- Incomplete series.
- Seemingly incomplete series.
- Uses Visual Studio 2017.
- Works with Visual Studio 2022.
- PardCode. Warning that some of the code was written accidentally before recording, an example of which being on episode 5 "Drawing a Triangle".
- Matt77hias. Port of the old RasterTek DirectX 11 tutorials for Visual Studio 2017.
- Used the Internet Archive Wayback Machine to get this page back because it's no longer available. If this is an archive of a GitHub link, don't bother trying to clone it.
- Not intended to be a DirectX 11 tutorial, but Aerideus briefly mentions DirectX near the start. Their explanation of deleting the copy constructor and equals operator can help you towards understanding why ChiliTomatoNoodle does the same thing in his episode 6 "Window Framework".
- Doron Feinstein. Highest price: $54.99 paperback. Most cost-effective book I have about DirectX 11, but it has mixed reviews due to its sometimes worthless techniques presented and lack of proofreading.
- Uses pretty bad coding practices, such as "using namespace abc;" at the top of files.
- The links here are more geared towards Direct3D 12 developers, but they could probably provide value to Direct3D 11 developers as well.
- Justin Stenning. Highest price: $62.99 paperback.
- Pooya Elimandar. Highest price: $39.99 paperback.
- David H. Eberly. Highest price: $143.53 hardcover.
- Alexander Osou. In German. Highest price: $60.49 paperback.
- DirectX SDK Samples. Go into Direct3D11Tutorials to find the tutorials.
- DirectX SDK Samples. Go into BasicCompute11 to find a basic example of compute shaders.
- PardCode. This tutorial series isn't for DirectX, it's for OpenGL, but this episode in particular doesn't deal with OpenGL in any way. It can be thought of as a refactored version of PardCode's DirectX tutorial.
- Tomas Akenine-Möller, Eric Haines, Naty Hoffman. Highest price: $12.68 hardcover. Doesn't cover DirectX 11 in particular, it's more about computer graphics in general, but apparently it does use D3D11.
- Creators thought it would be a good idea to use GLFW for some reason.
- Has tutorials geared towards Direct3D 11/11.1/11.2 as well as Direct3D 9. The most useful stuff (e.g. textures, meshes, display, input etc) is locked behind a $50 payment, but there are free resources as well.
If there is an issue with this repository, something that needs citations or just want to suggest another Direct3D11 resource to add here, please consider opening an issue! I hope this helps you as much as it'll help me in the future.