GPU Pro 7: Advanced Rendering Techniques

GPU Pro 7: Advanced Rendering Techniques

Language: English

Pages: 320

ISBN: 149874253X

Format: PDF / Kindle (mobi) / ePub


The latest edition of this bestselling game development reference offers proven tips and techniques for the real-time rendering of special effects and visualization data that are useful for beginners and seasoned game and graphics programmers alike.

Exploring recent developments in the rapidly evolving field of real-time rendering, GPU Pro 7: Advanced Rendering Techniques assembles a high-quality collection of cutting-edge techniques for advanced graphics processing unit (GPU) programming. It incorporates contributions from more than 30 experts who cover the latest developments in graphics programming for games and movies.

The book covers advanced rendering techniques that run on the DirectX or OpenGL runtimes, as well as on any other runtime with any language available. It details the specific challenges involved in creating games across the most common consumer software platforms such as PCs, video consoles, and mobile devices.

The book includes coverage of geometry manipulation; rendering techniques, handheld devices programming, effects in image space, lighting, 3D engine design, graphics-related tools, and environmental effects. It also includes a dedicated section on general purpose GPU programming that covers CUDA and DirectCompute examples.

In color throughout, GPU Pro 7 presents ready-to-use ideas and procedures that can help solve many of your daily graphics programming challenges. Example programs with downloadable source code are also provided on the book’s CRC Press web page.

Structure and Interpretation of Computer Programs (2nd Edition) (MIT Electrical Engineering and Computer Science)

Group Policy: Fundamentals, Security, and the Managed Desktop (3rd Edition)

Kernel Adaptive Filtering: A Comprehensive Introduction

Working With Unix Processes

A Bug Hunter's Diary: A Guided Tour Through the Wilds of Software Security

Planning Algorithms

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Feature adaptive subdivision, but it does add runtime compute and storage costs. 2.2 The Call of Duty Method Our method is a subset of feature adaptive subdivision; we diverge in one important regard: B-spline patches are only extracted from the first subdivision level, and the remaining faces are rendered as triangles. The reason is that patches that result from subdivision are small and require low tessellation factors, and patches with low tessellation factors are less efficient to render than.

Tessellation in flatter areas to reduce costs. Savings include vertex evaluation costs and also overshading costs caused by small or thin triangles being submitted to the rasterizer. Our adaptive tessellation metric (Figures 2.6 and 2.7) requires evaluation of three limit surface points per patch edge: midpoint Lmidpoint and endpoints Lstart and Lend. Point Lmidpoint is projected onto the line through Lstart and Lend as M , and the square root of distance a between Lmidpoint and M , multiplied by.

Subdivisions do f aceP oints ← extractFacePoints(mesh); edgeP oints ← extractEdgePoints(mesh); vertexP oints ← extractVertexPoints(mesh); f aces ← subdivideFaces(mesh); shaderBuf f eri ← factorizeTables(facePoints, edgePoints, vertexPoints ); indexBuf f eri ← triangulate(faces); mesh ← (f aceP oints, edgeP oints, vertexP oints, f aces); end Procedure render() i ← chooseSubdivisionLevel(camera); if control mesh vertices changed then vertexBuf f er ← dispatchCompute(vertexBuf f ercontrol, shaderBuf.

Introduced when adding a new light type for the light assignment. The algorithm starts by issuing a DrawIndexedInstanced with the number of lights as the instance count. Also fed to the vertex shader is the actual light data containing position, color, and other light properties. The shader semantic SV_InstanceID is used in the vertex shader to extract the position, scale, and other properties to transform each vertex to the correct location in world space. Each vertex is sent to the geometry.

SIGGRAPH Course, Anaheim, CA, July 23, 2013. Available online (http://s2013.siggraph.org/attendees/courses/ session/advances-real-time-rendering-games-part-i). [Swoboda 09] Matt Swoboda. “Deferred Lighting and Post Processing on Playstation 3.” Game Developers Conference, San Francisco, CA, March 23–27, 2009. [Thomas 15] Gareth Thomas. “Advanced Visual Effects with DirectX 11 and 12: Advancements in Tile-Based Compute Rendering.” Game Developers Conference, San Francisco, CA, March 2–6, 2015.

Download sample

Download