In the previous chapters you have been working on a 2D game, and DirectXTK hides away a lot of the complexity of making a 2D game in a 3D world. Most big-budget modern games make use of 3D instead of 2D for most of the action, to create immersive experiences that in many cases try to look as realistic as possible.
3D itself is not much more complicated than working in 2D; however, because we're working with Direct3D directly now, there is some extra complexity and concepts that you need to learn to understand how everything fits together.
In this appendix we're going to take a crash course in 3D rendering by looking at the different concepts involved, from vertices to shaders, and how they all fit together to put a 3D object on the screen.
We will cover the following topics:
Vertices and triangles
Indices
3D cameras
DirectXMath
Buffers
Shaders (vertex and pixel)
Input layouts
Drawing the model
If you've skipped back to this section and aren't familiar with the Direct3D pipeline and how to set it up, be sure to go back and read Chapter 1, Getting Started with Direct3D, before you continue.