资源说明:Wolfgang Engel’s GPU Pro 360 Guide to Geometry Manipulation gathers all the cutting-edge information from his previous seven GPU Pro volumes into a convenient single source anthology that covers geometry manipulation in computer graphics. This volume is complete with 19 articles by leading programmers that focus on the ability of graphics processing units to process and generate geometry in exciting ways. GPU Pro 360 Guide to Geometry Manipulation is comprised of ready-to-use ideas and efficient procedures that can help solve many computer graphics programming challenges that may arise.
“Geometry manipulation” focuses on the ability of graphics processor units (GPUs)
to process and generate geometry in exciting and interesting ways.
Tamy Boubekeur covers Phong Tesselation in the chapter “As Simple as Possible Tessellation for Interactive Applications.” This operator is simpler than GPU
subdivision surfaces and their approximations but succeeds at hiding standard
“polygonization” artifacts often encountered on mesh silhouettes and interior
contours. Phong Tessellation can be implemented on today’s GPU using either
uniform or adaptive instanced tessellation (vertex shader), or on the geometry
shader for low tessellation rates.
The chapter “Rule-Based Geometry Synthesis in Real-Time” by Mil´an Magdics
and Gergely Kl´ar presents a framework for synthesizing and rendering geometry
described by a rule-based representation in real time. The representation is evaluated completely on the GPU; thus, the geometry synthesis can be very fast and
there is no need to copy data between the CPU and the graphics card. By applying frustum culling and rule selection based on the distance from the camera
during the synthesis, only what is required for rendering with dynamic level of
detail is generated.
Graham Hemingway describes in the chapter “GPU-based NURBS Geometry
Evaluation and Rendering” a method for using the GPU to calculate NURBS
geometry. Compared to evaluation on the CPU, this method yields significant
performance improvements without drawbacks in precision or flexibility.
“Polygonal-Functional Hybrids for Computer Animation and Games,” by Denis Kravtsov et al., describes how to represent geometry with functions to overcome some of the challenges with polygons like produce animations involving
dramatic change of the shape of the model and creating complex shapes with
changing topology. They also cover the integration of existing polygonal models
and functional representations.
The chapter “Terrain and Ocean Rendering” looks at the tessellation related
stages of DirectX 11, explains a simple implementation of terrain rendering, and
implements the techniques from the ShaderX6 article “Procedural Ocean Effects”
by L´aszl´o Sz´ecsi and Khashayar Arman.
Jorge Jimenez, Jose I. Echevarria, Christopher Oat, and Diego Gutierrez
present a method to add expressive and animated wrinkles to characters in
the chapter “Practical and Realistic Facial Wrinkles Animation.” Their system allows the animator to independently blend multiple wrinkle maps across
regions of a character’s face. When combined with traditional blend-target morphing for facial animation, this technique can produce very compelling results
that enable virtual characters to be much more expressive in both their actions
and dialog.
The chapter “Procedural Content Generation on the GPU,” by Aleksander
Netzel and Pawel Rohleder, demonstrates the generating and rendering of infinite
and deterministic heightmap-based terrain utilizing fractal Brownian noise calculated in real time on the GPU. Additionally it proposes a random tree distribution
scheme that exploits previously generated terrain information. The authors use
spectral synthesis to accumulate several layers of approximated fractal Brownian
motion. They also show how to simulate erosion in real time.
The chapter “Vertex Shader Tessellation” by Holger Gruen presents a method
to implement tessellation using only the vertex shader. It requires DirectX 10
and above to work. This method does not require any data in addition to the
already available vertex data, in contrast to older techniques that were called
“Instanced Tessellation.” It relies solely on the delivery of SV_VertexID and uses
the original vertex and index buffers as input shader resources.
In “Optimized Stadium Crowd Rendering,” Alan Chambers describes in detail
the design and methods used to reproduce a 80,000-seat stadium. This method
was used in the game Rugby Challenge on XBOX 360, PS3, and PC. Chambers
reveals several tricks used to achieve colored “writing” in the stands, ambient
occlusion that darkens the upper echelons, and variable crowd density that can
be controlled live in-game.
“Geometric Antialiasing Methods” is about replacing hardware multisample
antialiasing (MSAA) with a software method that works in the postprocessing
pipeline, which has been very popular since a multisample antialiasing (MLAA)
solution on the GPU was presented in GPU Pro2. Persson discusses two antialiasing methods that are driven by additional geometric data generated in the
geometry shader or stored upfront in a dedicated geometry buffer that might be
part of the G-Buffer.
The chapter “GPU Terrain Subdivision and Tessellation” presents a GPUbased algorithm to perform real-time terrain subdivision and rendering of vast
detailed landscapes without preprocessing data on the CPU. It also achieves
smooth level of detail transitions from any viewpoint.
“Introducing the Programmable Vertex Pulling Rendering Pipeline” discusses
one of the bigger challenges in game development targeting PC platforms: the
GPU driver overhead. By moving more tasks onto the quickly evolving GPUs,
the number of draw calls per frame can be increased. The chapter gives also an
in-depth view on the latest AMD GPUs.
“A WebGL Globe Rendering Pipeline” describes a globe rendering pipeline
that integrates hierarchical levels of detail (HLOD) algorithms used to manage
high resolution imagery streamed from standard map servers, such as Esri or
OpenStreetMap.
The chapter “Dynamic GPU Terrain” by David Pangerl presents a GPU-based
algorithm to dynamically modify terrain topology and synchronize the changes
with a physics simulation.
The next chapter, “Bandwidth-Efficient Procedural Meshes in the GPU via
Tessellation” by Gustavo Bastos Nunes and Jo˜ao Lucas Guberman Raza, covers
the procedural generation of highly detailed meshes with the help of the hardware
tessellator while integrating a geomorphic-enabled level-of-detail (LOD) scheme.
“Real-Time Deformation of Subdivision Surfaces on Object Collisions” by
Henry Sch¨afer, Matthias Nießner, Benjamin Keinert, and Marc Stamminger shows
how to mimic residuals such as scratches or impacts with soft materials like snow
or sand by enabling automated fine-scale surface deformations resulting from
object collisions. This is achieved by using dynamic displacement maps on the
GPU.
“Realistic Volumetric Explosions in Games” by Alex Dunn covers a singlepass volumetric explosion effect with the help of ray marching, sphere tracing,
and the hardware tessellation pipeline to generate a volumetric sphere.
The chapter by Anton Kai Michels and Peter Sikachev describes the procedural snow deformation rendering in Rise of the Tomb Raider. Their deferred
deformation is used to render trails with depression at the center and elevation
on the edges, allowing gradual refilling of the snow tracks, but it can also easily
be extended to handle other procedural interactions with the environment. The
technique is scalable and memory friendly and provides centimeter-accurate deformations. It decouples the deformation logic from the geometry that is actually
affected and thus can handle dozens of NPCs and works on any type of terrain.
The last chapter in this book deals with Catmull-Clark subdivision surfaces
widely used in film production and more recently also in video games because of
their intuitive authoring and surfaces with nice properties. They are defined by
bicubic B-spline patches obtained from a recursively subdivided control mesh of
arbitrary topology. Wade Brainerd describes a real-time method for rendering
such subdivision surfaces, which has been used for the key assets in Call of Duty
on the Playstation 4 and runs at FullHD at 60 frames per second.
本源码包内暂不包含可直接显示的源代码文件,请下载源码包。