O'Reilly logo

GPU PRO 3 by Wolfgang Engel

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

V
3D Engine Design
Welcome to the 3D Engine Design section of this edition of GPU Pro. The
chapters you will find here cover various aspects of engine design, such as quality
and optimization, in addition to high-level architecture.
First, Pascal Gautron, Jean-Eudes Marvie, and Ga¨el Sourimant present us
with the article, “Z
3
Culling,” in which the authors suggest a novel method to
optimize depth testing over the Z-buffer algorithm. The new technique adds two
“depth buffers” to keep the early-Z culling optimization even on objects drawn
with states that prevent early-Z culling (such as alpha testing).
Next, Dzmitry Malyshau brings his experience of designing a quaternion-based
3D engine in his chapter, “Quaternion-Based Rendering Pipeline. Malyshau
shows the benefits of using quaternions in place of transformation matrices in
various steps of the rendering pipeline based on his experience of a real-world
3D-engine implementation.
In the article, “Implementing a Directionally Adaptive Edge AA Filter using
DirectX 11,” Matthew Johnson improves upon the box antialiasing filter using a
postprocessing technique that calculates a best fit gradient line along the direction
of candidate primitive edges to construct a filter that gives a better representation
of edge information in the scene, and thus higher quality antialiased edges.
Finally, Donal Revie describes the high-level architecture of a 3D engine in the
article “Designing a Data-Driven Renderer. The design aims to bridge the gap
between the logical simulation at the core of most game engines and the strictly
ordered stream of commands required to render a frame through a graphics API.
The solution focuses on providing a flexible data-driven foundation on which to
build a rendering pipeline, making minimal assumptions about the exact render-
ing style used.
I would like to thank the authors who contributed to this section for their
great work. I would also like to thank my wife Suzan and my brother Homam for
their wonderful support. I hope you find these articles inspiring and enlightening
as you undertake your rendering and engine development work.
—Wessam Bahnassi
This page intentionally left blankThis page intentionally left blank

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required