Introduction to 3D Game Programming with DirectX 12
- 12h 6m
- Frank D. Luna
- Mercury Learning
- 2016
This updated bestseller provides an introduction to programming interactive computer graphics, with an emphasis on game development using DirectX 12. The book is divided into three main parts: basic mathematical tools, fundamental tasks in Direct3D, and techniques and special effects. It shows how to use new Direct12 features such as command lists, pipeline state objects, descriptor heaps and tables, and explicit resource management to reduce CPU overhead and increase scalability across multiple CPU cores. The book covers modern special effects and techniques such as hardware tessellation, writing compute shaders, ambient occlusion, reflections, normal and displacement mapping, shadow rendering, and character animation.
FEATURES:
- Provides an introduction to programming interactive computer graphics, with an emphasis on game development using DirectX 12
- Uses new Direct3D 12 features to reduce CPU overhead and take advantage of multiple CPU cores
- Contains detailed explanations of popular real-time game effects
- Learn advance rendering techniques such as ambient occlusion, real-time reflections, normal and displacement mapping, shadow rendering, programming the geometry shader, and character animation
- Covers a mathematics review and 3D rendering fundamentals such as lighting, texturing, blending and stenciling
- Use the end-of-chapter exercises to test understanding and provide experience with DirectX 12
About the Author
Frank Luna has been programming interactive 3D graphics with DirectX for more than fifteen years. He is the author of three bestselling books on DirectX and has worked in 3D medical visualization, 3D architectural design software, and gaming. He holds a BS in mathematics from the University of California, Irvine.
In this Book
-
Vector Algebra
-
Matrix Algebra
-
Transformations
-
Direct3D Initialization
-
The Rendering Pipeline
-
Drawing in Direct3D
-
Drawing in Direct3D Part II
-
Lighting
-
Texturing
-
Blending
-
Stenciling
-
The Geometry Shader
-
The Compute Shader
-
The Tessellation Stages
-
Building a First Person Camera and Dynamic Indexing
-
Instancing and Frustum Culling
-
Picking
-
Cube Mapping
-
Normal Mapping
-
Shadow Mapping
-
Ambient Occlusion
-
Quaternions
-
Character Animation