GPU PRO 3: Advanced Rendering Techniques

GPU PRO 3: Advanced Rendering Techniques

Language: English

Pages: 408

ISBN: 1439887829

Format: PDF / Kindle (mobi) / ePub


GPU Pro3, the third volume in the GPU Pro book series, offers practical tips and techniques for creating real-time graphics that are useful to beginners and seasoned game and graphics programmers alike.

Section editors Wolfgang Engel, Christopher Oat, Carsten Dachsbacher, Wessam Bahnassi, and Sebastien St-Laurent have once again brought together a high-quality collection of cutting-edge techniques for advanced GPU programming. With contributions by more than 50 experts, GPU Pro3: Advanced Rendering Techniques covers battle-tested tips and tricks for creating interesting geometry, realistic shading, real-time global illumination, and high-quality shadows, for optimizing 3D engines, and for taking advantage of the advanced power of the GPGPU.

Sample programs and source code are available for download on the book's CRC Press web page.

Guerrilla Analytics: A Practical Approach to Working with Data

Collaborative Web Hosting: Challenges and Research Directions (Springer Briefs in Computer Science)

Cyberpatterns: Unifying Design Patterns with Security and Attack Patterns

Architecture Principles: The Cornerstones of Enterprise Architecture (The Enterprise Engineering Series)

 

 

 

 

 

 

 

 

 

 

 

 

 

the pixel is split evenly between the current pixel and the neighbor. If the edge touches the edge of the pixel, the distance is −0.5 or 0.5 depending on if it is the top or bottom edge, and the coverage consequently goes to zero, meaning the neighbor pixel does not contribute to the final antialiased value of this pixel. The observant reader notes that the neighbor coverage never goes above 0.5. One might initially think that it should range from 0 to 1, but a quick look at Figure 4.1

precision and should be avoided, unless very restrictive conditions can be imposed on the art department (such as avoiding albedo/specular maps below certain luminance thresholds, for example). Since we are using an encoded format on PS3, hardware blending cannot be used. Luckily, the PS3’s GPU allows for a workaround. Blending can be performed in the pixel shader itself by sampling from the same render target into which you are rendering. This feature requires that a pixel be written only once

on the same drawcall (no overdraw). Such functionality allows for a very handy form of programmable blending that most hardware (including DX11-level hardware) lacks. 4. CryENGINE 3: Three Years of Work in Review Z-buffer depth caveats. Unlike previous engine iteration, we don’t output linear depth into a separate render target. On consoles and on DX10.1/DX11-level hardware (and on certain DX9 hardware) we can access the depth buffer directly. This saves performance, but with a few caveats:

the desired performance. The techniques range from screen-space approximations to using splat-based representations and spatial index structures. The first chapter in this section is “Ray-Traced Approximate Reflections Using a Grid of Oriented Splats,” by Holger Gruen. In this chapter, Gruen exploits the features of DX11-class hardware to render approximate ray-traced reflections in dynamic scene elements. His method creates a 3D grid containing a surface splat representation on-the-fly and then

construction stops at the coarsest resolution level (l=0) represented (0) by the single patch H0,0 covering the entire terrain. 2.3.2 The Compression Algorithm To reduce memory overhead, the multiresolution hierarchy is maintained in a compressed form. The compression is done directly during the quadtree construction process. We exploit a simple yet quite efficient compression scheme that is derived from our previous work [Yusov and Shevtsov 11]. The proposed technique has the following key

Download sample

Download