Free Sample
+ Collection

Direct3D Rendering Cookbook

Justin Stenning

For C# .NET developers this is the ultimate cookbook for Direct3D rendering in PC games. Covering all the latest innovations, it teaches everything from debugging to character animation, supported throughout by illustrations and sample code.
RRP $32.99
RRP $54.99
Print + eBook

Want this title & more?

$12.99 p/month

Subscribe to PacktLib

Enjoy full and instant access to over 2000 books and videos – you’ll find everything you need to stay ahead of the curve and make sure you can always get the job done.

Book Details

ISBN 139781849697101
Paperback430 pages

About This Book

  • Learn and implement the advanced rendering techniques in Direct3D 11.2 and bring your 3D graphics project to life
  • Study the source code and digital assets with a small rendering framework and explore the features of Direct3D 11.2
  • A practical, example-driven, technical cookbook with numerous illustrations and example images to help demonstrate the techniques described

Who This Book Is For

Direct3D Rendering Cookbook is for C# .NET developers who want to learn the advanced rendering techniques made possible with DirectX 11.2. It is expected that the reader has at least a cursory knowledge of graphics programming, and although some knowledge of Direct3D 10+ is helpful, it is not necessary. An understanding of vector and matrix algebra is required.

Table of Contents

Chapter 1: Getting Started with Direct3D
Introducing Direct3D 11.1 and 11.2
Building a Direct3D 11 application with C# and SharpDX
Initializing a Direct3D 11.1/11.2 device and swap chain
Debugging your Direct3D application
Chapter 2: Rendering with Direct3D
Using the sample rendering framework
Creating device-dependent resources
Creating size-dependent resources
Creating a Direct3D renderer class
Rendering primitives
Applying multisample anti-aliasing
Implementing texture sampling
Chapter 3: Rendering Meshes
Rendering a cube and sphere
Preparing the vertex and constant buffers for materials and lighting
Adding material and lighting
Using a right-handed coordinate system
Loading a static mesh from a file
Chapter 4: Animating Meshes with Vertex Skinning
Preparing the vertex shader and buffers for vertex skinning
Loading bones in the mesh renderer
Animating bones
Chapter 5: Applying Hardware Tessellation
Preparing the vertex shader and buffers for tessellation
Tessellating a triangle and quad
Tessellating bicubic Bezier surfaces
Refining meshes with Phong tessellation
Optimizing tessellation through back-face culling and dynamic Level-of-Detail
Chapter 6: Adding Surface Detail with Normal and Displacement Mapping
Referencing multiple textures in a material
Adding surface detail with normal mapping
Adding surface detail with displacement mapping
Implementing displacement decals
Optimizing tessellation based on displacement decal (displacement adaptive tessellation)
Chapter 7: Performing Image Processing Techniques
Running a compute shader – desaturation (grayscale)
Adjusting the contrast and brightness
Implementing box blur using separable convolution filters
Implementing a Gaussian blur filter
Detecting edges with the Sobel edge-detection filter
Calculating an image's luminance histogram
Chapter 8: Incorporating Physics and Simulations
Using a physics engine
Simulating ocean waves
Rendering particles
Chapter 9: Rendering on Multiple Threads and Deferred Contexts
Benchmarking multithreaded rendering
Implementing multithreaded dynamic cubic environment mapping
Implementing dual paraboloid environment mapping
Chapter 10: Implementing Deferred Rendering
Filling the G-Buffer
Implementing a screen-aligned quad renderer
Reading the G-Buffer
Adding multiple lights
Incorporating multisample anti-aliasing
Chapter 11: Integrating Direct3D with XAML and Windows 8.1
Preparing the swap chain for a Windows Store app
Rendering to a CoreWindow
Rendering to an XAML SwapChainPanel
Loading and compiling resources asynchronously

What You Will Learn

  • Set up a Direct3D application and perform real-time 3D rendering with C# and SharpDX
  • Learn techniques for debugging your Direct3D application
  • Render a 3D environment with lights, shapes, and materials
  • Explore character animation using bones and vertex skinning
  • Create additional surface detail using tessellation with displacement mapping and displacement decals
  • Implement image post-processing tasks within compute shaders
  • Use real-time deferred rendering techniques to implement improved shading for lighting and shadows
  • Learn to Program the graphics pipeline with shaders using HLSL implemented by Shader Model 5

In Detail

The latest 3D graphics cards bring us amazing visuals in the latest games, from Indie to AAA titles. This is made possible on Microsoft® platforms including PC, Xbox consoles, and mobile devices thanks to Direct3D – a component of the DirectX API dedicated to exposing 3D graphics hardware to programmers. Microsoft DirectX is the graphics technology powering all of today's hottest games. The latest version— DirectX 11—features tessellation for film-like geometric detail, compute shaders for custom graphics effects, and improved multithreading for better hardware utilization. With it comes a number of fundamental game changing improvements to the way in which we render 3D graphics.

Direct3D Rendering Cookbook provides detailed .NET examples covering a wide range of advanced 3D rendering techniques available in Direct3D 11.2. With this book, you will learn how to use the new Visual Studio 2012 graphics content pipeline, how to perform character animation, how to use advanced hardware tessellation techniques, how to implement displacement mapping, perform image post-processing, and how to use compute shaders for general-purpose computing on GPUs.

After covering a few introductory topics about Direct3D 11.2 and working with the API using C# and SharpDX, we quickly ramp up to the implementation of a range of advanced rendering techniques, building upon the projects we create and the skills we learn in each subsequent chapter. Topics covered include using the new Visual Studio 2012 graphics content pipeline and graphics debugger, texture sampling, normal mapping, lighting and materials, loading meshes, character animation (vertex skinning), hardware tessellation, displacement mapping, using compute shaders for post-process effects, deferred rendering, and finally bringing all of this to Windows Store Apps for PC and mobile. After completing the recipes within Direct3D Rendering Cookbook, you will have an in-depth understanding of a range of advanced Direct3D rendering topics.


Read More