Practical Rendering and Computation with Direct3D 11

Book description

This guide provides a deep understanding of both the high and low level concepts related to using Direct3D 11. The first half of the book presents a conceptual introduction to Direct3D 11, discussing the Direct3D 11 rendering and computation pipelines, how they map to the underlying hardware, and all of the major components of the library. The second half of the text includes detailed examples of how to use Direct3D 11 in common rendering scenarios. Source code and sample programs are available on a supplementary website.

Table of contents

  1. Preface
  2. What To Expect From This Book
  3. How This Book Is Organized
  4. Chapter 1. Overview of Direct3D
    1. 1.1 Direct3D Framework
    2. 1.2 Pipeline 4
    3. 1.3 Resources
    4. 1.4 Interfacing with Direct3D
    5. 1.5 Getting Started
  5. Chapter 2. Direct3D 11 Resources
    1. 2.1 Resources Overview
    2. 2.2 Resources in Detail
    3. 2.3 Resource Manipulations
  6. Chapter 3. The Rendering Pipeline
    1. 3.1 Pipeline State
    2. 3.2 Pipeline Execution
    3. 3.3 Input Assembler
    4. 3.4 Vertex Shader
    5. 3.5 Hull Shader
    6. 3.6 Tessellator
    7. 3.7 Domain Shader
    8. 3.8 Geometry Shader
    9. 3.9 Stream Output
    10. 3.10 Rasterizer
    11. 3.11 Pixel Shader
    12. 3.12 Output Merger
    13. 3.13 High-Level Pipeline Functions
  7. Chapter 4. The Tessellation Pipeline
    1. 4.1 Introduction
    2. 4.2 Tessellation and the Direct3D Pipeline
    3. 4.3 Parameters for Tessellation
    4. 4.4 Effects of Parameters
  8. Chapter 5. The Computation Pipeline
    1. 5.1 Introduction
    2. 5.2 DirectCompute Threading Model
    3. 5.3 DirectCompute Memory Model
    4. 5.4 Thread Synchronization
    5. 5.5 Algorithm Design
  9. Chapter 6. High Level Shading Language
    1. 6.1 Introduction
    2. 6.2 Usage Process
    3. 6.3 Language Basics
    4. 6.4 Constant Buffers
    5. 6.5 Resource Objects
    6. 6.6 Dynamic Shader Linkage
    7. 6.7 Intrinsic Functions
    8. 6.8 Shader Reflection
    9. 6.9 Using fxc.exe
  10. Chapter 7. Multithreaded Rendering
    1. 7.1 Introduction
    2. 7.2 Motivations for Multithreaded Rendering
    3. 7.3 Direct3D 11 Threading Model
    4. 7.4 Context Pipeline State Propagation
    5. 7.5 Potential Usage Scenarios
    6. 7.6 Practical Considerations and Tips
    7. 7.7 Conclusion
  11. Chapter 8. Mesh Rendering
    1. 8.1 Mesh Transformations
    2. 8.2 Vertex Skinning
    3. 8.3 Vertex Skinning with Displacement Mapping
  12. Chapter 9. Dynamic Tessellation
    1. 9.1 Terrain Tessellation
    2. 9.2 Higher-Order Surfaces
  13. Chapter 10. Image Processing
    1. 10.1 Image Processing Primer
    2. 10.2 Gaussian Filter
    3. 10.3 Bilateral Filter
  14. Chapter 11. Deferred Rendering
    1. 11.1 Overview
    2. 11.2 Classic Deferred Rendering
    3. 11.3 Light Pre-Pass Deferred Rendering
    4. 11.4 Optimizations
    5. 11.5 Anti-Aliasing
    6. 11.6 Transparency
  15. Chapter 12. Simulations
    1. 12.1 Water Simulation
    2. 12.2 Particle Systems
  16. Chapter 13. Multithreaded Paraboloid Mapping
    1. 13.1 Theory
    2. 13.2 Implementation Design
    3. 13.3 Multithreading Scenario
    4. 13.4 Conclusion
  17. Appendix A: Source Code
    1. The Hieroglyph 3 Engine
    2. Creating a New Direct3D 11 Project with Hieroglyph 3
    3. Source Code for This Book
  18. Appendix B: Direct3D 11 Queries
    1. Using Query Interfaces
    2. Predicated Rendering
  19. Appendix C: Tessellation Summary
    1. Summary of Tessellation Parameters
  20. Bibliography
  21. Index

Product information

  • Title: Practical Rendering and Computation with Direct3D 11
  • Author(s): Jason Zink, Matt Pettineo, Jack Hoxley
  • Release date: April 2016
  • Publisher(s): A K Peters/CRC Press
  • ISBN: 9781439869765