Introduction to 3D Game Programming with Direct3D 12.0
This page contains some general information about the book Introduction to 3D Game Programming with DirectX 12.0 (Second Edition), published by Mercury Learning and Information, that will help you decide if this book is for you.
Supplement Files:
Source Code
Appendix D Selected Solutions
All solutions for Chapter 1.
Quick Navigation
- Summary
- Intended Audience
- Prerequisites
- Required Development Tools and Recommended Hardware
- Brief Table of Contents
- Chapter Descriptions
Summary
The second edition is similar to the first, but all the demos have been rewritten to use bindless texturing from the start. In addition, four new chapters have been added to cover terrain rendering, GPU particle systems, mesh shaders, and ray tracing.
Intended Audience
This book was designed with the following three audiences in mind:
- Intermediate level C++ programmers who would like an introduction to 3D programming using the latest iteration of Direct3D.
- 3D programmers experienced with an API other than DirectX (e.g., OpenGL) who would like an introduction to Direct3D 12.
- Experienced Direct3D programmers wishing to learn the latest iteration of Direct3D.
Prerequisites
It should be emphasized that this is an introduction to Direct3D 12, shader programming, and game programming; it is not an introduction to general computer programming. The reader should satisfy the following prerequisites:
- High School mathematics: algebra, trigonometry, and (mathematical) functions, for example.
- Competent with Visual Studio: should know how to create projects, add files, and specify external libraries to link, for example.
- Intermediate C++ and data structure skills: comfortable with pointers, arrays, operator overloading, linked lists, inheritance and polymorphism, for example.
- Familiarity with Windows programming with the Win32 API is helpful, but not required; we provide a Win32 primer in Appendix A.
Required Development Tools and Recommended Hardware
The following are needed to program Direct3D 12 applications:
- Windows 10 or later.
- Visual Studio 2022 or later.
- A graphics card that supports ray tracing and mesh shaders in Direct3D 12. The demos in this book were tested on an NVIDIA GeForce RTX 3070 and RTX 2060.
Brief Table of Contents
- Introduction
- Part I Mathematical Prerequisites
- Chapter 1 Vector Algebra
- Chapter 2 Matrix Algebra
- Chapter 3 Transformations
- Part II Direct3D Foundations
- Chapter 4 Direct3D Initialization
- Chapter 5 The Rendering Pipeline
- Chapter 6 Drawing in Direct3D
- Chapter 7 Drawing in Direct3D Part II
- Chapter 8 Lighting
- Chapter 9 Texturing
- Chapter 10 Blending
- Chapter 11 Stenciling
- Chapter 12 The Geometry Shader
- Chapter 13 The Compute Shader
- Chapter 14 The Tessellation Stages
- Part III Topics
- Chapter 15 Building a First Person Camera
- Chapter 16 Instancing and Frustum Culling
- Chapter 17 Picking
- Chapter 18 Cube Mapping
- Chapter 19 Normal Mapping
- Chapter 20 Shadow Mapping
- Chapter 21 Ambient Occlusion
- Chapter 22 Quaternions
- Chapter 23 Character Animation
- Chapter 24 Terrain Rendering
- Chapter 25 Particle Systems
- Chapter 26 Amplification and Mesh Shaders
- Chapter 27 Ray Tracing
- Appendix A Introduction to Windows Programming
- Appendix B High Level Shader Language Reference
- Appendix C Some Analytic Geometry
- Appendix D Selected Solutions