Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Save more on your purchases! discount-offer-chevron-icon
Savings automatically calculated. No voucher code required.
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Direct3D Rendering Cookbook

You're reading from   Direct3D Rendering Cookbook 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.

Arrow left icon
Product type Paperback
Published in Jan 2014
Publisher
ISBN-13 9781849697101
Length 430 pages
Edition Edition
Languages
Tools
Arrow right icon
Author (1):
Arrow left icon
Justin Stenning Justin Stenning
Author Profile Icon Justin Stenning
Justin Stenning
Arrow right icon
View More author details
Toc

Table of Contents (19) Chapters Close

Direct3D Rendering Cookbook
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
1. Getting Started with Direct3D FREE CHAPTER 2. Rendering with Direct3D 3. Rendering Meshes 4. Animating Meshes with Vertex Skinning 5. Applying Hardware Tessellation 6. Adding Surface Detail with Normal and Displacement Mapping 7. Performing Image Processing Techniques 8. Incorporating Physics and Simulations 9. Rendering on Multiple Threads and Deferred Contexts 10. Implementing Deferred Rendering 11. Integrating Direct3D with XAML and Windows 8.1 Further Reading
Index

Reading the G-Buffer


In this recipe, we will look at the HLSL shader code necessary to read from the G-Buffer's resources. We will then use the screen-aligned quad to implement a debug pixel shader for displaying information from the G-Buffer to screen.

Getting ready

We will follow on from where we left off with Filling the G-Buffer using the same G-Buffer layout as described in that recipe, and make use of the screen-aligned quad from Implementing a screen-aligned quad renderer.

How to do it…

First let's begin by outlining the HLSL code necessary to extract the attributes from the G-Buffer.

  1. We'll start by defining a structure to store the loaded G-Buffer attributes in, as shown in the following HLSL code snippet:

    // Structure for holding loaded G-Buffer attributes
    struct GBufferAttributes
    {
        float3 Position;
        float3 Normal;
        float3 Diffuse;
        float SpecularInt; // specular intensity
        float3 Emissive;
        float SpecularPower;
    };
    // Screen-aligned Quad PixelIn
    struct PixelIn
    {
      ...
lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime
Banner background image