Direct3D 11 offers such a wealth of capabilities that users can sometimes get lost in the details of specific APIs and their implementation. While there is a great deal of low-level information available about how each API function should be used, there is little documentation that shows how best to leverage these capabilities. Written by active members of the Direct3D community, Practical Rendering and Computation with Direct3D 11 provides a deep understanding of both the high and low level concepts related to using Direct3D 11.
The first part of the book presents a conceptual introduction to Direct3D 11, including an overview of the Direct3D 11 rendering and computation pipelines and how they map to the underlying hardware. It also provides a detailed look at all of the major components of the library, covering resources, pipeline details, and multithreaded rendering. Building upon this material, the second part of the text includes detailed examples of how to use Direct3D 11 in common rendering scenarios. The authors describe sample algorithms in-depth and discuss how the features of Direct3D 11 can be used to your advantage.
All of the source code from the book is accessible on an actively maintained open source rendering framework. The sample applications and the framework itself can be downloaded from http://hieroglyph3.codeplex.com
By analyzing when to use various tools and the tradeoffs between different implementations, this book helps you understand the best way to accomplish a given task and thereby fully leverage the potential capabilities of Direct3D 11.
Overview of Direct3D 11
Interfacing with Direct3D
Direct3D 11 Resources
Resources in Detail
The Rendering Pipeline
High-Level Pipeline Functions
The Tessellation Pipeline
Tessellation and the Direct3D Pipeline
Parameters for Tessellation
Effects of Parameters
The Computation Pipeline
DirectCompute Threading Model
DirectCompute Memory Model
High Level Shading Language
Dynamic Shader Linkage
Motivations for Multithreaded Rendering
Direct3D 11 Threading Model
Context Pipeline State Propagation
Potential Usage Scenarios
Practical Considerations and Tips
Vertex Skinning with Displacement Mapping
Image Processing Primer
Classic Deferred Rendering
Light Pre-Pass Deferred Rendering
Multithreaded Paraboloid Rendering
Appendix A: Source Code
Appendix B: Direct3D 11 Queries
Appendix C: Tessellation Summary
Practical Rendering and Computation with Direct3D 11 packs in documentation and in-depth coverage of basic and high-level concepts related to using Direct 3D 11 and is a top pick for any serious programming collection. … perfect for a wide range of users. Any interested in computation and multicore models will find this packed with examples and technical applications.
—Midwest Book Review, October 2011
The authors have generously provided us with an optimal blend of concepts and philosophy, illustrative figures to clarify the more difficult points, and source code fragments to make the ideas concrete. Of particular interest is the chapter on multithreaded rendering, a topic that is essential in a multicore world. Later chapters include many examples such as skinning and displacement, dynamic tessellation, image processing (to illustrate DirectCompute), deferred rendering, physics simulations, and multithreaded paraboloid mapping. As if all this is not enough, the authors have made available their source code, called Hieroglyph 3. Books do not get any better than this!
—David Eberly, Geometric Tools