GPU Pro 4: Advanced Rendering Techniques

GPU Pro 4: Advanced Rendering Techniques

Language: English

Pages: 382

ISBN: 1466567430

Format: PDF / Kindle (mobi) / ePub


GPU Pro4: Advanced Rendering Techniques presents ready-to-use ideas and procedures that can help solve many of your day-to-day graphics programming challenges. Focusing on interactive media and games, the book covers up-to-date methods for producing real-time graphics.

Section editors Wolfgang Engel, Christopher Oat, Carsten Dachsbacher, Michal Valient, Wessam Bahnassi, and Sebastien St-Laurent have once again assembled a high-quality collection of cutting-edge techniques for advanced graphics processing unit (GPU) programming. Divided into six sections, the book begins with discussions on the ability of GPUs to process and generate geometry in exciting ways. It next introduces new shading and global illumination techniques for the latest real-time rendering engines and explains how image space algorithms are becoming a key way to achieve a more realistic and higher quality final image. Moving on to the difficult task of rendering shadows, the book describes the state of the art in real-time shadow maps. It then covers game engine design, including quality, optimization, and high-level architecture. The final section explores approaches that go beyond the normal pixel and triangle scope of GPUs as well as techniques that take advantage of the parallelism of modern graphic processors in a variety of applications.

Useful to beginners and seasoned game and graphics programmers alike, this color book offers practical tips and techniques for creating real-time graphics. Example programs and source code are available for download on the book’s CRC Press web page. The directory structure of the online material closely follows the book structure by using the chapter numbers as the name of the subdirectory.

Randomized Algorithms

Computational Intelligence in Image Processing

Big Data and The Internet of Things: Enterprise Information Architecture for A New Age

Multi-Agent Machine Learning: A Reinforcement Approach

 

 

 

 

 

 

 

 

 

 

 

the coarse approximation (right). 59 60 II Rendering 1. Rendering small light sources inside small resolution cubemap is problematic. They can flicker or completely drop out. Image proxies can compensate for the low resolution. 2. Control the brightness strength of the cubemap: As a cubemap is a single texture generated in the engine, it is painful to boost the brightness in only a part of it. Image proxies can control their brightness individually. 3. Enhance lights: in order to emulate a

e n P o s i t i o n. w * f l o a t 2(0.5 f , -0.5 f ) + 0.5 f ; f l o a t 2 R = ScreenUV + T a n g e n t N o r m a l. xy * D i s t o r t i o n S t r e n g h t; r e t u r n tex2Dlod ( R e f l e c t i o n Te xt ure , f l o a t 4(R , 0.0 f , S c a l e B i a s. x * G l o s s i n e s s + S c a l e B i a s. y )). rgb ; Listing 1.3. High-level shading language (HLSL) pseudocode to use a 2D reflection texture. improve the final quality in our case. Note that for performance reasons, we do not transform

light is local, the length of the ray is short. This means we do not have to traverse much in the scene; the cost is not as high as the cost of ray casting a long ray in full ray tracing. In this subsection, we describe how ray casting can be integrated in Forward+ to add shadows from hundreds of lights and show that a perfect shadow from hundreds of lights can be obtained in real time. After adding this feature, Forward+ is not just an extension of forward-rendering pipeline but a hybrid of

stream to identity the relative location of the split viewable regions to their parent viewable region. This extra piece of information, referred to as a relative quadrant code, and usually encoded into a 2-bit mask, is later utilized by the LOD Transition Algorithm (explained in Section 1.2.4) when rendering each viewable region. To split the viewable region R (see Figure 1.3(a)) into the quadrants (see Figure 1.3(b)), we create four new viewable regions (R1, R2, R3, R4) with their respective

stream to identity the relative location of the split viewable regions to their parent viewable region. This extra piece of information, referred to as a relative quadrant code, and usually encoded into a 2-bit mask, is later utilized by the LOD Transition Algorithm (explained in Section 1.2.4) when rendering each viewable region. To split the viewable region R (see Figure 1.3(a)) into the quadrants (see Figure 1.3(b)), we create four new viewable regions (R1, R2, R3, R4) with their respective

Download sample

Download