50 practical recipes to guide you through the advanced rendering techniques in Direct3D to help bring your 3D graphics project to lifeAbout This BookLearn and implement the advanced rendering techniques in Direct3D 11.2 and bring your 3D graphics project to lifeStudy the source code and digital assets with a small rendering framework and explore the features of Direct3D 11.2A practical, example-driven, technical cookbook with numerous illustrations and example images to help demonstrate the techniques describedWho This Book Is ForDirect3D 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.
What You Will LearnSet up a Direct3D application and perform real-time 3D rendering with C# and SharpDXLearn techniques for debugging your Direct3D applicationRender a 3D environment with lights, shapes, and materialsExplore character animation using bones and vertex skinningCreate additional surface detail using tessellation with displacement mapping and displacement decalsImplement image post-processing tasks within compute shadersUse real-time deferred rendering techniques to implement improved shading for lighting and shadowsLearn to Program the graphics pipeline with shaders using HLSL implemented by Shader Model 5In DetailThe 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.
This book is a practical guide which introduces DirectX 11.x technology in order to develop Win32 and Win Store applications. This book is good reference for those programmers who want to start developing DirectX applications using C# and SharpDX (SharpDX is an open-source project delivering the full DirectX API under the .Net). As prerequisite, the reader has at least the basic knowledge of C# programming along with a cursory knowledge of Direct3D 10 or the newer versions. However an understanding of basic vector and matrix algebra is required. This book consists of eleven chapters:
Chapter one, Getting Started with Direct3D, covers an introduction to building and debugging the first Direct3D application using C# and SharpDX.
Chapter two, Rendering with Direct3D, covers how to render primitives and how to apply multi-sample Anti-Aliasing. Also explains texture sampling.
Chapter three, Rendering Meshes, covers how to render a cube and sphere using buffers in Direct3D and how to adding light and material to them. Final section of this chapter explains how to load a static mesh from a file.
Chapter four, Animating Meshes with Vertex Skinning, covers how a bone structure can be used in order to animating the vertices, also explains how to interact with compiled mesh object (CMO) files.
Chapter five, Applying Hardware Tessellation, introduces tessellation and also learns how to optimizing tessellation through back-face culling and Level-of-Detail.
Chapter six, Adding Surface Detail with Normal and Displacement Mapping, this chapter covers normal and displacement mapping, also learns how to implement displacement decals and displacement adaptive tessellation.
Chapter seven, Performing Image Processing Techniques, outlines the post processing techniques such as Box blur, Gaussian blur, Sobel edge-detection filter and image’s luminance histogram using Compute Shader (DirectCompute).
Chapter eight, Incorporating Physics and Simulations, covers how to support simulation of physics, ocean waves in the scene. at the final section of this chapter you will learn how to implement a simple particle system on the GPU.
Chapter nine, Rendering on Multiple Threads and Deferred Contexts, explains how to use multi-threaded rendering in order to implement dynamic cubic environment mapping and dual paraboloid environment mapping.
Chapter eleven, Integrating Direct3D with XAML and Windows 8.1, helps you to understand how to compose XAML and Direct3D. And the final section of this book demonstrates loading and compiling resources asynchronously.
THE LAST WORDS:
This is a good book with 413 pages and provides a lot of advanced 3D rendering techniques. Although the Direct2D is missing but it is a good start point for .Net developers who want to learn 3D game programming.