0% found this document useful (0 votes)
221 views158 pages

Real-Time Rendering 4th-ToC Preface Intro Bib Index

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
221 views158 pages

Real-Time Rendering 4th-ToC Preface Intro Bib Index

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 158

Real-Time Rendering

Fourth Edition
Real-Time Rendering
Fourth Edition

Tomas Akenine-Möller
Eric Haines
Naty Hoffman
Angelo Pesce
Michal Iwanicki
Sébastien Hillaire
CRC Press
Taylor & Francis Group
6000 Broken Sound Parkway NW, Suite 300
Boca Raton, FL 33487-2742

c 2018 by Taylor & Francis Group, LLC


CRC Press is an imprint of Taylor & Francis Group, an Informa business

No claim to original U.S. Government works

Printed on acid-free paper

International Standard Book Number-13: 978-1-1386-2700-0 (Hardback)

This book contains information obtained from authentic and highly regarded sources. Reasonable
efforts have been made to publish reliable data and information, but the author and publisher
cannot assume responsibility for the validity of all materials or the consequences of their use. The
authors and publishers have attempted to trace the copyright holders of all material reproduced in
this publication and apologize to copyright holders if permission to publish in this form has not
been obtained. If any copyright material has not been acknowledged please write and let us know so
we may rectify in any future reprint.

Except as permitted under U.S. Copyright Law, no part of this book may be reprinted, reproduced,
transmitted, or utilized in any form by any electronic, mechanical, or other means, now known or
hereafter invented, including photocopying, microfilming, and recording, or in any information
storage or retrieval system, without written permission from the publishers.

For permission to photocopy or use material electronically from this work, please access
www.copyright.com (http://www.copyright.com/) or contact the Copyright Clearance Center, Inc.
(CCC), 222 Rosewood Drive, Danvers, MA 01923, 978-750-8400. CCC is a not-for-profit
organization that provides licenses and registration for a variety of users. For organizations that
have been granted a photocopy license by the CCC, a separate system of payment has been
arranged.

Trademark Notice: Product or corporate names may be trademarks or registered trademarks,


and are used only for identification and explanation without intent to infringe.

Library of Congress Cataloging-in-Publication Data

Names: Möller, Tomas, 1971- author.


Title: Real-time rendering / Tomas Akenine-Möller, Eric Haines, Naty Hoffman, Angelo Pesce,
Michal Iwanicki, Sébastien Hillaire
Description: Fourth edition. | Boca Raton : Taylor & Francis, CRC Press, 2018.
Identifiers: LCCN 2018009546 | ISBN 9781138627000 (hardback : alk. paper)
Subjects: LCSH: Computer graphics. | Real-time data processing. | Rendering (Computer graphics)
Classification: LCC T385 .M635 2018 | DDC 006.6/773--dc23
LC record available at https://lccn.loc.gov/2018009546

Visit the Taylor & Francis Web site at


http://www.taylorandfrancis.com

and the CRC Press Web site at


http://www.crcpress.com
Dedicated to Eva, Felix, and Elina
T. A-M.

Dedicated to Cathy, Ryan, and Evan


E. H.

Dedicated to Dorit, Karen, and Daniel


N. H.

Dedicated to Fei, Clelia, and Alberto


A. P.

Dedicated to Aneta and Weronika


M. I.

Dedicated to Stéphanie and Svea


S. H.
Contents

Preface xiii

1 Introduction 1
1.1 Contents Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Notation and Definitions . . . . . . . . . . . . . . . . . . . . . . . . 5

2 The Graphics Rendering Pipeline 11


2.1 Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.2 The Application Stage . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.3 Geometry Processing . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.4 Rasterization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.5 Pixel Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.6 Through the Pipeline . . . . . . . . . . . . . . . . . . . . . . . . . . 25

3 The Graphics Processing Unit 29


3.1 Data-Parallel Architectures . . . . . . . . . . . . . . . . . . . . . . 30
3.2 GPU Pipeline Overview . . . . . . . . . . . . . . . . . . . . . . . . 34
3.3 The Programmable Shader Stage . . . . . . . . . . . . . . . . . . . 35
3.4 The Evolution of Programmable Shading and APIs . . . . . . . . . 37
3.5 The Vertex Shader . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3.6 The Tessellation Stage . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.7 The Geometry Shader . . . . . . . . . . . . . . . . . . . . . . . . . 47
3.8 The Pixel Shader . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.9 The Merging Stage . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
3.10 The Compute Shader . . . . . . . . . . . . . . . . . . . . . . . . . . 54

4 Transforms 57
4.1 Basic Transforms . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
4.2 Special Matrix Transforms and Operations . . . . . . . . . . . . . . 70
4.3 Quaternions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
4.4 Vertex Blending . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
4.5 Morphing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
4.6 Geometry Cache Playback . . . . . . . . . . . . . . . . . . . . . . . 92
4.7 Projections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

vii
viii Contents

5 Shading Basics 103


5.1 Shading Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
5.2 Light Sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
5.3 Implementing Shading Models . . . . . . . . . . . . . . . . . . . . . 117
5.4 Aliasing and Antialiasing . . . . . . . . . . . . . . . . . . . . . . . . 130
5.5 Transparency, Alpha, and Compositing . . . . . . . . . . . . . . . . 148
5.6 Display Encoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160

6 Texturing 167
6.1 The Texturing Pipeline . . . . . . . . . . . . . . . . . . . . . . . . . 169
6.2 Image Texturing . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
6.3 Procedural Texturing . . . . . . . . . . . . . . . . . . . . . . . . . . 198
6.4 Texture Animation . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
6.5 Material Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
6.6 Alpha Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
6.7 Bump Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
6.8 Parallax Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
6.9 Textured Lights . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221

7 Shadows 223
7.1 Planar Shadows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
7.2 Shadows on Curved Surfaces . . . . . . . . . . . . . . . . . . . . . . 229
7.3 Shadow Volumes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
7.4 Shadow Maps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
7.5 Percentage-Closer Filtering . . . . . . . . . . . . . . . . . . . . . . 247
7.6 Percentage-Closer Soft Shadows . . . . . . . . . . . . . . . . . . . . 250
7.7 Filtered Shadow Maps . . . . . . . . . . . . . . . . . . . . . . . . . 252
7.8 Volumetric Shadow Techniques . . . . . . . . . . . . . . . . . . . . 257
7.9 Irregular Z -Buffer Shadows . . . . . . . . . . . . . . . . . . . . . . 259
7.10 Other Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . 262

8 Light and Color 267


8.1 Light Quantities . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
8.2 Scene to Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281

9 Physically Based Shading 293


9.1 Physics of Light . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
9.2 The Camera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307
9.3 The BRDF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308
9.4 Illumination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
9.5 Fresnel Reflectance . . . . . . . . . . . . . . . . . . . . . . . . . . . 316
9.6 Microgeometry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327
9.7 Microfacet Theory . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
Contents ix

9.8 BRDF Models for Surface Reflection . . . . . . . . . . . . . . . . . 336


9.9 BRDF Models for Subsurface Scattering . . . . . . . . . . . . . . . 347
9.10 BRDF Models for Cloth . . . . . . . . . . . . . . . . . . . . . . . . 356
9.11 Wave Optics BRDF Models . . . . . . . . . . . . . . . . . . . . . . 359
9.12 Layered Materials . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363
9.13 Blending and Filtering Materials . . . . . . . . . . . . . . . . . . . 365

10 Local Illumination 375


10.1 Area Light Sources . . . . . . . . . . . . . . . . . . . . . . . . . . . 377
10.2 Environment Lighting . . . . . . . . . . . . . . . . . . . . . . . . . 391
10.3 Spherical and Hemispherical Functions . . . . . . . . . . . . . . . . 392
10.4 Environment Mapping . . . . . . . . . . . . . . . . . . . . . . . . . 405
10.5 Specular Image-Based Lighting . . . . . . . . . . . . . . . . . . . . 415
10.6 Irradiance Environment Mapping . . . . . . . . . . . . . . . . . . . 425
10.7 Sources of Error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434

11 Global Illumination 437


11.1 The Rendering Equation . . . . . . . . . . . . . . . . . . . . . . . . 437
11.2 General Global Illumination . . . . . . . . . . . . . . . . . . . . . . 441
11.3 Ambient Occlusion . . . . . . . . . . . . . . . . . . . . . . . . . . . 446
11.4 Directional Occlusion . . . . . . . . . . . . . . . . . . . . . . . . . . 465
11.5 Diffuse Global Illumination . . . . . . . . . . . . . . . . . . . . . . 472
11.6 Specular Global Illumination . . . . . . . . . . . . . . . . . . . . . 497
11.7 Unified Approaches . . . . . . . . . . . . . . . . . . . . . . . . . . . 509

12 Image-Space Effects 513


12.1 Image Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . 513
12.2 Reprojection Techniques . . . . . . . . . . . . . . . . . . . . . . . . 522
12.3 Lens Flare and Bloom . . . . . . . . . . . . . . . . . . . . . . . . . 524
12.4 Depth of Field . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 527
12.5 Motion Blur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 536

13 Beyond Polygons 545


13.1 The Rendering Spectrum . . . . . . . . . . . . . . . . . . . . . . . . 545
13.2 Fixed-View Effects . . . . . . . . . . . . . . . . . . . . . . . . . . . 546
13.3 Skyboxes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 547
13.4 Light Field Rendering . . . . . . . . . . . . . . . . . . . . . . . . . 549
13.5 Sprites and Layers . . . . . . . . . . . . . . . . . . . . . . . . . . . 550
13.6 Billboarding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 551
13.7 Displacement Techniques . . . . . . . . . . . . . . . . . . . . . . . . 564
13.8 Particle Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . 567
13.9 Point Rendering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 572
13.10 Voxels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 578
x Contents

14 Volumetric and Translucency Rendering 589


14.1 Light Scattering Theory . . . . . . . . . . . . . . . . . . . . . . . . 589
14.2 Specialized Volumetric Rendering . . . . . . . . . . . . . . . . . . . 600
14.3 General Volumetric Rendering . . . . . . . . . . . . . . . . . . . . . 605
14.4 Sky Rendering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 613
14.5 Translucent Surfaces . . . . . . . . . . . . . . . . . . . . . . . . . . 623
14.6 Subsurface Scattering . . . . . . . . . . . . . . . . . . . . . . . . . . 632
14.7 Hair and Fur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 640
14.8 Unified Approaches . . . . . . . . . . . . . . . . . . . . . . . . . . . 648

15 Non-Photorealistic Rendering 651


15.1 Toon Shading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 652
15.2 Outline Rendering . . . . . . . . . . . . . . . . . . . . . . . . . . . 654
15.3 Stroke Surface Stylization . . . . . . . . . . . . . . . . . . . . . . . 669
15.4 Lines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 673
15.5 Text Rendering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 675

16 Polygonal Techniques 681


16.1 Sources of Three-Dimensional Data . . . . . . . . . . . . . . . . . . 682
16.2 Tessellation and Triangulation . . . . . . . . . . . . . . . . . . . . . 683
16.3 Consolidation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 690
16.4 Triangle Fans, Strips, and Meshes . . . . . . . . . . . . . . . . . . . 696
16.5 Simplification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 706
16.6 Compression and Precision . . . . . . . . . . . . . . . . . . . . . . . 712

17 Curves and Curved Surfaces 717


17.1 Parametric Curves . . . . . . . . . . . . . . . . . . . . . . . . . . . 718
17.2 Parametric Curved Surfaces . . . . . . . . . . . . . . . . . . . . . . 734
17.3 Implicit Surfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . 749
17.4 Subdivision Curves . . . . . . . . . . . . . . . . . . . . . . . . . . . 753
17.5 Subdivision Surfaces . . . . . . . . . . . . . . . . . . . . . . . . . . 756
17.6 Efficient Tessellation . . . . . . . . . . . . . . . . . . . . . . . . . . 767

18 Pipeline Optimization 783


18.1 Profiling and Debugging Tools . . . . . . . . . . . . . . . . . . . . . 784
18.2 Locating the Bottleneck . . . . . . . . . . . . . . . . . . . . . . . . 786
18.3 Performance Measurements . . . . . . . . . . . . . . . . . . . . . . 788
18.4 Optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 790
18.5 Multiprocessing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 805
Contents xi

19 Acceleration Algorithms 817


19.1 Spatial Data Structures . . . . . . . . . . . . . . . . . . . . . . . . 818
19.2 Culling Techniques . . . . . . . . . . . . . . . . . . . . . . . . . . . 830
19.3 Backface Culling . . . . . . . . . . . . . . . . . . . . . . . . . . . . 831
19.4 View Frustum Culling . . . . . . . . . . . . . . . . . . . . . . . . . 835
19.5 Portal Culling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 837
19.6 Detail and Small Triangle Culling . . . . . . . . . . . . . . . . . . . 839
19.7 Occlusion Culling . . . . . . . . . . . . . . . . . . . . . . . . . . . . 840
19.8 Culling Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 850
19.9 Level of Detail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 852
19.10 Rendering Large Scenes . . . . . . . . . . . . . . . . . . . . . . . . 866

20 Efficient Shading 881


20.1 Deferred Shading . . . . . . . . . . . . . . . . . . . . . . . . . . . . 883
20.2 Decal Rendering . . . . . . . . . . . . . . . . . . . . . . . . . . . . 888
20.3 Tiled Shading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 892
20.4 Clustered Shading . . . . . . . . . . . . . . . . . . . . . . . . . . . 898
20.5 Deferred Texturing . . . . . . . . . . . . . . . . . . . . . . . . . . . 905
20.6 Object- and Texture-Space Shading . . . . . . . . . . . . . . . . . . 908

21 Virtual and Augmented Reality 915


21.1 Equipment and Systems Overview . . . . . . . . . . . . . . . . . . 916
21.2 Physical Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . 919
21.3 APIs and Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . 924
21.4 Rendering Techniques . . . . . . . . . . . . . . . . . . . . . . . . . 932

22 Intersection Test Methods 941


22.1 GPU-Accelerated Picking . . . . . . . . . . . . . . . . . . . . . . . 942
22.2 Definitions and Tools . . . . . . . . . . . . . . . . . . . . . . . . . . 943
22.3 Bounding Volume Creation . . . . . . . . . . . . . . . . . . . . . . 948
22.4 Geometric Probability . . . . . . . . . . . . . . . . . . . . . . . . . 953
22.5 Rules of Thumb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 954
22.6 Ray/Sphere Intersection . . . . . . . . . . . . . . . . . . . . . . . . 955
22.7 Ray/Box Intersection . . . . . . . . . . . . . . . . . . . . . . . . . . 959
22.8 Ray/Triangle Intersection . . . . . . . . . . . . . . . . . . . . . . . 962
22.9 Ray/Polygon Intersection . . . . . . . . . . . . . . . . . . . . . . . 966
22.10 Plane/Box Intersection . . . . . . . . . . . . . . . . . . . . . . . . . 970
22.11 Triangle/Triangle Intersection . . . . . . . . . . . . . . . . . . . . . 972
22.12 Triangle/Box Intersection . . . . . . . . . . . . . . . . . . . . . . . 974
22.13 Bounding-Volume/Bounding-Volume Intersection . . . . . . . . . . 976
22.14 View Frustum Intersection . . . . . . . . . . . . . . . . . . . . . . . 981
22.15 Line/Line Intersection . . . . . . . . . . . . . . . . . . . . . . . . . 987
22.16 Intersection between Three Planes . . . . . . . . . . . . . . . . . . 990
xii Contents

23 Graphics Hardware 993


23.1 Rasterization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 993
23.2 Massive Compute and Scheduling . . . . . . . . . . . . . . . . . . . 1002
23.3 Latency and Occupancy . . . . . . . . . . . . . . . . . . . . . . . . 1004
23.4 Memory Architecture and Buses . . . . . . . . . . . . . . . . . . . 1006
23.5 Caching and Compression . . . . . . . . . . . . . . . . . . . . . . . 1007
23.6 Color Buffering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1009
23.7 Depth Culling, Testing, and Buffering . . . . . . . . . . . . . . . . 1014
23.8 Texturing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1017
23.9 Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1019
23.10 Case Studies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1024
23.11 Ray Tracing Architectures . . . . . . . . . . . . . . . . . . . . . . . 1039

24 The Future 1041


24.1 Everything Else . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1042
24.2 You . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1046

Bibliography 1051

Index 1155
Preface

“Things have not changed that much in the past eight years,” was our thought entering
into this fourth edition. “How hard could it be to update the book?” A year and a
half later, and with three more experts recruited, our task is done. We could probably
spend another year editing and elaborating, at which time there would be easily a
hundred more articles and presentations to fold in. As a data point, we made a
Google Doc of references that is more than 170 pages long, with about 20 references
and related notes on each page. Some references we cite could and do each take up a
full section in some other book. A few of our chapters, such as that on shadows, have
entire books dedicated to their subjects. While creating more work for us, this wealth
of information is good news for practitioners. We will often point to these primary
sources, as they offer much more detail than appropriate here.
This book is about algorithms that create synthetic images fast enough that the
viewer can interact with a virtual environment. We have focused on three-dimensional
rendering and, to a limited extent, on the mechanics of user interaction. Modeling,
animation, and many other areas are important to the process of making a real-time
application, but these topics are beyond the scope of this book.
We expect you to have some basic understanding of computer graphics before
reading this book, as well as knowledge of computer science and programming. We
also focus on algorithms, not APIs. Many texts are available on these other subjects.
If some section does lose you, skim on through or look at the references. We believe
that the most valuable service we can provide you is a realization of what you yet do
not know about—a basic kernel of an idea, a sense of what others have discovered
about it, and ways to learn more, if you wish.
We make a point of referencing relevant material as possible, as well as providing
a summary of further reading and resources at the end of most chapters. In prior
editions we cited nearly everything we felt had relevant information. Here we are
more a guidebook than an encyclopedia, as the field has far outgrown exhaustive (and
exhausting) lists of all possible variations of a given technique. We believe you are
better served by describing only a few representative schemes of many, by replacing
original sources with newer, broader overviews, and by relying on you, the reader, to
pursue more information from the references cited.
Most of these sources are but a mouse click away; see realtimerendering.com for
the list of links to references in the bibliography. Even if you have only a passing
interest in a topic, consider taking a little time to look at the related references, if
for nothing else than to see some of the fantastic images presented. Our website also

xiii
xiv Preface

contains links to resources, tutorials, demonstration programs, code samples, software


libraries, book corrections, and more.
Our true goal and guiding light while writing this book was simple. We wanted to
write a book that we wished we had owned when we had started out, a book that both
was unified yet also included details and references not found in introductory texts.
We hope that you will find this book, our view of the world, of use in your travels.

Acknowledgments for the Fourth Edition


We are not experts in everything, by any stretch of the imagination, nor perfect writ-
ers. Many, many people’s responses and reviews improved this edition immeasurably,
saving us from our own ignorance or inattention. As but one example, when we asked
around for advice on what to cover in the area of virtual reality, Johannes Van Wa-
veren (who did not know any of us) instantly responded with a wonderfully detailed
outline of topics, which formed the basis for that chapter. These kind acts by com-
puter graphics professionals were some of the great pleasures in writing this book.
One person is of particular note: Patrick Cozzi did a yeoman’s job, reviewing every
chapter in the book. We are grateful to the many people who helped us along the way
with this edition. We could write a sentence or three about everyone who helped us
along the way, but this would push us further past our book-breaking page limit.
To all the rest, in our hearts we give our appreciation and thanks to you: Sebas-
tian Aaltonen, Johan Andersson, Magnus Andersson, Ulf Assarsson, Dan Baker, Chad
Barb, Rasmus Barringer, Michal Bastien, Louis Bavoil, Michael Beale, Adrian Bent-
ley, Ashwin Bhat, Antoine Bouthors, Wade Brainerd, Waylon Brinck, Ryan Brucks,
Eric Bruneton, Valentin de Bruyn, Ben Burbank, Brent Burley, Ignacio Castaño,
Cem Cebenoyan, Mark Cerny, Matthaeus Chajdas, Danny Chan, Rob Cook, Jean-
Luc Corenthin, Adrian Courrèges, Cyril Crassin, Zhihao Cui, Kuba Cupisz, Robert
Cupisz, Michal Drobot, Wolfgang Engel, Eugene d’Eon, Matej Drame, Michal Drobot,
Alex Evans, Cass Everitt, Kayvon Fatahalian, Adam Finkelstein, Kurt Fleischer, Tim
Foley, Tom Forsyth, Guillaume François, Daniel Girardeau-Montaut, Olga Gocmen,
Marcin Gollent, Ben Golus, Carlos Gonzalez-Ochoa, Judah Graham, Simon Green,
Dirk Gregorius, Larry Gritz, Andrew Hamilton, Earl Hammon, Jr., Jon Harada, Jon
Hasselgren, Aaron Hertzmann, Stephen Hill, Rama Hoetzlein, Nicolas Holzschuch,
Liwen Hu, John “Spike” Hughes, Ben Humberston, Warren Hunt, Andrew Hurley,
John Hutchinson, Milan Ikits, Jon Jansen, Jorge Jimenez, Anton Kaplanyan, Gökhan
Karadayi, Brian Karis, Nicolas Kasyan, Alexander Keller, Brano Kemen, Emmett
Kilgariff, Byumjin Kim, Chris King, Joe Michael Kniss, Manuel Kraemer, Anders
Wang Kristensen, Christopher Kulla, Edan Kwan, Chris Landreth, David Larsson,
Andrew Lauritzen, Aaron Lefohn, Eric Lengyel, David Li, Ulrik Lindahl, Edward
Liu, Ignacio Llamas, Dulce Isis Segarra López, David Luebke, Patrick Lundell, Miles
Macklin, Dzmitry Malyshau, Sam Martin, Morgan McGuire, Brian McIntyre, James
McLaren, Mariano Merchante, Arne Meyer, Sergiy Migdalskiy, Kenny Mitchell, Gre-
gory Mitrano, Adam Moravanszky, Jacob Munkberg, Kensaku Nakata, Srinivasa G.
Narasimhan, David Neubelt, Fabrice Neyret, Jane Ng, Kasper Høy Nielsen, Matthias
Preface xv

Nießner, Jim Nilsson, Reza Nourai, Chris Oat, Ola Olsson, Rafael Orozco, Bryan
Pardilla, Steve Parker, Ankit Patel, Jasmin Patry, Jan Pechenik, Emil Persson, Marc
Petit, Matt Pettineo, Agnieszka Piechnik, Jerome Platteaux, Aras Pranckevičius, Eli-
nor Quittner, Silvia Rasheva, Nathaniel Reed, Philip Rideout, Jon Rocatis, Robert
Runesson, Marco Salvi, Nicolas Savva, Andrew Schneider, Michael Schneider, Markus
Schuetz, Jeremy Selan, Tarek Sherif, Peter Shirley, Peter Sikachev, Peter-Pike Sloan,
Ashley Vaughan Smith, Rys Sommefeldt, Edvard Sørgård, Tiago Sousa, Tomasz Sta-
chowiak, Nick Stam, Lee Stemkoski, Jonathan Stone, Kier Storey, Jacob Ström, Filip
Strugar, Pierre Terdiman, Aaron Thibault, Nicolas Thibieroz, Robert Toth, Thatcher
Ulrich, Mauricio Vives, Alex Vlachos, Evan Wallace, Ian Webster, Nick Whiting, Bran-
don Whitley, Mattias Widmark, Graham Wihlidal, Michael Wimmer, Daniel Wright,
Bart Wroński, Chris Wyman, Ke Xu, Cem Yuksel, and Egor Yusov. We thank you
for your time and effort, selflessly offered and gratefully received.
Finally, we want to thank the people at Taylor & Francis for all their efforts, in
particular Rick Adams, for getting us going and guiding us along the way, Jessica
Vega and Michele Dimont, for their efficient editorial work, and Charlotte Byrnes, for
her superb copyediting.

Tomas Akenine-Möller
Eric Haines
Naty Hoffman
Angelo Pesce
Michal Iwanicki
Sébastien Hillaire
February 2018

Acknowledgments for the Third Edition


Special thanks go out to a number of people who went out of their way to provide
us with help. First, our graphics architecture case studies would not have been any-
where as good without the extensive and generous cooperation we received from the
companies making the hardware. Many thanks to Edvard Sørgard, Borgar Ljosland,
Dave Shreiner, and Jørn Nystad at ARM for providing details about their Mali 200 ar-
chitecture. Thanks also to Michael Dougherty at Microsoft, who provided extremely
valuable help with the Xbox 360 section. Masaaki Oka at Sony Computer Enter-
tainment provided his own technical review of the PLAYSTATION R 3 system case
study, while also serving as the liaison with the Cell Broadband EngineTM and RSX R
developers for their reviews.
In answering a seemingly endless stream of questions, fact-checking numerous pas-
sages, and providing many screenshots, Natalya Tatarchuk of ATI/AMD went well be-
yond the call of duty in helping us out. In addition to responding to our usual requests
for information and clarification, Wolfgang Engel was extremely helpful in providing
us with articles from the upcoming ShaderX 6 book and copies of the difficult-to-
xvi Preface

obtain ShaderX 2 books [427, 428], now available online for free. Ignacio Castaño at
NVIDIA provided us with valuable support and contacts, going so far as to rework a
refractory demo so we could get just the right screenshot.
The chapter reviewers provided an invaluable service to us. They suggested nu-
merous improvements and provided additional insights, helping us immeasurably. In
alphabetical order they are: Michael Ashikhmin, Dan Baker, Willem de Boer, Ben
Diamand, Ben Discoe, Amir Ebrahimi, Christer Ericson, Michael Gleicher, Manny
Ko, Wallace Lages, Thomas Larsson, Grégory Massal, Ville Miettinen, Mike Ramsey,
Scott Schaefer, Vincent Scheib, Peter Shirley, K.R. Subramanian, Mauricio Vives, and
Hector Yee.
We also had a number of reviewers help us on specific sections. Our thanks go
out to Matt Bronder, Christine DeNezza, Frank Fox, Jon Hasselgren, Pete Isensee,
Andrew Lauritzen, Morgan McGuire, Jacob Munkberg, Manuel M. Oliveira, Aurelio
Reis, Peter-Pike Sloan, Jim Tilander, and Scott Whitman.
We particularly thank Rex Crowle, Kareem Ettouney, and Francis Pang from
Media Molecule for their considerable help in providing fantastic imagery and layout
concepts for the cover design.
Many people helped us out in other ways, such as answering questions and pro-
viding screenshots. Many gave significant amounts of time and effort, for which we
thank you. Listed alphabetically: Paulo Abreu, Timo Aila, Johan Andersson, An-
dreas Bærentzen, Louis Bavoil, Jim Blinn, Jaime Borasi, Per Christensen, Patrick
Conran, Rob Cook, Erwin Coumans, Leo Cubbin, Richard Daniels, Mark DeLoura,
Tony DeRose, Andreas Dietrich, Michael Dougherty, Bryan Dudash, Alex Evans, Cass
Everitt, Randy Fernando, Jim Ferwerda, Chris Ford, Tom Forsyth, Sam Glassenberg,
Robin Green, Ned Greene, Larry Gritz, Joakim Grundwall, Mark Harris, Ted Him-
lan, Jack Hoxley, John “Spike” Hughes, Ladislav Kavan, Alicia Kim, Gary King,
Chris Lambert, Jeff Lander, Daniel Leaver, Eric Lengyel, Jennifer Liu, Brandon
Lloyd, Charles Loop, David Luebke, Jonathan Maı̈m, Jason Mitchell, Martin Mit-
tring, Nathan Monteleone, Gabe Newell, Hubert Nguyen, Petri Nordlund, Mike Pan,
Ivan Pedersen, Matt Pharr, Fabio Policarpo, Aras Pranckevičius, Siobhan Reddy,
Dirk Reiners, Christof Rezk-Salama, Eric Risser, Marcus Roth, Holly Rushmeier,
Elan Ruskin, Marco Salvi, Daniel Scherzer, Kyle Shubel, Philipp Slusallek, Torbjörn
Söderman, Tim Sweeney, Ben Trumbore, Michal Valient, Mark Valledor, Carsten
Wenzel, Steve Westin, Chris Wyman, Cem Yuksel, Billy Zelsnack, Fan Zhang, and
Renaldas Zioma.
We also thank many others who responded to our queries on public forums such
as GD Algorithms. Readers who took the time to send us corrections have also been
a great help. It is this supportive attitude that is one of the pleasures of working in
this field.
As we have come to expect, the cheerful competence of the people at A K Peters
made the publishing part of the process much easier. For this wonderful support, we
thank you all.
Preface xvii

On a personal note, Tomas would like to thank his son Felix and daughter Elina
for making him understand (again) just how fun it can be to play computer games
(on the Wii), instead of just looking at the graphics, and needless to say, his beautiful
wife Eva. . .
Eric would also like to thank his sons Ryan and Evan for their tireless efforts in
finding cool game demos and screenshots, and his wife Cathy for helping him survive
it all.
Naty would like to thank his daughter Karen and son Daniel for their forbearance
when writing took precedence over piggyback rides, and his wife Dorit for her constant
encouragement and support.

Tomas Akenine-Möller
Eric Haines
Naty Hoffman
March 2008

Acknowledgments for the Second Edition


One of the most agreeable aspects of writing this second edition has been working
with people and receiving their help. Despite their own pressing deadlines and con-
cerns, many people gave us significant amounts of their time to improve this book.
We would particularly like to thank the major reviewers. They are, listed alpha-
betically: Michael Abrash, Ian Ashdown, Ulf Assarsson, Chris Brennan, Sébastien
Dominé, David Eberly, Cass Everitt, Tommy Fortes, Evan Hart, Greg James, Jan
Kautz, Alexander Keller, Mark Kilgard, Adam Lake, Paul Lalonde, Thomas Larsson,
Dean Macri, Carl Marshall, Jason L. Mitchell, Kasper Høy Nielsen, Jon Paul Schel-
ter, Jacob Ström, Nick Triantos, Joe Warren, Michael Wimmer, and Peter Wonka. Of
these, we wish to single out Cass Everitt at NVIDIA and Jason L. Mitchell at ATI
Technologies for spending large amounts of time and effort in getting us the resources
we needed. Our thanks also go out to Wolfgang Engel for freely sharing the contents
of his upcoming book, ShaderX [426], so that we could make this edition as current
as possible.
From discussing their work with us, to providing images or other resources, to writ-
ing reviews of sections of the book, many others helped in creating this edition. They
all have our gratitude. These people include: Jason Ang, Haim Barad, Jules Bloomen-
thal, Jonathan Blow, Chas. Boyd, John Brooks, Cem Cebenoyan, Per Christensen,
Hamilton Chu, Michael Cohen, Daniel Cohen-Or, Matt Craighead, Paul Debevec,
Joe Demers, Walt Donovan, Howard Dortch, Mark Duchaineau, Phil Dutré, Dave
Eberle, Gerald Farin, Simon Fenney, Randy Fernando, Jim Ferwerda, Nickson Fong,
Tom Forsyth, Piero Foscari, Laura Fryer, Markus Giegl, Peter Glaskowsky, Andrew
Glassner, Amy Gooch, Bruce Gooch, Simon Green, Ned Greene, Larry Gritz, Joakim
Grundwall, Juan Guardado, Pat Hanrahan, Mark Harris, Michael Herf, Carsten Hess,
Rich Hilmer, Kenneth Hoff III, Naty Hoffman, Nick Holliman, Hugues Hoppe, Heather
Horne, Tom Hubina, Richard Huddy, Adam James, Kaveh Kardan, Paul Keller, David
xviii Preface

Kirk, Alex Klimovitski, Jason Knipe, Jeff Lander, Marc Levoy, J.P. Lewis, Ming Lin,
Adrian Lopez, Michael McCool, Doug McNabb, Stan Melax, Ville Miettinen, Kenny
Mitchell, Steve Morein, Henry Moreton, Jerris Mungai, Jim Napier, George Ngo, Hu-
bert Nguyen, Tito Pagán, Jörg Peters, Tom Porter, Emil Praun, Kekoa Proudfoot,
Bernd Raabe, Ravi Ramamoorthi, Ashutosh Rege, Szymon Rusinkiewicz, Chris Seitz,
Carlo Séquin, Jonathan Shade, Brian Smits, John Spitzer, Wolfgang Straßer, Wolf-
gang Stürzlinger, Philip Taylor, Pierre Terdiman, Nicolas Thibieroz, Jack Tumblin,
Fredrik Ulfves, Thatcher Ulrich, Steve Upstill, Alex Vlachos, Ingo Wald, Ben Wat-
son, Steve Westin, Dan Wexler, Matthias Wloka, Peter Woytiuk, David Wu, Garrett
Young, Borut Zalik, Harold Zatz, Hansong Zhang, and Denis Zorin. We also wish to
thank the journal ACM Transactions on Graphics for providing a mirror website for
this book.
Alice and Klaus Peters, our production manager Ariel Jaffee, our editor Heather
Holcombe, our copyeditor Michelle M. Richards, and the rest of the staff at A K Peters
have done a wonderful job making this book the best possible. Our thanks to all of you.
Finally, and most importantly, our deepest thanks go to our families for giving us
the huge amounts of quiet time we have needed to complete this edition. Honestly,
we never thought it would take this long!

Tomas Akenine-Möller
Eric Haines
May 2002
Acknowledgments for the First Edition
Many people helped in making this book. Some of the greatest contributions were
made by those who reviewed parts of it. The reviewers willingly gave the benefit
of their expertise, helping to significantly improve both content and style. We wish
to thank (in alphabetical order) Thomas Barregren, Michael Cohen, Walt Donovan,
Angus Dorbie, Michael Garland, Stefan Gottschalk, Ned Greene, Ming C. Lin, Jason
L. Mitchell, Liang Peng, Keith Rule, Ken Shoemake, John Stone, Phil Taylor, Ben
Trumbore, Jorrit Tyberghein, and Nick Wilt. We cannot thank you enough.
Many other people contributed their time and labor to this project. Some let us use
images, others provided models, still others pointed out important resources or con-
nected us with people who could help. In addition to the people listed above, we wish
to acknowledge the help of Tony Barkans, Daniel Baum, Nelson Beebe, Curtis Bee-
son, Tor Berg, David Blythe, Chas. Boyd, Don Brittain, Ian Bullard, Javier Castellar,
Satyan Coorg, Jason Della Rocca, Paul Diefenbach, Alyssa Donovan, Dave Eberly,
Kells Elmquist, Stuart Feldman, Fred Fisher, Tom Forsyth, Marty Franz, Thomas
Funkhouser, Andrew Glassner, Bruce Gooch, Larry Gritz, Robert Grzeszczuk, Paul
Haeberli, Evan Hart, Paul Heckbert, Chris Hecker, Joachim Helenklaken, Hugues
Hoppe, John Jack, Mark Kilgard, David Kirk, James Klosowski, Subodh Kumar,
André LaMothe, Jeff Lander, Jens Larsson, Jed Lengyel, Fredrik Liliegren, David Lue-
bke, Thomas Lundqvist, Tom McReynolds, Stan Melax, Don Mitchell, André Möller,
Preface xix

Steve Molnar, Scott R. Nelson, Hubert Nguyen, Doug Rogers, Holly Rushmeier, Ger-
not Schaufler, Jonas Skeppstedt, Stephen Spencer, Per Stenström, Jacob Ström, Fil-
ippo Tampieri, Gary Tarolli, Ken Turkowski, Turner Whitted, Agata and Andrzej
Wojaczek, Andrew Woo, Steve Worley, Brian Yen, Hans-Philip Zachau, Gabriel Zach-
mann, and Al Zimmerman. We also wish to thank the journal ACM Transactions on
Graphics for providing a stable website for this book.
Alice and Klaus Peters and the staff at AK Peters, particularly Carolyn Artin and
Sarah Gillis, have been instrumental in making this book a reality. To all of you,
thanks.
Finally, our deepest thanks go to our families and friends for providing support
throughout this incredible, sometimes grueling, often exhilarating process.

Tomas Möller
Eric Haines
March 1999
Chapter 1
Introduction

Real-time rendering is concerned with rapidly making images on the computer. It


is the most highly interactive area of computer graphics. An image appears on the
screen, the viewer acts or reacts, and this feedback affects what is generated next.
This cycle of reaction and rendering happens at a rapid enough rate that the viewer
does not see individual images, but rather becomes immersed in a dynamic process.
The rate at which images are displayed is measured in frames per second (FPS)
or Hertz (Hz). At one frame per second, there is little sense of interactivity; the user
is painfully aware of the arrival of each new image. At around 6 FPS, a sense of
interactivity starts to grow. Video games aim for 30, 60, 72, or higher FPS; at these
speeds the user focuses on action and reaction.
Movie projectors show frames at 24 FPS but use a shutter system to display each
frame two to four times to avoid flicker. This refresh rate is separate from the display
rate and is expressed in Hertz (Hz). A shutter that illuminates the frame three times
has a 72 Hz refresh rate. LCD monitors also separate refresh rate from display rate.
Watching images appear on a screen at 24 FPS might be acceptable, but a higher
rate is important for minimizing response time. As little as 15 milliseconds of temporal
delay can slow and interfere with interaction [1849]. As an example, head-mounted
displays for virtual reality often require 90 FPS to minimize latency.
There is more to real-time rendering than interactivity. If speed was the only
criterion, any application that rapidly responded to user commands and drew anything
on the screen would qualify. Rendering in real time normally means producing three-
dimensional images.
Interactivity and some sense of connection to three-dimensional space are suffi-
cient conditions for real-time rendering, but a third element has become a part of
its definition: graphics acceleration hardware. Many consider the introduction of the
3Dfx Voodoo 1 card in 1996 the real beginning of consumer-level three-dimensional
graphics [408]. With the rapid advances in this market, every computer, tablet, and
mobile phone now comes with a graphics processor built in. Some excellent examples
of the results of real-time rendering made possible by hardware acceleration are shown
in Figures 1.1 and 1.2.

1
2 1. Introduction

Figure 1.1. A shot from Forza Motorsport 7. (Image courtesy of Turn 10 Studios, Microsoft.)

Figure 1.2. The city of Beauclair rendered in The Witcher 3. (CD PROJEKT R , The Witcher R are
registered trademarks of CD PROJEKT Capital Group. The Witcher game c CD PROJEKT S.A.
Developed by CD PROJEKT S.A. All rights reserved. The Witcher game is based on the prose of
Andrzej Sapkowski. All other copyrights and trademarks are the property of their respective owners.)

Advances in graphics hardware have fueled an explosion of research in the field


of interactive computer graphics. We will focus on providing methods to increase
speed and improve image quality, while also describing the features and limitations of
acceleration algorithms and graphics APIs. We will not be able to cover every topic in
depth, so our goal is to present key concepts and terminology, explain the most robust
and practical algorithms in the field, and provide pointers to the best places to go for
more information. We hope our attempts to provide you with tools for understanding
this field prove to be worth the time and effort you spend with our book.
1.1. Contents Overview 3

1.1 Contents Overview


What follows is a brief overview of the chapters ahead.
Chapter 2, The Graphics Rendering Pipeline. The heart of real-time rendering is the
set of steps that takes a scene description and converts it into something we can see.
Chapter 3, The Graphics Processing Unit. The modern GPU implements the stages of
the rendering pipeline using a combination of fixed-function and programmable units.
Chapter 4, Transforms. Transforms are the basic tools for manipulating the position,
orientation, size, and shape of objects and the location and view of the camera.
Chapter 5, Shading Basics. Discussion begins on the definition of materials and lights
and their use in achieving the desired surface appearance, whether realistic or stylized.
Other appearance-related topics are introduced, such as providing higher image quality
through the use of antialiasing, transparency, and gamma correction.
Chapter 6, Texturing. One of the most powerful tools for real-time rendering is the
ability to rapidly access and display images on surfaces. This process is called textur-
ing, and there are a wide variety of methods for applying it.
Chapter 7, Shadows. Adding shadows to a scene increases both realism and compre-
hension. The more popular algorithms for computing shadows rapidly are presented.
Chapter 8, Light and Color. Before we perform physically based rendering, we first
need to understand how to quantify light and color. And after our physical rendering
process is done, we need to transform the resulting quantities into values for the
display, accounting for the properties of the screen and viewing environment. Both
topics are covered in this chapter.
Chapter 9, Physically Based Shading. We build an understanding of physically based
shading models from the ground up. The chapter starts with the underlying physical
phenomena, covers models for a variety of rendered materials, and ends with methods
for blending materials together and filtering them to avoid aliasing and preserve surface
appearance.
Chapter 10, Local Illumination.Algorithms for portraying more elaborate light sources
are explored. Surface shading takes into account that light is emitted by physical
objects, which have characteristic shapes.
Chapter 11, Global Illumination. Algorithms that simulate multiple interactions be-
tween the light and the scene further increase the realism of an image. We discuss
ambient and directional occlusion and methods for rendering global illumination ef-
fects on diffuse and specular surfaces, as well as some promising unified approaches.
Chapter 12, Image-Space Effects. Graphics hardware is adept at performing image
processing at rapid speeds. Image filtering and reprojection techniques are discussed
4 1. Introduction

first, then we survey several popular post-processing effects: lens flares, motion blur,
and depth of field.
Chapter 13, Beyond Polygons. Triangles are not always the fastest or most realistic way
to describe objects. Alternate representations based on using images, point clouds,
voxels, and other sets of samples each have their advantages.
Chapter 14, Volumetric and Translucency Rendering. The focus here is the theory
and practice of volumetric material representations and their interactions with light
sources. The simulated phenomena range from large-scale atmospheric effects down
to light scattering within thin hair fibers.
Chapter 15, Non-Photorealistic Rendering. Attempting to make a scene look realistic
is only one way of rendering it. Other styles, such as cartoon shading and watercolor
effects, are surveyed. Line and text generation techniques are also discussed.
Chapter 16, Polygonal Techniques. Geometric data comes from a wide range of sources,
and sometimes requires modification to be rendered rapidly and well. The many facets
of polygonal data representation and compression are presented.
Chapter 17, Curves and Curved Surfaces. More complex surface representations offer
advantages such as being able to trade off between quality and rendering speed, more
compact representation, and smooth surface generation.
Chapter 18, Pipeline Optimization. Once an application is running and uses efficient
algorithms, it can be made even faster using various optimization techniques. Finding
the bottleneck and deciding what to do about it is the theme here. Multiprocessing
is also discussed.
Chapter 19, Acceleration Algorithms. After you make it go, make it go fast. Various
forms of culling and level of detail rendering are covered.
Chapter 20, Efficient Shading. A large number of lights in a scene can slow performance
considerably. Fully shading surface fragments before they are known to be visible is
another source of wasted cycles. We explore a wide range of approaches to tackle these
and other forms of inefficiency while shading.
Chapter 21, Virtual and Augmented Reality. These fields have particular challenges and
techniques for efficiently producing realistic images at rapid and consistent rates.
Chapter 22, Intersection Test Methods. Intersection testing is important for rendering,
user interaction, and collision detection. In-depth coverage is provided here for a wide
range of the most efficient algorithms for common geometric intersection tests.
Chapter 23, Graphics Hardware. The focus here is on components such as color depth,
framebuffers, and basic architecture types. A case study of representative GPUs is
provided.
Chapter 24, The Future. Take a guess (we do).
1.2. Notation and Definitions 5

Due to space constraints, we have made a chapter about Collision Detection free
for download at realtimerendering.com, along with appendices on linear algebra and
trigonometry.

1.2 Notation and Definitions


First, we shall explain the mathematical notation used in this book. For a more
thorough explanation of many of the terms used in this section, and throughout this
book, get our linear algebra appendix at realtimerendering.com.

1.2.1 Mathematical Notation


Table 1.1 summarizes most of the mathematical notation we will use. Some of the
concepts will be described at some length here.
Note that there are some exceptions to the rules in the table, primarily shading
equations using notation that is extremely well established in the literature, e.g., L
for radiance, E for irradiance, and σs for scattering coefficient.
The angles and the scalars are taken from R, i.e., they are real numbers. Vectors
and points are denoted by bold lowercase letters, and the components are accessed as
 
vx
v =  vy  ,
vz
that is, in column vector format, which is commonly used in the computer graphics
world. At some places in the text we use (vx , vy , vz ) instead of the formally more
correct (vx vy vz )T , since the former is easier to read.

Type Notation Examples


angle lowercase Greek αi , φ, ρ, η, γ242 , θ
scalar lowercase italic a, b, t, uk , v, wij
vector or point lowercase bold a,u, vs h(ρ), hz
matrix capital bold T(t), X, Rx (ρ)
plane π: a vector and π : n · x + d = 0,
a scalar π1 : n1 · x + d1 = 0
triangle 4 3 points 4v0 v1 v2 , 4cba
line segment two points uv, ai bj
geometric entity capital italic AOBB , T, BAABB

Table 1.1. Summary of the notation used in this book.


6 1. Introduction

Using homogeneous notation, a coordinate is represented by four values v =


(vx vy vz vw )T , where a vector is v = (vx vy vz 0)T and a point is
v = (vx vy vz 1)T . Sometimes we use only three-element vectors and points, but we
try to avoid any ambiguity as to which type is being used. For matrix manipulations,
it is extremely advantageous to have the same notation for vectors as for points. For
more information, see Chapter 4 on transforms. In some algorithms, it will be conve-
nient to use numeric indices instead of x, y, and z, for example v = (v0 v1 v2 )T . All
these rules for vectors and points also hold for two-element vectors; in that case, we
simply skip the last component of a three-element vector.
The matrix deserves a bit more explanation. The common sizes that will be used
are 2 × 2, 3 × 3, and 4 × 4. We will review the manner of accessing a 3 × 3 matrix
M, and it is simple to extend this process to the other sizes. The (scalar) elements of
M are denoted mij , 0 ≤ (i, j) ≤ 2, where i denotes the row and j the column, as in
Equation 1.1:  
m00 m01 m02
M =  m10 m11 m12  . (1.1)
m20 m21 m22
The following notation, shown in Equation 1.2 for a 3 × 3 matrix, is used to isolate
vectors from the matrix M: m,j represents the jth column vector and mi, represents
the ith row vector (in column vector form). As with vectors and points, indexing
the column vectors can also be done with x, y, z, and sometimes w, if that is more
convenient:
 T 
m0,
   T 
M = m,0 m,1 m,2 = mx my mz =   m1,  . (1.2)

mT2,

A plane is denoted π : n · x + d = 0 and contains its mathematical formula, the


plane normal n and the scalar d. The normal is a vector describing what direction
the plane faces. More generally (e.g., for curved surfaces), a normal describes this
direction for a particular point on the surface. For a plane the same normal happens
to apply to all its points. π is the common mathematical notation for a plane. The
plane π is said to divide the space into a positive half-space, where n · x + d > 0, and
a negative half-space, where n · x + d < 0. All other points are said to lie in the plane.
A triangle can be defined by three points v0 , v1 , and v2 and is denoted by
4v0 v1 v2 .
Table 1.2 presents some additional mathematical operators and their notation.
The dot, cross, determinant, and length operators are explained in our downloadable
linear algebra appendix at realtimerendering.com. The transpose operator turns a
column vector into a row vector and vice versa. Thus a column vector can be written
in compressed form in a block of text as v = (vx vy vz )T . Operator 4, introduced
in Graphics Gems IV [735], is a unary operator on a two-dimensional vector. Letting
1.2. Notation and Definitions 7

Operator Description
1: · dot product
2: × cross product
T
3: v transpose of the vector v

4: the unary, perp dot product operator
5: | · | determinant of a matrix
6: | · | absolute value of a scalar
7: k·k length (or norm) of argument
8: x+ clamping x to 0
+
9: x clamping x between 0 and 1
10: n! factorial
!
n
11: binomial coefficients
k

Table 1.2. Notation for some mathematical operators.

this operator work on a vector v = (vx vy )T gives a vector that is perpendicular to v,


i.e., v⊥ = (−vy vx )T . We use |a| to denote the absolute value of the scalar a, while
|A| means the determinant of the matrix A. Sometimes, we also use |A| = |a b c| =
det(a, b, c), where a, b, and c are column vectors of the matrix A.
Operators 8 and 9 are clamping operators, commonly used in shading calculations.
Operator 8 clamps negative values to 0:
(
+ x, if x > 0,
x = (1.3)
0, otherwise,

and operator 9 clamps values between 0 and 1:



1,
 if x ≥ 1,
x+ = x, if 0 < x < 1, (1.4)

0, otherwise.

The tenth operator, factorial, is defined as shown below, and note that 0! = 1:

n! = n(n − 1)(n − 2) · · · 3 · 2 · 1. (1.5)

The eleventh operator, the binomial factor, is defined as shown in Equation 1.6:
 
n n!
= . (1.6)
k k!(n − k)!
8 1. Introduction

Function Description
1: atan2(y, x) two-value arctangent
2: log(n) natural logarithm of n

Table 1.3. Notation for some specialized mathematical functions.

Further on, we call the common planes x = 0, y = 0, and z = 0 the coordinate


planes or axis-aligned planes. The axes ex = (1 0 0)T , ey = (0 1 0)T , and
ez = (0 0 1)T are called main axes or main directions and individually called the
x-axis, y-axis, and z-axis. This set of axes is often called the standard basis. Unless
otherwise noted, we will use orthonormal bases (consisting of mutually perpendicular
unit vectors).
The notation for a range that includes both a and b, and all numbers in between,
is [a, b]. If we want all number between a and b, but not a and b themselves, then we
write (a, b). Combinations of these can also be made, e.g., [a, b) means all numbers
between a and b including a but not b.
The C-math function atan2(y,x) is often used in this text, and so deserves some
attention. It is an extension of the mathematical function arctan(x). The main
differences between them are that − π2 < arctan(x) < π2 , that 0 ≤ atan2(y, x) < 2π,
and that an extra argument has been added to the latter function. A common use for
arctan is to compute arctan(y/x), but when x = 0, division by zero results. The extra
argument for atan2(y,x) avoids this.
In this volume the notation log(n) always means the natural logarithm, loge (n),
not the base-10 logarithm, log10 (n).
We use a right-hand coordinate system since this is the standard system for three-
dimensional geometry in the field of computer graphics.
Colors are represented by a three-element vector, such as (red, green, blue), where
each element has the range [0, 1].

1.2.2 Geometrical Definitions


The basic rendering primitives (also called drawing primitives) used by almost all
graphics hardware are points, lines, and triangles.1
Throughout this book, we will refer to a collection of geometric entities as either
a model or an object. A scene is a collection of models comprising everything that
is included in the environment to be rendered. A scene can also include material
descriptions, lighting, and viewing specifications.
Examples of objects are a car, a building, and even a line. In practice, an object
often consists of a set of drawing primitives, but this may not always be the case; an
object may have a higher kind of geometrical representation, such as Bézier curves or
1 The only exceptions we know of are Pixel-Planes [502], which could draw spheres, and the

NVIDIA NV1 chip, which could draw ellipsoids.


1.2. Notation and Definitions 9

surfaces, or subdivision surfaces. Also, objects can consist of other objects, e.g., a car
object includes four door objects, four wheel objects, and so on.

1.2.3 Shading
Following well-established computer graphics usage, in this book terms derived from
“shading,” “shader,” and related words are used to refer to two distinct but related
concepts: computer-generated visual appearance (e.g., “shading model,” “shading
equation,” “toon shading”) or a programmable component of a rendering system
(e.g., “vertex shader,” “shading language”). In both cases, the intended meaning
should be clear from the context.

Further Reading and Resources


The most important resource we can refer you to is the website for this book:
realtimerendering.com. It contains links to the latest information and websites rele-
vant to each chapter. The field of real-time rendering is changing with real-time speed.
In the book we have attempted to focus on concepts that are fundamental and tech-
niques that are unlikely to go out of style. On the website we have the opportunity
to present information that is relevant to today’s software developer, and we have the
ability to keep it up-to-date.
Bibliography

[1] Aalto, Tatu, “Experiments with DirectX Raytracing in Remedy’s Northlight Engine,” Game
Developers Conference, Mar. 19, 2018. Cited on p. 1044
[2] Aaltonen, Sebastian, “Modern Textureless Deferred Rendering Techniques,” Beyond3D Fo-
rum, Feb. 28, 2016. Cited on p. 906, 907
[3] Abbas, Wasim, “Practical Analytic 2D Signed Distance Field Generation,” in ACM SIG-
GRAPH 2016 Talks, article no. 68, July 2016. Cited on p. 677, 678
[4] Abrash, Michael, Michael Abrash’s Graphics Programming Black Book, Special Edition, The
Coriolis Group, Inc., 1997. Cited on p. 823
[5] Abrash, Michael, “Latency—The sine qua non of AR and VR,” Ramblings in Valve Time
blog, Dec. 29, 2012. Cited on p. 920, 939
[6] Abrash, Michael, “Raster-Scan Displays: More Than Meets The Eye,” Ramblings in Valve
Time blog, Jan. 28, 2013. Cited on p. 922, 1012
[7] Abrash, Michael, “Down the VR Rabbit Hole: Fixing Judder,” Ramblings in Valve Time
blog, July 26, 2013. Cited on p. 935, 1011
[8] Abrash, Michael, “Oculus Chief Scientist Predicts the Next 5 Years of VR Technology,” Road
to VR website, Nov. 4, 2016. Cited on p. 931, 932
[9] Adams, Ansel, The Camera, Little, Brown and Company, 1980. Cited on p. 291
[10] Adams, Ansel, The Negative, Little, Brown and Company, 1981. Cited on p. 289, 291
[11] Adams, Ansel, The Print, Little, Brown and Company, 1983. Cited on p. 291
[12] Adorjan, Matthias, OpenSfM: A Collaborative Structure-from-Motion System, Diploma thesis
in Visual Computing, Vienna University of Technology, 2016. Cited on p. 574, 575
[13] Aila, Timo, and Ville Miettinen, “dPVS: An Occlusion Culling System for Massive Dynamic
Environments,” IEEE Computer Graphics and Applications, vol. 24, no. 2, pp. 86–97, Mar.
2004. Cited on p. 666, 821, 839, 850, 879
[14] Aila, Timo, and Samuli Laine, “Alias-Free Shadow Maps,” in Eurographics Symposium on
Rendering, Eurographics Association, pp. 161–166, June 2004. Cited on p. 260
[15] Aila, Timo, and Samuli Laine, “Understanding the Efficiency of Ray Traversal on GPUs,”
High Performance Graphics, June 2009. Cited on p. 511
[16] Aila, Timo, Samuli Laine, and Tero Karras, “Understanding the Efficiency of Ray Traversal
on GPUs—Kepler and Fermi Addendum,” Technical Report NVR-2012-02, NVIDIA, 2012.
Cited on p. 511, 961
[17] Airey, John M., John H. Rohlf, and Frederick P. Brooks Jr., “Towards Image Realism with
Interactive Update Rates in Complex Virtual Building Environments,” ACM SIGGRAPH
Computer Graphics (Symposium on Interactive 3D Graphics), vol. 24, no. 2, pp. 41–50, Mar.
1990. Cited on p. 687, 837

1051
1052 Bibliography

[18] Airey, John M., Increasing Update Rates in the Building Walkthrough System with Automatic
Model-Space Subdivision and Potentially Visible Set Calculations, PhD thesis, Technical Re-
port TR90-027, Department of Computer Science, University of North Carolina at Chapel
Hill, July 1990. Cited on p. 837
[19] Akeley, K., P. Haeberli, and D. Burns, tomesh.c, a C-program on the SGI Developer’s Toolbox
CD, 1990. Cited on p. 692
[20] Akeley, Kurt, and Pat Hanrahan, “Real-Time Graphics Architectures,” Course CS448A Notes,
Stanford University, Fall 2001. Cited on p. 1040
[21] Akenine-Möller, Tomas, “Fast 3D Triangle-Box Overlap Testing,” journal of graphics tools,
vol. 6, no. 1, pp. 29–33, 2001. Cited on p. 974, 975
[22] Akenine-Möller, Tomas, and Jacob Ström, “Graphics for the Masses: A Hardware Raster-
ization Architecture for Mobile Phones,” ACM Transactions on Graphics, vol. 22, no. 3,
pp. 801–808, 2003. Cited on p. 146, 1015, 1027
[23] Akenine-Möller, Tomas, and Ulf Assarsson, “On the Degree of Vertices in a Shadow Volume
Silhouette,” journal of graphics tools, vol. 8, no. 4, pp. 21–24, 2003. Cited on p. 667
[24] Akenine-Möller, T., and T. Aila, “Conservative and Tiled Rasterization Using a Modified
Triangle Setup,” journal of graphics tools, vol. 10, no. 3, pp. 1–8, 2005. Cited on p. 996, 1001
[25] Akenine-Möller, Tomas, and Björn Johnsson, “Performance per What?” Journal of Computer
Graphics Techniques, vol. 1, no. 18, pp. 37–41, 2012. Cited on p. 790
[26] Akenine-Möller, Tomas, “Some Notes on Graphics Hardware,” Tomas Akenine-Möller web-
page, Nov. 27, 2012. Cited on p. 999, 1000
[27] Akin, Atilla, “Pushing the Limits of Realism of Materials,” Maxwell Render blog, Nov. 26,
2014. Cited on p. 362, 363
[28] Alexa, Marc, “Recent Advances in Mesh Morphing,” Computer Graphics Forum, vol. 21,
no. 2, pp. 173–197, 2002. Cited on p. 87, 88, 102
[29] Alexa, M., and T. Boubekeur, “Subdivision Shading,” ACM Transactions on Graphics,
vol. 27, no. 5, pp. 142:1–142:3, 2008. Cited on p. 767
[30] Aliaga, Daniel G., and Anselmo Lastra, “Automatic Image Placement to Provide a Guaranteed
Frame Rate,” in SIGGRAPH ’99: Proceedings of the 26th Annual Conference on Computer
Graphics and Interactive Techniques, ACM Press/Addison-Wesley Publishing Co., pp. 307–
316, Aug. 1999. Cited on p. 561
[31] AMD, “AMD PowerTune Technology,” AMD website, 2011. Cited on p. 789
[32] AMD, “AMD Graphics Cores Next (GCN) Architecture,” AMD website, 2012. Cited on
p. 1036
[33] AMD, “Asynchronous Shaders: Unlocking the Full Potential of the GPU,” AMD website,
2015. Cited on p. 1036
[34] AMD, “Radeon: Dissecting the Polaris Architecture,” AMD website, 2016. Cited on p. 1038
[35] AMD, “Radeon’s Next-Generation Vega Architecture,” AMD website, 2017. Cited on p. 1035,
1036, 1037
[36] AMD, GPUOpen, “TressFX,” GitHub repository, 2017. Cited on p. 642, 644, 647
[37] American Society for Photogrammetry & Remote Sensing, “LAS Specification, Version 1.4—
R13,” asprs.org, July 15, 2013. Cited on p. 573
[38] Anagnostou, Kostas, “How Unreal Renders a Frame,” Interplay of Light blog, Oct. 24, 2017.
Cited on p. 899, 905, 913
[39] Anderson, Eric A., “Building Obduction: Cyan’s Custom UE4 Art Tools,” Game Developers
Conference, Mar. 2016. Cited on p. 366
Bibliography 1053

[40] Andersson, Johan, “Terrain Rendering in Frostbite Using Procedural Shader Splatting,” SIG-
GRAPH Advanced Real-Time Rendering in 3D Graphics and Games course, Aug. 2007. Cited
on p. 43, 175, 218, 877, 878
[41] Andersson, Johan, and Daniel Johansson, “Shadows & Decals: D3D10 Techniques from Frost-
bite,” Game Developers Conference, Mar. 2009. Cited on p. 245, 246, 247
[42] Andersson, Johan, “Parallel Graphics in Frostbite—Current & Future,” SIGGRAPH Beyond
Programmable Shading course, Aug. 2009. Cited on p. 893
[43] Andersson, Johan, “DirectX 11 Rendering in Battlefield 3,” Game Developers Conference,
Mar. 2011. Cited on p. 147, 888, 890, 893, 896
[44] Andersson, Johan, “Shiny PC Graphics in Battlefield 3,” GeForce LAN, Oct. 2011. Cited on
p. 569, 570, 604
[45] Andersson, Johan, “Parallel Futures of a Game Engine,” Intel Dynamic Execution Environ-
ment Symposium, May 2012. Cited on p. 811, 812
[46] Andersson, Johan, “The Rendering Pipeline—Challenges & Next Steps,” SIGGRAPH Open
Problems in Real-Time Rendering course, Aug. 2015. Cited on p. 156, 514, 1014
[47] Andersson, Johan, and Colin Barré-Brisebois, “Shiny Pixels and Beyond: Real-Time Raytrac-
ing at SEED,” Game Developers Conference, Mar. 2018. Cited on p. 1044
[48] Andersson, M., J. Hasselgren, R. Toth, and T. Akenine-Möller, “Adaptive Texture Space
Shading for Stochastic Rendering,” Computer Graphics Forum, vol. 33, no. 2, pp. 341–350,
2014. Cited on p. 910, 911
[49] Andersson, Magnus, Algorithmic Improvements for Stochastic Rasterization & Depth Buffer-
ing, PhD thesis, Lund University, Oct. 2015. Cited on p. 1015
[50] Andersson, M., J. Hasselgren, and T. Akenine-Möller, “Masked Depth Culling for Graphics
Hardware,” ACM Transactions on Graphics, vol. 34, no. 6, pp. 188:1–188:9, 2015. Cited on
p. 849, 1015, 1016
[51] Andreev, Dmitry, “Real-Time Frame Rate Up-Conversion for Video Games,” in ACM SIG-
GRAPH 2010 Talks, ACM, article no. 16, July 2010. Cited on p. 537, 542
[52] Andreev, Dmitry, “Anti-Aliasing from a Different Perspective,” Game Developers Conference,
Mar. 2011. Cited on p. 147
[53] Anguelov, Bobby, “DirectX10 Tutorial 10: Shadow Mapping Part 2,” Taking Initiative blog,
May 25, 2011. Cited on p. 249
[54] Annen, Thomas, Jan Kautz, Frédo Durand, and Hans-Peter Seidel, “Spherical Harmonic Gra-
dients for Mid-Range Illumination,” in Proceedings of the Fifteenth Eurographics Conference
on Rendering Techniques, Eurographics Association, pp. 331–336, June 2004. Cited on p. 488
[55] Annen, Thomas, Tom Mertens, Philippe Bekaert, Hans-Peter Seidel, and Jan Kautz, “Con-
volution Shadow Maps,” in Proceedings of the 18th Eurographics Conference on Rendering
Techniques, Eurographics Association, pp. 51–60, June 2007. Cited on p. 255
[56] Annen, Thomas, Tom Mertens, Hans-Peter Seidel, Eddy Flerackers, and Jan Kautz, “Expo-
nential Shadow Maps,” in Graphics Interface 2008, Canadian Human-Computer Communi-
cations Society, pp. 155–161, May 2008. Cited on p. 256
[57] Annen, Thomas, Zhao Dong, Tom Mertens, Philippe Bekaert, Hans-Peter Seidel, and Jan
Kautz, “Real-Time, All-Frequency Shadows in Dynamic Scenes,” ACM Transactions on
Graphics, vol. 27, no. 3, article no. 34, Aug. 2008. Cited on p. 257
[58] Ansari, Marwan Y., “Image Effects with DirectX 9 Pixel Shaders,” in Wolfgang Engel, ed.,
ShaderX2 : Shader Programming Tips and Tricks with DirectX 9, pp. 481–518, Wordware,
2004. Cited on p. 521, 665
1054 Bibliography

[59] Answer, James, “Fast and Flexible: Technical Art and Rendering for The Unknown,” Game
Developers Conference, Mar. 2016. Cited on p. 710, 787, 805, 931, 934, 936, 938
[60] Antoine, François, Ryan Brucks, Brian Karis, and Gavin Moran, “The Boy, the Kite and the
100 Square Mile Real-Time Digital Backlot,” in ACM SIGGRAPH 2015 Talks, ACM, article
no. 20, Aug. 2015. Cited on p. 493
[61] Antonio, Franklin, “Faster Line Segment Intersection,” in David Kirk, ed., Graphics Gems
III, pp. 199–202, Academic Press, 1992. Cited on p. 988, 989
[62] Antonov, Michael, “Asynchronous Timewarp Examined,” Oculus Developer Blog, Mar. 3,
2015. Cited on p. 936, 937
[63] Apodaca, Anthony A., and Larry Gritz, Advanced RenderMan: Creating CGI for Motion
Pictures, Morgan Kaufmann, 1999. Cited on p. 37, 909
[64] Apodaca, Anthony A., “How PhotoRealistic RenderMan Works,” in Advanced RenderMan:
Creating CGI for Motion Pictures, Morgan Kaufmann, Chapter 6, 1999. Also in SIGGRAPH
Advanced RenderMan 2: To RI INFINITY and Beyond course, July 2000. Cited on p. 51
[65] Apple, “ARKit,” Apple developer website. Cited on p. 918
[66] Apple, “OpenGL ES Programming Guide for iOS,” Apple developer website. Cited on p. 177,
702, 713
[67] de Araújo, B. R., D. S. Lopes, P. Jepp, J. A. Jorge, and B. Wyvill, “A Survey on Implicit
Surface Polygonization,” ACM Computing Surveys, vol. 47, no. 4, pp. 60:1–60:39, 2015. Cited
on p. 586, 683, 751, 753, 781, 944
[68] Arge, L., G. S. Brodal, and R. Fagerberg, “Cache-Oblivious Data Structures,” in Handbook
of Data Structures, CRC Press, Chapter 34, 2005. Cited on p. 827
[69] ARM Limited, “ARM R MaliTM Application Developer Best Practices, Version 1.0,” ARM
documentation, Feb. 27, 2017. Cited on p. 48, 798, 1029
[70] Arvo, James, “A Simple Method for Box-Sphere Intersection Testing,” in Andrew S. Glassner,
ed., Graphics Gems, Academic Press, pp. 335–339, 1990. Cited on p. 977, 984
[71] Arvo, James, “Ray Tracing with Meta-Hierarchies,” SIGGRAPH Advanced Topics in Ray
Tracing course, Aug. 1990. Cited on p. 953
[72] Arvo, James, ed., Graphics Gems II, Academic Press, 1991. Cited on p. 102, 991
[73] Arvo, James, “The Irradiance Jacobian for Partially Occluded Polyhedral Sources,” in SIG-
GRAPH ’94: Proceedings of the 21st Annual Conference on Computer Graphics and Inter-
active Techniques, ACM, pp. 343–350, July 1994. Cited on p. 379
[74] Arvo, James, “Applications of Irradiance Tensors to the Simulation of non-Lambertian Phe-
nomena,” in SIGGRAPH ’95: Proceedings of the 22nd Annual Conference on Computer
Graphics and Interactive Techniques, ACM, pp. 335–342, Aug. 1995. Cited on p. 389, 390
[75] Asanovic, Krste, et al., “The Landscape of Parallel Computing Research: A View from Berke-
ley,” Technical Report No. UCB/EECS-2006-183, EECS Department, University of California,
Berkeley, 2006. Cited on p. 806, 815
[76] Ashdown, Ian, Radiosity: A Programmer’s Perspective, John Wiley & Sons, Inc., 1994. Cited
on p. 271, 442
[77] Ashikhmin, Michael, and Peter Shirley, “An Anisotropic Phong Light Reflection Model,”
Technical Report UUCS-00-014, Computer Science Department, University of Utah, June
2000. Cited on p. 352
[78] Ashikhmin, Michael, Simon Premože, and Peter Shirley, “A Microfacet-Based BRDF Genera-
tor,” in SIGGRAPH ’00: Proceedings of the 27th Annual Conference on Computer Graphics
and Interactive Techniques, ACM Press/Addison-Wesley Publishing Co., pp. 67–74, July 2000.
Cited on p. 328, 335, 357
Bibliography 1055

[79] Ashikhmin, Michael, “Microfacet-Based BRDFs,” SIGGRAPH State of the Art in Modeling
and Measuring of Surface Reflection course, Aug. 2001. Cited on p. 329
[80] Ashikhmin, Michael, Abhijeet Ghosh, “Simple Blurry Reflections with Environment Maps,”
journal of graphics tools, vol. 7, no. 4, pp. 3–8, 2002. Cited on p. 418, 419
[81] Ashikhmin, Michael, and Simon Premože, “Distribution-Based BRDFs,” Technical Report,
2007. Cited on p. 357
[82] Asirvatham, Arul, and Hugues Hoppe, “Terrain Rendering Using GPU-Based Geometry
Clipmaps,” in Matt Pharr, ed., GPU Gems 2, Addison-Wesley, pp. 27–45, 2005. Cited
on p. 872, 873
[83] Assarsson, Ulf, and Tomas Möller, “Optimized View Frustum Culling Algorithms for Bounding
Boxes,” journal of graphics tools, vol. 5, no. 1, pp. 9–22, 2000. Cited on p. 836, 982, 986
[84] Atanasov, Asen, and Vladimir Koylazov, “A Practical Stochastic Algorithm for Rendering
Mirror-Like Flakes,” in ACM SIGGRAPH 2016 Talks, article no. 67, July 2016. Cited on
p. 372
[85] Austin, Michael, “Voxel Surfing,” Game Developers Conference, Mar. 2016. Cited on p. 586
[86] Bærentzen, J. Andreas, Steen Lund Nielsen, Mikkel Gjøl, and Bent D. Larsen, “Two Methods
for Antialiased Wireframe Drawing with Hidden Line Removal,” in SCCG ’08 Proceedings of
the 24th Spring Conference on Computer Graphics, ACM, pp. 171–177, Apr. 2008. Cited on
p. 673, 675
[87] Baert, J., A. Lagae, and Ph. Dutré, “Out-of-Core Construction of Sparse Voxel Octrees,”
Computer Graphics Forum, vol. 33, no. 6, pp. 220–227, 2014. Cited on p. 579, 582
[88] Bagnell, Dan, “Graphics Tech in Cesium—Vertex Compression,” Cesium blog, May 18, 2015.
Cited on p. 715
[89] Bahar, E., and S. Chakrabarti, “Full-Wave Theory Applied to Computer-Aided Graphics for
3D Objects,” IEEE Computer Graphics and Applications, vol. 7, no. 7, pp. 46–60, July 1987.
Cited on p. 361
[90] Bahnassi, Homam, and Wessam Bahnassi, “Volumetric Clouds and Mega-Particles,” in Wolf-
gang Engel, ed., ShaderX5 , Charles River Media, pp. 295–302, 2006. Cited on p. 521, 556
[91] Baker, Dan, “Advanced Lighting Techniques,” Meltdown 2005, July 2005. Cited on p. 369
[92] Baker, Dan, and Yannis Minadakis, “Firaxis’ Civilization V: A Case Study in Scalable Game
Performance,” Game Developers Conference, Mar. 2010. Cited on p. 812
[93] Baker, Dan, “Spectacular Specular—LEAN and CLEAN Specular Highlights,” Game Devel-
opers Conference, Mar. 2011. Cited on p. 370
[94] Baker, Dan, “Object Space Lighting,” Game Developers Conference, Mar. 2016. Cited on
p. 911
[95] Bako, Steve, Thijs Vogels, Brian McWilliams, Mark Meyer, Jan Novák, Alex Harvill, Pradeep
Sen, Tony DeRose, and Fabrice Rousselle, “Kernel-Predicting Convolutional Networks for
Denoising Monte Carlo Renderings,” ACM Transactions on Graphics, vol. 36, no. 4, article
no. 97, 2017. Cited on p. 511, 1043
[96] Baldwin, Doug, and Michael Weber, “Fast Ray-Triangle Intersections by Coordinate Trans-
formation,” Journal of Computer Graphics Techniques, vol. 5, no. 3, pp. 39–49, 2016. Cited
on p. 962
[97] Balestra, C., and P.-K. Engstad, “The Technology of Uncharted: Drake’s Fortune,” Game
Developers Conference, Mar. 2008. Cited on p. 893
[98] Banks, David, “Illumination in Diverse Codimensions,” in SIGGRAPH ’94: Proceedings of the
21st Annual Conference on Computer Graphics and Interactive Techniques, ACM, pp. 327–
334, July 1994. Cited on p. 359
1056 Bibliography

[99] Barb, C., “Texture Streaming in Titanfall 2,” Game Developers Conference, Feb.–Mar. 2017.
Cited on p. 869
[100] Barber, C. B., D. P. Dobkin, and H. Huhdanpaa, “The Quickhull Algorithm for Convex Hull,”
Technical Report GCG53, Geometry Center, July 1993. Cited on p. 950
[101] Barequet, G., and G. Elber, “Optimal Bounding Cones of Vectors in Three Dimensions,”
Information Processing Letters, vol. 93, no. 2, pp. 83–89, 2005. Cited on p. 834
[102] Barkans, Anthony C., “Color Recovery: True-Color 8-Bit Interactive Graphics,” IEEE Com-
puter Graphics and Applications, vol. 17, no. 1, pp. 67–77, Jan./Feb. 1997. Cited on p. 1010
[103] Barkans, Anthony C., “High-Quality Rendering Using the Talisman Architecture,” in Proceed-
ings of the ACM SIGGRAPH/EUROGRAPHICS Workshop on Graphics Hardware, ACM,
pp. 79–88, Aug. 1997. Cited on p. 189
[104] Barla, Pascal, Joëlle Thollot, and Lee Markosian, “X-Toon: An Extended Toon Shader,”
in Proceedings of the 4th International Symposium on Non-Photorealistic Animation and
Rendering, ACM, pp. 127–132, 2006. Cited on p. 654
[105] Barré-Brisebois, Colin, and Marc Bouchard, “Approximating Translucency for a Fast, Cheap
and Convincing Subsurface Scattering Look,” Game Developers Conference, Feb.–Mar. 2011.
Cited on p. 639, 640
[106] Barré-Brisebois, Colin, and Stephen Hill, “Blending in Detail,” Self-Shadow blog, July 10,
2012. Cited on p. 366, 371, 890
[107] Barré-Brisebois, Colin, “Hexagonal Bokeh Blur Revisited,” ZigguratVertigo’s Hideout blog,
Apr. 17, 2017. Cited on p. 531
[108] Barrett, Sean, “Blend Does Not Distribute Over Lerp,” Game Developer, vol. 11, no. 10,
pp. 39–41, Nov. 2004. Cited on p. 160
[109] Barrett, Sean, “Sparse Virtual Textures,” Game Developers Conference, Mar. 2008. Cited on
p. 867
[110] Barringer, R., M. Andersson, and T. Akenine-Möller, “Ray Accelerator: Efficient and Flexible
Ray Tracing on a Heterogeneous Architecture,” Computer Graphics Forum, vol. 36, no. 8,
pp. 166–177, 2017. Cited on p. 1006
[111] Bartels, Richard H., John C. Beatty, and Brian A. Barsky, An Introduction to Splines for use
in Computer Graphics and Geometric Modeling, Morgan Kaufmann, 1987. Cited on p. 732,
734, 749, 754, 756, 781
[112] Barzel, Ronen, ed., Graphics Tools—The jgt Editors’ Choice, A K Peters, Ltd., 2005. Cited
on p. 1058, 1064, 1065, 1084, 1091, 1111, 1115, 1133, 1138, 1143
[113] Batov, Vladimir, “A Quick and Simple Memory Allocator,” Dr. Dobbs’s Portal, Jan. 1, 1998.
Cited on p. 793
[114] Baum, Daniel R., Stephen Mann, Kevin P. Smith, and James M. Winget, “Making Radios-
ity Usable: Automatic Preprocessing and Meshing Techniques for the Generation of Accu-
rate Radiosity Solutions,” Computer Graphics (SIGGRAPH ’91 Proceedings), vol. 25, no. 4,
pp. 51–60, July 1991. Cited on p. 689
[115] Bavoil, Louis, Steven P. Callahan, Aaron Lefohn, João L. D. Comba, and Cláudio T. Silva,
“Multi-Fragment Effects on the GPU Using the k-Buffer,” in Proceedings of the 2007 Sympo-
sium on Interactive 3D Graphics and Games, ACM, pp. 97–104, Apr.–May 2007. Cited on
p. 156, 624, 626
[116] Bavoil, Louis, Steven P. Callahan, and Cláudio T. Silva, “Robust Soft Shadow Mapping with
Backprojection and Depth Peeling,” journal of graphics tools, vol. 13, no. 1, pp. 16–30, 2008.
Cited on p. 238, 252
Bibliography 1057

[117] Bavoil, Louis, “Advanced Soft Shadow Mapping Techniques,” Game Developers Conference,
Feb. 2008. Cited on p. 256
[118] Bavoil, Louis, and Kevin Myers, “Order Independent Transparency with Dual Depth Peeling,”
NVIDIA White Paper, Feb. 2008. Cited on p. 155, 157
[119] Bavoil, Louis, and Miguel Sainz, and Rouslan Dimitrov, “Image-Space Horizon-Based Aam-
bient Occlusion,” in ACM SIGGRAPH 2008 Talks, ACM, article no. 22, Aug. 2008. Cited
on p. 460
[120] Bavoil, Louis, and Jon Jansen, “Particle Shadows and Cache-Efficient Post-Processing,” Game
Developers Conference, Mar. 2013. Cited on p. 570
[121] Bavoil, Louis, and Iain Cantlay, “SetStablePowerState.exe: Disabling GPU Boost on Windows
10 for more deterministic timestamp queries on NVIDIA GPUs,” NVIDIA GameWorks blog,
Sept. 14, 2016. Cited on p. 789
[122] Beacco, A., N. Pelechano, and C. Andújar, “A Survey of Real-Time Crowd Rendering,”
Computer Graphics Forum, vol. 35, no. 8, pp. 32–50, 2016. Cited on p. 563, 566, 567, 587,
798
[123] Bec, Xavier, “Faster Refraction Formula, and Transmission Color Filtering,” Ray Tracing
News, vol. 10, no. 1, Jan. 1997. Cited on p. 627
[124] Beckmann, Petr, and André Spizzichino, The Scattering of Electromagnetic Waves from
Rough Surfaces, Pergamon Press, 1963. Cited on p. 331, 338
[125] Beeler, Dean, and Anuj Gosalia, “Asynchronous Timewarp on Oculus Rift,” Oculus Developer
Blog, Mar. 25, 2016. Cited on p. 935, 937
[126] Beeler, Dean, Ed Hutchins, and Paul Pedriana, “Asynchronous Spacewarp,” Oculus Developer
Blog, Nov. 10, 2016. Cited on p. 937
[127] Beers, Andrew C., Maneesh Agrawala, and Navin Chaddha, “Rendering from Compressed
Textures,” in SIGGRAPH ’96: Proceedings of the 23rd Annual Conference on Computer
Graphics and Interactive Techniques, ACM, pp. 373–378, Aug. 1996. Cited on p. 192
[128] Behrendt, S., C. Colditz, O. Franzke, J. Kopf, and O. Deussen, “Realistic Real-Time Rendering
of Landscapes Using Billboard Clouds,” Computer Graphics Forum, vol. 24, no. 3, pp. 507–
516, 2005. Cited on p. 563
[129] Belcour, Laurent, and Pascal Barla, “A Practical Extension to Microfacet Theory for the Mod-
eling of Varying Iridescence,” ACM Transactions on Graphics (SIGGRAPH 2017), vol. 36,
no. 4, pp. 65:1–65:14, July 2017. Cited on p. 363
[130] Bénard, Pierre, Adrien Bousseau, and Jöelle Thollot, “State-of-the-Art Report on Temporal
Coherence for Stylized Animations,” Computer Graphics Forum, vol. 30, no. 8, pp. 2367–2386,
2011. Cited on p. 669, 678
[131] Bénard, Pierre, Lu Jingwan, Forrester Cole, Adam Finkelstein, and Jöelle Thollot, “Active
Strokes: Coherent Line Stylization for Animated 3D Models,” in Proceedings of the Interna-
tional Symposium on Non-Photorealistic Animation and Rendering, Eurographics Associa-
tion, pp. 37–46, 2012. Cited on p. 669
[132] Bénard, Pierre, Aaron Hertzmann, and Michael Kass, “Computing Smooth Surface Contours
with Accurate Topology,” ACM Transactions on Graphics, vol. 33, no. 2, pp. 19:1–19:21,
2014. Cited on p. 656, 667
[133] Benson, David, and Joel Davis, “Octree Textures,” ACM Transactions on Graphics (SIG-
GRAPH 2002), vol. 21, no. 3, pp. 785–790, July 2002. Cited on p. 190
[134] Bentley, Adrian, “inFAMOUS Second Son Engine Postmortem,” Game Developers Confer-
ence, Mar. 2014. Cited on p. 54, 490, 871, 884, 904
1058 Bibliography

[135] de Berg, M., M. van Kreveld, M. Overmars, and O. Schwarzkopf, Computational Geometry—
Algorithms and Applications, Third Edition, Springer-Verlag, 2008. Cited on p. 685, 699,
967
[136] van den Bergen, G., “Efficient Collision Detection of Complex Deformable Models Using
AABB Trees,” journal of graphics tools, vol. 2, no. 4, pp. 1–13, 1997. Also collected in [112].
Cited on p. 821
[137] Berger, Matthew, Andrea Tagliasacchi, Lee M. Seversky, Pierre Alliez, Gaël Guennebaud,
Joshua A. Levine, Andrei Sharf, and Claudio T. Silva, “A Survey of Surface Reconstruction
from Point Clouds,” Computer Graphics Forum, vol. 36, no. 1, pp. 301–329, 2017. Cited on
p. 573, 683
[138] Beyer, Johanna, Markus Hadwiger, and Hanspeter Pfister, “State-of-the-Art in GPU-Based
Large-Scale Volume Visualization,” Computer Graphics Forum, vol. 34, no. 8, pp. 13–37,
2015. Cited on p. 586
[139] Bezrati, Abdul, “Real-Time Lighting via Light Linked List,” SIGGRAPH Advances in Real-
Time Rendering in Games course, Aug. 2014. Cited on p. 893, 903
[140] Bezrati, Abdul, “Real-Time Lighting via Light Linked List,” in Wolfgang Engel, ed., GPU
Pro6 , CRC Press, pp. 183–193, 2015. Cited on p. 893, 903
[141] Bier, Eric A., and Kenneth R. Sloan, Jr., “Two-Part Texture Mapping,” IEEE Computer
Graphics and Applications, vol. 6, no. 9, pp. 40–53, Sept. 1986. Cited on p. 170
[142] Biermann, Henning, Adi Levin, and Denis Zorin, “Piecewise Smooth Subdivision Surface
with Normal Control,” in SIGGRAPH ’00: Proceedings of the 27th Annual Conference on
Computer Graphics and Interactive Techniques, ACM Press/Addison-Wesley Publishing Co.,
pp. 113–120, July 2000. Cited on p. 764
[143] Billeter, Markus, Erik Sintorn, and Ulf Assarsson, “Real-Time Multiple Scattering Using Light
Propagation Volumes,” in Proceedings of the ACM SIGGRAPH Symposium on Interactive
3D Graphics and Games, ACM, pp. 119–126, 2012. Cited on p. 611
[144] Billeter, Markus, Ola Olsson, and Ulf Assarsson, “Tiled Forward Shading,” in Wolfgang Engel,
ed., GPU Pro4 , CRC Press, pp. 99–114, 2013. Cited on p. 895, 896, 914
[145] Billeter, Markus, “Many-Light Rendering on Mobile Hardware,” SIGGRAPH Real-Time
Many-Light Management and Shadows with Clustered Shading course, Aug. 2015. Cited
on p. 893, 900, 903, 914
[146] Bilodeau, Bill, “Vertex Shader Tricks: New Ways to Use the Vertex Shader to Improve Per-
formance,” Game Developers Conference, Mar. 2014. Cited on p. 51, 87, 514, 568, 571,
798
[147] Binstock, Atman, “Optimizing VR Graphics with Late Latching,” Oculus Developer Blog,
Mar. 2, 2015. Cited on p. 938
[148] Bishop, L., D. Eberly, T. Whitted, M. Finch, and M. Shantz, “Designing a PC Game Engine,”
IEEE Computer Graphics and Applications, vol. 18, no. 1, pp. 46–53, Jan./Feb. 1998. Cited
on p. 836
[149] Bitterli, Benedikt, Benedikt Bitterli Rendering Resources, https://benedikt-bitterli.me/
resources, licensed under CC BY 3.0, https://creativecommons.org/licenses/by/3.0. Cited
on p. 441, 445, 447, 449, 450
[150] Bittner, Jiřı́, and Jan Přikryl, “Exact Regional Visibility Using Line Space Partitioning,”
Technical Report TR-186-2-01-06, Institute of Computer Graphics and Algorithms, Vienna
University of Technology, Mar. 2001. Cited on p. 843
[151] Bittner, Jiřı́, Peter Wonka, and Michael Wimmer, “Visibility Preprocessing for Urban Scenes
Using Line Space Subdivision,” in Pacific Graphics 2001, IEEE Computer Society, pp. 276–
284, Oct. 2001. Cited on p. 843
Bibliography 1059

[152] Bittner, Jiřı́, Oliver Mattausch, Ari Silvennoinen, and Michael Wimmer, “Shadow Caster
Culling for Efficient Shadow Mapping,” in Symposium on Interactive 3D Graphics and Games,
ACM, pp. 81–88, 2011. Cited on p. 247
[153] Bjørge, Marius, Sam Martin, Sandeep Kakarlapudi, and Jan-Harald Fredriksen, “Efficient
Rendering with Tile Local Storage,” in ACM SIGGRAPH 2014 Talks, ACM, article no. 51,
July 2014. Cited on p. 156
[154] Bjørge, Marius, “Moving Mobile Graphics,” SIGGRAPH Advanced Real-Time Shading
course, July 2016. Cited on p. 247, 265
[155] Bjorke, Kevin, “Image-Based Lighting,” in Randima Fernando, ed., GPU Gems, Addison-
Wesley, pp. 308–321, 2004. Cited on p. 500
[156] Bjorke, Kevin, “High-Quality Filtering,” in Randima Fernando, ed., GPU Gems, Addison-
Wesley, pp. 391–424, 2004. Cited on p. 515, 521
[157] Blasi, Philippe, Bertrand Le Saec, and Christophe Schlick, “A Rendering Algorithm for Dis-
crete Volume Density Objects,” Computer Graphics Forum, vol. 12, no. 3, pp. 201–210, 1993.
Cited on p. 598
[158] Blinn, J. F., and M. E. Newell, “Texture and Reflection in Computer Generated Images,”
Communications of the ACM, vol. 19, no. 10, pp. 542–547, Oct. 1976. Cited on p. 405, 407
[159] Blinn, James F., “Models of Light Reflection for Computer Synthesized Pictures,” ACM
Computer Graphics (SIGGRAPH ’77 Proceedings), vol. 11, no. 2, pp. 192–198, July 1977.
Cited on p. 331, 340, 417
[160] Blinn, James, “Simulation of Wrinkled Surfaces,” Computer Graphics (SIGGRAPH ’78 Pro-
ceedings), vol. 12, no. 3, pp. 286–292, Aug. 1978. Cited on p. 209, 765
[161] Blinn, James F., “A Generalization of Algebraic Surface Drawing,” ACM Transactions on
Graphics, vol. 1, no. 3, pp. 235–256, 1982. Cited on p. 751
[162] Blinn, Jim, “Me and My (Fake) Shadow,” IEEE Computer Graphics and Applications, vol. 8,
no. 1, pp. 82–86, Jan. 1988. Also collected in [165]. Cited on p. 225, 227
[163] Blinn, Jim, “Hyperbolic Interpolation,” IEEE Computer Graphics and Applications, vol. 12,
no. 4, pp. 89–94, July 1992. Also collected in [165]. Cited on p. 999
[164] Blinn, Jim, “Image Compositing—Theory,” IEEE Computer Graphics and Applications,
vol. 14, no. 5, pp. 83–87, Sept. 1994. Also collected in [166]. Cited on p. 160
[165] Blinn, Jim, Jim Blinn’s Corner: A Trip Down the Graphics Pipeline, Morgan Kaufmann,
1996. Cited on p. 27, 832, 1059
[166] Blinn, Jim, Jim Blinn’s Corner: Dirty Pixels, Morgan Kaufmann, 1998. Cited on p. 165,
1059
[167] Blinn, Jim, “A Ghost in a Snowstorm,” IEEE Computer Graphics and Applications, vol. 18,
no. 1, pp. 79–84, Jan./Feb. 1998. Also collected in [168], Chapter 9. Cited on p. 165
[168] Blinn, Jim, Jim Blinn’s Corner: Notation, Notation, Notation, Morgan Kaufmann, 2002.
Cited on p. 165, 1059
[169] Blinn, Jim, “What Is a Pixel?” IEEE Computer Graphics and Applications, vol. 25, no. 5,
pp. 82–87, Sept./Oct. 2005. Cited on p. 165, 280
[170] Bloomenthal, Jules, “Edge Inference with Applications to Antialiasing,” Computer Graphics
(SIGGRAPH ’83 Proceedings), vol. 17, no. 3, pp. 157–162, July 1983. Cited on p. 146
[171] Bloomenthal, Jules, “An Implicit Surface Polygonizer,” in Paul S. Heckbert, ed., Graphics
Gems IV, Academic Press, pp. 324–349, 1994. Cited on p. 753
[172] Blow, Jonathan, “Mipmapping, Part 1,” Game Developer, vol. 8, no. 12, pp. 13–17, Dec. 2001.
Cited on p. 184
1060 Bibliography

[173] Blow, Jonathan, “Mipmapping, Part 2,” Game Developer, vol. 9, no. 1, pp. 16–19, Jan. 2002.
Cited on p. 184
[174] Blow, Jonathan, “Happycake Development Notes: Shadows,” Happycake Development Notes
website, Aug. 25, 2004. Cited on p. 242
[175] Blythe, David, “The Direct3D 10 System,” ACM Transactions on Graphics, vol. 25, no. 3,
pp. 724–734, July 2006. Cited on p. 29, 39, 42, 47, 48, 50, 249
[176] Bookout, David, “Programmable Blend with Pixel Shader Ordering,” Intel Developer Zone
blog, Oct. 13, 2015. Cited on p. 52
[177] Born, Max, and Emil Wolf, Principles of Optics: Electromagnetic Theory of Propagation,
Interference and Diffraction of Light, Seventh Edition, Cambridge University Press, 1999.
Cited on p. 373
[178] Borshukov, George, and J. P. Lewis, “Realistic Human Face Rendering for The Matrix
Reloaded,” in ACM SIGGRAPH 2003 Sketches and Applications, ACM, July 2003. Cited on
p. 635
[179] Borshukov, George, and J. P. Lewis, “Fast Subsurface Scattering,” SIGGRAPH Digital Face
Cloning course, Aug. 2005. Cited on p. 635
[180] Botsch, Mario, Alexander Hornung, Matthias Zwicker, and Leif Kobbelt, “High-Quality Sur-
face Splatting on Today’s GPUs,” in Proceedings of the Second Eurographics / IEEE VGTC
Symposium on Point-Based Graphics, Eurographics Association, pp. 17–24, June 2005. Cited
on p. 574
[181] Boubekeur, Tamy, Patrick Reuter, and Christophe Schlick, “Scalar Tagged PN Triangles,”
in Eurographics 2005 Short Presentations, Eurographics Association, pp. 17–20, Sept. 2005.
Cited on p. 747
[182] Boubekeur, T., and Marc Alexa, “Phong Tessellation,” ACM Transactions on Graphics,
vol. 27, no. 5, pp. 141:1–141:5, 2008. Cited on p. 748
[183] Boulton, Mike, “Static Lighting Tricks in Halo 4,” Game Developers Conference, Mar. 2013.
Cited on p. 486
[184] Bouthors, Antoine, Fabrice Neyret, Nelson Max, Eric Bruneton, and Cyril Crassin, “Inter-
active Multiple Anisotropic Scattering in Clouds,” in Proceedings of the 2008 Symposium on
Interactive 3D Graphics and Games, ACM, pp. 173–182, 2008. Cited on p. 618, 619, 620
[185] Bowles, H., K. Mitchell, B. Sumner, J. Moore, and M. Gross, “Iterative Image Warping,”
Computer Graphics Forum, vol. 31, no. 2, pp. 237–246, 2012. Cited on p. 523
[186] Bowles, H., “Oceans on a Shoestring: Shape Representation, Meshing and Shading,” SIG-
GRAPH Advances in Real-Time Rendering in Games course, July 2013. Cited on p. 878
[187] Bowles, Huw, and Beibei Wang, “Sparkly but not too Sparkly! A Stable and Robust Proce-
dural Sparkle Effect,” SIGGRAPH Advances in Real-Time Rendering in Games course, Aug.
2015. Cited on p. 372
[188] Box, Harry, Set Lighting Technician’s Handbook: Film Lighting Equipment, Practice, and
Electrical Distribution, Fourth Edition, Focal Press, 2010. Cited on p. 436
[189] Boyd, Stephen, and Lieven Vandenberghe, Convex Optimization, Cambridge University Press,
2004. Freely downloadable. Cited on p. 946
[190] Brainerd, W., T. Foley, M. Kraemer, H. Moreton, and M. Nießner, “Efficient GPU Rendering
of Subdivision Surfaces Using Adaptive Quadtrees,” ACM Transactions on Graphics, vol. 35,
no. 4, pp. 113:1–113:12, 2016. Cited on p. 779, 780
[191] Bratt, I., “The ARM Mali T880 Mobile GPU,” Hot Chips website, 2015. Cited on p. 1027
Bibliography 1061

[192] Brawley, Zoe, and Natalya Tatarchuk, “Parallax Occlusion Mapping: Self-Shadowing,
Perspective-Correct Bump Mapping Using Reverse Height Map Tracing,” in Wolfgang En-
gel, ed., ShaderX3 , Charles River Media, pp. 135–154, Nov. 2004. Cited on p. 217
[193] Bredow, Rob, “Fur in Stuart Little,” SIGGRAPH Advanced RenderMan 2: To RI INFINITY
and Beyond course, July 2000. Cited on p. 382, 633
[194] Brennan, Chris, “Accurate Environment Mapped Reflections and Refractions by Adjusting
for Object Distance,” in Wolfgang Engel, ed., Direct3D ShaderX: Vertex & Pixel Shader Tips
and Techniques, Wordware, pp. 290–294, May 2002. Cited on p. 500
[195] Brennan, Chris, “Diffuse Cube Mapping,” in Wolfgang Engel, ed., Direct3D ShaderX: Vertex
& Pixel Shader Tips and Techniques, Wordware, pp. 287–289, May 2002. Cited on p. 428
[196] Breslav, Simon, Karol Szerszen, Lee Markosian, Pascal Barla, and Joëlle Thollot, “Dynamic
2D Patterns for Shading 3D Scenes,” ACM Transactions on Graphics, vol. 27, no. 3, pp. 20:1–
20:5, 2007. Cited on p. 670
[197] Bridson, Robert, Fluid Simulation for Computer Graphics, Second Edition, CRC Press, 2015.
Cited on p. 571, 649
[198] Brinck, Waylon, and Andrew Maximov, “The Technical Art of Uncharted 4,” SIGGRAPH
production session, July 2016. Cited on p. 290
[199] Brinkmann, Ron, The Art and Science of Digital Compositing, Morgan Kaufmann, 1999.
Cited on p. 149, 151, 159, 160
[200] Brisebois, Vincent, and Ankit Patel, “Profiling the AI Performance Boost in OptiX 5,”
NVIDIA News Center, July 31, 2017. Cited on p. 511, 1043, 1044
[201] Brown, Alistair, “Visual Effects in Star Citizen,” Game Developers Conference, Mar. 2015.
Cited on p. 366
[202] Brown, Gary S., “Shadowing by Non-gaussian Random Surfaces,” IEEE Transactions on
Antennas and Propagation, vol. 28, no. 6, pp. 788–790, 1980. Cited on p. 334
[203] Bruneton, Eric, and Fabrice Neyret, “Precomputed Atmospheric Scattering,” Computer
Graphics Forum, vol. 27, no. 4, pp. 1079–1086, 2008. Cited on p. 614, 615, 616
[204] Bruneton, Eric, Fabrice Neyret, and Nicolas Holzschuch, “Real-Time Realistic Ocean Lighting
Using Seamless Transitions from Geometry to BRDF,” Computer Graphics Forum, vol. 29,
no. 2, pp. 487–496, 2010. Cited on p. 372
[205] Bruneton, Eric, and Fabrice Neyret, “A Survey of Non-linear Pre-filtering Methods for Efficient
and Accurate Surface Shading,” IEEE Transactions on Visualization and Computer Graphics,
vol. 18, no. 2, pp. 242–260, 2012. Cited on p. 372
[206] Buades, Jose Marı́a, Jesús Gumbau, and Miguel Chover, “Separable Soft Shadow Mapping,”
The Visual Computer, vol. 32, no. 2, pp. 167–178, Feb. 2016. Cited on p. 252
[207] Buchanan, J. W., and M. C. Sousa, “The Edge Buffer: A Data Structure for Easy Silhou-
ette Rendering,” in Proceedings of the 1st International Symposium on Non-photorealistic
Animation and Rendering, ACM, pp. 39–42, June 2000. Cited on p. 666
[208] Bukowski, Mike, Padraic Hennessy, Brian Osman, and Morgan McGuire, “Scalable High Qual-
ity Motion Blur and Ambient Occlusion,” SIGGRAPH Advances in Real-Time Rendering in
3D Graphics and Games course, Aug. 2012. Cited on p. 540, 542, 543
[209] Bukowski, Mike, Padraic Hennessy, Brian Osman, and Morgan McGuire, “The Skylanders
SWAP Force Depth-of-Field Shader,” in Wolfgang Engel, ed., GPU Pro4 , CRC Press, pp. 175–
184, 2013. Cited on p. 529, 530, 532, 533
[210] Bunnell, Michael, “Dynamic Ambient Occlusion and Indirect Lighting,” in Matt Pharr, ed.,
GPU Gems 2, Addison-Wesley, pp. 223–233, 2005. Cited on p. 454, 497
1062 Bibliography

[211] van der Burg, John, “Building an Advanced Particle System,” Gamasutra, June 2000. Cited
on p. 571
[212] Burley, Brent, “Shadow Map Bias Cone and Improved Soft Shadows: Disney Bonus Section,”
SIGGRAPH RenderMan for Everyone course, Aug. 2006. Cited on p. 249, 250
[213] Burley, Brent, and Dylan Lacewell, “Ptex: Per-Face Texture Mapping for Production Render-
ing,” in Proceedings of the Nineteenth Eurographics Conference on Rendering, Eurographics
Association, pp. 1155–1164, 2008. Cited on p. 191
[214] Burley, Brent, “Physically Based Shading at Disney,” SIGGRAPH Practical Physically Based
Shading in Film and Game Production course, Aug. 2012. Cited on p. 325, 336, 340, 342,
345, 353, 354, 357, 364
[215] Burley, Brent, “Extending the Disney BRDF to a BSDF with Integrated Subsurface Scatter-
ing,” SIGGRAPH Physically Based Shading in Theory and Practice course, Aug. 2015. Cited
on p. 354
[216] Burns, Christopher A., Kayvon Fatahalian, and William R. Mark, “A Lazy Object-Space
Shading Architecture with Decoupled Sampling,” in Proceedings of the Conference on High-
Performance Graphics, Eurographics Association, pp. 19–28, June 2010. Cited on p. 910
[217] Burns, C. A., and W. A. Hunt, “The Visibility Buffer: A Cache-Friendly Approach to Deferred
Shading,” Journal of Computer Graphics Techniques, vol. 2, no. 2, pp. 55–69, 2013. Cited on
p. 905, 906
[218] Cabello, Ricardo, et al., Three.js source code, Release r89, Dec. 2017. Cited on p. 41, 50, 115,
189, 201, 407, 485, 552, 628
[219] Cabral, Brian, and Leith (Casey) Leedom, “Imaging Vector Fields Using Line Integral Con-
volution,” in SIGGRAPH ’93: Proceedings of the 20th Annual Conference on Computer
Graphics and Interactive Techniques, ACM, pp. 263–270, Aug. 1993. Cited on p. 538
[220] Caillaud, Florian, Vincent Vidal, Florent Dupont, and Guillaume Lavoué, “Progressive Com-
pression of Arbitrary Textured Meshes,” Computer Graphics Forum, vol. 35, no. 7, pp. 475–
484, 2016. Cited on p. 709
[221] Calver, Dean, “Vertex Decompression in a Shader,” in Wolfgang Engel, ed., Direct3D
ShaderX: Vertex & Pixel Shader Tips and Techniques, Wordware, pp. 172–187, May 2002.
Cited on p. 713
[222] Calver, Dean, “Photo-Realistic Deferred Lighting,” Beyond3D.com website, July 30, 2003.
Cited on p. 883, 884, 886
[223] Calver, Dean, “Accessing and Modifying Topology on the GPU,” in Wolfgang Engel, ed.,
ShaderX3 , Charles River Media, pp. 5–19, 2004. Cited on p. 703
[224] Calver, Dean, “Deferred Lighting on PS 3.0 with High Dynamic Range,” in Wolfgang Engel,
ed., ShaderX3 , Charles River Media, pp. 97–105, 2004. Cited on p. 288
[225] Cantlay, Iain, and Andrei Tatarinov, “From Terrain to Godrays: Better Use of DX11,” Game
Developers Conference, Mar. 2014. Cited on p. 44, 569
[226] Card, Drew, and Jason L. Mitchell, “Non-Photorealistic Rendering with Pixel and Vertex
Shaders,” in Wolfgang Engel, ed., Direct3D ShaderX: Vertex & Pixel Shader Tips and Tech-
niques, Wordware, pp. 319–333, May 2002. Cited on p. 662, 668
[227] Carling, Richard, “Matrix Inversion,” in Andrew S. Glassner, ed., Graphics Gems, Academic
Press, pp. 470–471, 1990. Cited on p. 68
[228] Carmack, John, “Latency Mitigation Strategies,” AltDevBlog, Feb. 22, 2013. Cited on p. 920,
936, 937
[229] do Carmo, Manfred P., Differential Geometry of Curves and Surfaces, Prentice-Hall, Inc.,
1976. Cited on p. 81
Bibliography 1063

[230] Carpenter, Loren, “The A-Buffer, an Antialiased Hidden Surface Method,” Computer Graph-
ics (SIGGRAPH ’84 Proceedings), vol. 18, no. 3, pp. 103–108, July 1984. Cited on p. 155,
626
[231] Carpentier, Giliam, and Kohei Ishiyama, “Decima, Advances in Lighting and AA,” SIG-
GRAPH Advances in Real-Time Rendering in Games course, Aug. 2017. Cited on p. 146,
148, 386, 805
[232] Carucci, Francesco, “Inside Geometry Instancing,” in Matt Pharr, ed., GPU Gems 2, Addison-
Wesley, pp. 47–67, 2005. Cited on p. 797
[233] Castaño, Ignacio, “Lightmap Parameterization,’ The Witness Blog, Mar. 30, 2010. Cited on
p. 486
[234] Castaño, Ignacio, “Computing Alpha Mipmaps,” The Witness Blog, Sept. 9, 2010. Cited on
p. 204, 206
[235] Castaño, Ignacio, “Shadow Mapping Summary—Part 1,’ The Witness Blog, Sept. 23, 2013.
Cited on p. 249, 250, 265
[236] Catmull, E., and R. Rom, “A Class of Local Interpolating Splines,” in R. Barnhill & R.
Riesenfeld, eds., Computer Aided Geometric Design, Academic Press, pp. 317–326, 1974.
Cited on p. 731
[237] Catmull, E., A Subdivision Algorithm for Computer Display of Curved Surfaces, PhD thesis,
University of Utah, Dec. 1974. Cited on p. 1048
[238] Catmull, Edwin, “Computer Display of Curved Surfaces,” in Proceedings of the IEEE Confer-
ence on Computer Graphics, Pattern Recognition and Data Structures, IEEE Press, pp. 11–17,
May 1975. Cited on p. 24
[239] Catmull, E., and J. Clark, “Recursively Generated B-Spline Surfaces on Arbitrary Topological
Meshes,” Computer-Aided Design, vol. 10, no. 6, pp. 350–355, Sept. 1978. Cited on p. 761,
762
[240] Cebenoyan, Cem, “Graphics Pipeline Performance,” in Randima Fernando, ed., GPU Gems,
Addison-Wesley, pp. 473–486, 2004. Cited on p. 787, 802, 815, 853
[241] Cebenoyan, Cem, “Real Virtual Texturing—Taking Advantage of DirectX11.2 Tiled Re-
sources,” Game Developers Conference, Mar. 2014. Cited on p. 246, 263, 867
[242] Celes, Waldemar, and Frederico Abraham, “Fast and Versatile Texture-Based Wireframe Ren-
dering,” The Visual Computer, vol. 27, no. 10, pp. 939–948, 2011. Cited on p. 674
[243] Cerezo, Eva, Frederic Pérez, Xavier Pueyo, Francisco J. Seron, and François X. Sillion, “A
Survey on Participating Media Rendering Techniques,” The Visual Computer, vol. 21, no. 5,
pp. 303–328, June 2005. Cited on p. 590
[244] The Cesium Blog, http://cesiumjs.org/blog/, 2017. Cited on p. 879
[245] Chabert, Charles-Félix, Wan-Chun Ma, Tim Hawkins, Pieter Peers, and Paul Debevec, “Fast
Rendering of Realistic Faces with Wavelength Dependent Normal Maps,” in ACM SIGGRAPH
2007 Posters, ACM, article no. 183, Aug. 2007. Cited on p. 634
[246] Chaikin, G., “An Algorithm for High Speed Curve Generation,” Computer Graphics and
Image Processing, vol. 4, no. 3, pp. 346–349, 1974. Cited on p. 754
[247] Chaitanya, Chakravarty R. Alla, Anton S. Kaplanyan, Christoph Schied, Marco Salvi, Aaron
Lefohn, Derek Nowrouzezahrai, and Timo Aila, “Interactive Reconstruction of Monte Carlo
Image Sequences Using a Recurrent Denoising Autoencoder,” ACM Transactions on Graphics,
vol. 36, no. 4, article no. 98, pp. 2017. Cited on p. 511, 1043
[248] Chajdas, Matthäus G., Christian Eisenacher, Marc Stamminger, and Sylvain Lefebvre, “Vir-
tual Texture Mapping 101,” in Wolfgang Engel, ed., GPU Pro, A K Peters, Ltd., pp. 185–195,
2010. Cited on p. 867
1064 Bibliography

[249] Chajdas, Matthäus G., “D3D12 and Vulkan: Lessons Learned,” Game Developers Conference,
Mar. 2016. Cited on p. 40, 806, 814
[250] Chan, Danny, and Bryan Johnston, “Style in Rendering: The History and Technique Behind
Afro Samurai’s Look,” Game Developers Conference, Mar. 2009. Cited on p. 652, 658, 664
[251] Chan, Danny, “Real-World Measurements for Call of Duty: Advanced Warfare,” in SIG-
GRAPH Physically Based Shading in Theory and Practice course, Aug. 2015. Cited on
p. 349, 355
[252] Chan, Eric, and Frédo Durand, “Fast Prefiltered Lines,” in Matt Pharr, ed., GPU Gems 2,
Addison-Wesley, pp. 345–359, 2005. Cited on p. 133
[253] Chandrasekhar, Subrahmanyan, Radiative Transfer, Oxford University Press, 1950. Cited on
p. 352
[254] Chang, Chia-Tche, Bastien Gorissen, and Samuel Melchior, “Fast Oriented Bounding Box
Optimization on the Rotation Group SO(3, R),” ACM Transactions on Graphics, vol. 30,
no. 5, pp. 122:1–122:16, Oct. 2011. Cited on p. 951
[255] Chang, Chun-Fa, Gary Bishop, and Anselmo Lastra, “LDI Tree: A Hierarchical Represen-
tation for Image-Based Rendering,” in SIGGRAPH ’99: Proceedings of the 26th Annual
Conference on Computer Graphics and Interactive Techniques, ACM Press/Addison-Wesley
Publishing Co., pp. 291–298, Aug. 1999. Cited on p. 565
[256] Chen, G. P. Sander, D. Nehab, L. Yang, and L. Hu, “Depth-Presorted Triangle Lists,” ACM
Transactions on Graphics, vol. 31, no. 6, pp. 160:1–160:9, 2016. Cited on p. 831
[257] Chen, Hao, “Lighting and Material of Halo 3,” Game Developers Conference, Mar. 2008.
Cited on p. 475
[258] Chen, Hao, and Natalya Tatarchuk, “Lighting Research at Bungie,” SIGGRAPH Advances
in Real-Time Rendering in 3D Graphics and Games course, Aug. 2009. Cited on p. 256, 257,
475
[259] Chen, K., “Adaptive Virtual Texture Rendering in Far Cry 4,” Game Developers Conference,
Mar. 2015. Cited on p. 869
[260] Chen, Pei-Ju, Hiroko Awata, Atsuko Matsushita, En-Cheng Yang, and Kentaro Arikawa, “Ex-
treme Spectral Richness in the Eye of the Common Bluebottle Butterfly, Graphium sarpedon,”
Frontiers in Ecology and Evolution, vol. 4, pp.18, Mar. 8, 2016. Cited on p. 272
[261] Chi, Yung-feng, “True-to-Life Real-Time Animation of Shallow Water on Todays GPUs,” in
Wolfgang Engel, ed., ShaderX4 , Charles River Media, pp. 467–480, 2005. Cited on p. 602,
626
[262] Chiang, Matt Jen-Yuan, Benedikt Bitterli, Chuck Tappan, and Brent Burley, “A Practical and
Controllable Hair and Fur Model for Production Path Tracing,” Computer Graphics Forum
(Eurographics 2016), vol. 35, no. 2, pp. 275–283, 2016. Cited on p. 643
[263] Chlumský, Viktor, Shape Decomposition for Multi-channel Distance Fields, MSc thesis, De-
partment of Theoretical Computer Science, Czech Technical University in Prague, May 2015.
Cited on p. 677, 890
[264] Choi, H., “Bifrost—The GPU Architecture for Next Five Billion,” ARM Tech Forum, June
2016. Cited on p. 1026, 1027
[265] Christensen, Per H., “Point-Based Approximate Color Bleeding,” Technical memo, Pixar
Animation Studios, 2008. Cited on p. 454
[266] Cichocki, Adam, “Optimized Pixel-Projected Reflections for Planar Reflectors,” SIGGRAPH
Advances in Real-Time Rendering in Games course, Aug. 2017. Cited on p. 509
[267] Cignoni, P., C. Montani, and R. Scopigno, “Triangulating Convex Polygons Having T-
Vertices,” journal of graphics tools, vol. 1, no. 2, pp. 1–4, 1996. Also collected in [112]. Cited
on p. 690
Bibliography 1065

[268] Cignoni, Paolo, “On the Computation of Vertex Normals,” Meshlab Stuff blog, Apr. 10, 2009.
Also collected in [112]. Cited on p. 695
[269] Cigolle, Zina H., Sam Donow, Daniel Evangelakos, Michael Mara, Morgan McGuire, and
Quirin Meyer, “A Survey of Efficient Representations for Independent Unit Vectors,” Journal
of Computer Graphics Techniques, vol. 3, no. 1, pp. 1–30, 2014. Cited on p. 222, 714, 715
[270] Clarberg, Petrik, and Tomas Akenine-Möller, “Practical Product Importance Sampling for
Direct Illumination,” Computer Graphics Forum, vol. 27, no. 2, pp. 681–690, 2008. Cited on
p. 420
[271] Clarberg, P., R. Toth, J. Hasselgren, J. Nilsson, and T. Akenine-Möller, “AMFS: Adaptive
Multi-frequency Shading for Future Graphics Processors,” ACM Transactions on Graphics,
vol. 33, no. 4, pp. 141:1–141:12, 2014. Cited on p. 910, 1013
[272] Clark, James H., “Hierarchical Geometric Models for Visible Surface Algorithms,” Commu-
nications of the ACM, vol. 19, no. 10, pp. 547–554, Oct. 1976. Cited on p. 835
[273] Coffin, Christina, “SPU Based Deferred Shading in Battlefield 3 for Playstation 3,” Game
Developers Conference, Mar. 2011. Cited on p. 898, 904
[274] Cohen, Jonathan D., Marc Olano, and Dinesh Manocha, “Appearance-Preserving Simplifica-
tion,” in SIGGRAPH ’98: Proceedings of the 25th Annual Conference on Computer Graphics
and Interactive Techniques, ACM, pp. 115–122, July 1998. Cited on p. 212
[275] Cohen, Michael F., and John R. Wallace, Radiosity and Realistic Image Synthesis, Academic
Press Professional, 1993. Cited on p. 442, 483
[276] Cohen-Or, Daniel, Yiorgos Chrysanthou, Frédo Durand, Ned Greene, Vladlen Kulton, and
Cláudio T. Silva, SIGGRAPH Visibility, Problems, Techniques and Applications course, Aug.
2001. Cited on p.
[277] Cohen-Or, Daniel, Yiorgos Chrysanthou, Cláudio T. Silva, and Frédo Durand, “A Survey of
Visibility for Walkthrough Applications,” IEEE Transactions on Visualization and Computer
Graphics, vol. 9, no. 3, pp. 412–431, July–Sept. 2003. Cited on p. 830, 831, 879
[278] Cok, Keith, Roger Corron, Bob Kuehne, and Thomas True, SIGGRAPH Developing Efficient
Graphics Software: The Yin and Yang of Graphics course, July 2000. Cited on p. 801
[279] Colbert, Mark, and Jaroslav Křivánek, “GPU-Based Importance Sampling,” in Hubert
Nguyen, ed., GPU Gems 3, Addison-Wesley, pp. 459–475, 2007. Cited on p. 420, 424, 503
[280] Colbert, Mark, and Jaroslav Křivánek, “Real-Time Shading with Filtered Importance Sam-
pling,” in ACM SIGGRAPH 2007 Technical Sketches, ACM, article no. 71, Aug. 2007. Cited
on p. 420, 424
[281] Cole, Forrester, Aleksey Golovinskiy, Alex Limpaecher, Heather Stoddart Barros, Adam
Finkelstein, Thomas Funkhouser, and Szymon Rusinkiewicz, “Where Do People Draw Lines?”
ACM Transactions on Graphics (SIGGRAPH 2008), vol. 27, no. 3, pp. 88:1–88:11, 2008.
Cited on p. 656
[282] Cole, Forrester, and Adam Finkelstein, “Two Fast Methods for High-Quality Line Visibility,”
IEEE Transactions on Visualization and Computer Graphics, vol. 16, no. 5, pp. 707–717,
Sept./Oct. 2010. Cited on p. 668, 675
[283] Collin, D., “Culling the Battlefield,” Game Developers Conference, Mar. 2011. Cited on
p. 837, 840, 849
[284] Conran, Patrick, “SpecVar Maps: Baking Bump Maps into Specular Response,” in ACM
SIGGRAPH 2005 Sketches, ACM, article no. 22, Aug. 2005. Cited on p. 369
[285] Cook, Robert L., and Kenneth E. Torrance, “A Reflectance Model for Computer Graphics,”
Computer Graphics (SIGGRAPH ’81 Proceedings), vol. 15, no. 3, pp. 307–316, July 1981.
Cited on p. 314, 326, 331, 338, 343, 446
1066 Bibliography

[286] Cook, Robert L., and Kenneth E. Torrance, “A Reflectance Model for Computer Graphics,”
ACM Transactions on Graphics, vol. 1, no. 1, pp. 7–24, Jan. 1982. Cited on p. 326, 338, 343,
446
[287] Cook, Robert L., “Shade Trees,” Computer Graphics (SIGGRAPH ’84 Proceedings), vol. 18,
no. 3, pp. 223–231, July 1984. Cited on p. 37, 765
[288] Cook, Robert L., “Stochastic Sampling in Computer Graphics,” ACM Transactions on Graph-
ics, vol. 5, no. 1, pp. 51–72, Jan. 1986. Cited on p. 249
[289] Cook, Robert L., Loren Carpenter, and Edwin Catmull, “The Reyes Image Rendering Archi-
tecture,” Computer Graphics (SIGGRAPH ’87 Proceedings), vol. 21, no. 4, pp. 95–102, July
1987. Cited on p. 26, 774, 908
[290] Cook, Robert L., and Tony DeRose, “Wavelet Noise,” ACM Transactions on Graphics (SIG-
GRAPH 2005), vol. 24, no. 3, pp. 803–811, 2005. Cited on p. 199
[291] Coombes, David, “DX12 Do’s and Don’ts, Updated!” NVIDIA GameWorks blog, Nov. 12,
2015. Cited on p. 814
[292] Cormen, T. H., C. E. Leiserson, R. Rivest, and C. Stein, Introduction to Algorithms, MIT
Press, 2009. Cited on p. 820, 829, 835
[293] Courrèges, Adrian, “GTA V—Graphics Study,” Adrian Courrèges blog, Nov. 2, 2015. Cited
on p. 525, 535, 901, 913
[294] Courrèges, Adrian, “DOOM (2016)—Graphics Study,” Adrian Courrèges blog, Sept. 9, 2016.
Cited on p. 246, 535, 540, 629, 901, 913
[295] Courrèges, Adrian, “Beware of Transparent Pixels,” Adrian Courrèges blog, May 9, 2017.
Cited on p. 160, 208
[296] Cox, Michael, and Pat Hanrahan, “Pixel Merging for Object-Parallel Rendering: A Dis-
tributed Snooping Algorithm,” in Proceedings of the 1993 Symposium on Parallel Rendering,
ACM, pp. 49–56, Nov. 1993. Cited on p. 802
[297] Cox, Michael, David Sprague, John Danskin, Rich Ehlers, Brian Hook, Bill Lorensen, and
Gary Tarolli, SIGGRAPH Developing High-Performance Graphics Applications for the PC
Platform course, July 1998. Cited on p. 1023
[298] Cozzi, Patrick, “Picking Using the Depth Buffer,” AGI Blog, Mar. 5, 2008. Cited on p. 943
[299] Cozzi, Patrick, and Kevin Ring, 3D Engine Design for Virtual Globes, A K Peters/CRC
Press, 2011. Cited on p. 668, 715, 872, 879
[300] Cozzi, P., and D. Bagnell, “A WebGL Globe Rendering Pipeline,” in Wolfgang Engel, ed.,
GPU Pro4 , CRC Press, pp. 39–48, 2013. Cited on p. 872, 876
[301] Cozzi, Patrick, ed., WebGL Insights, CRC Press, 2015. Cited on p. 129, 1048
[302] Cozzi, Patrick, “Cesium 3D Tiles,” GitHub repository, 2017. Cited on p. 827
[303] Crane, Keenan, Ignacio Llamas, and Sarah Tariq, “Real-Time Simulation and Rendering of
3D Fluids,” in Hubert Nguyen, ed., GPU Gems 3, Addison-Wesley, pp. 633–675, 2007. Cited
on p. 608, 609, 649
[304] Crassin, Cyril, GigaVoxels: A Voxel-Based Rendering Pipeline For Efficient Exploration Of
Large And Detailed Scenes, PhD thesis, University of Grenoble, July 2011. Cited on p. 494,
579, 584
[305] Crassin, Cyril, Fabrice Neyret, Miguel Sainz, Simon Green, and Elmar Eisemann, “Interactive
Indirect Illumination Using Voxel Cone Tracing,” Computer Graphics Forum, vol. 30, no. 7,
pp. 1921–1930, 2011. Cited on p. 455, 467
[306] Crassin, Cyril, and Simon Green, “Octree-Based Sparse Voxelization Using the GPU Hardware
Rasterizer,” in Patrick Cozzi & Christophe Riccio, eds., OpenGL Insights, CRC Press, pp. 303–
319, 2012. Cited on p. 582
Bibliography 1067

[307] Crassin, Cyril, “Octree-Based Sparse Voxelization for Real-Time Global Illumination,”
NVIDIA GPU Technology Conference, Feb. 2012. Cited on p. 504, 582
[308] Crassin, Cyril, “Dynamic Sparse Voxel Octrees for Next-Gen Real-Time Rendering,” SIG-
GRAPH Beyond Programmable Shading course, Aug. 2012. Cited on p. 579, 584
[309] Crassin, Cyril, Morgan McGuire, Kayvon Fatahalian, and Aaron Lefohn, “Aggregate G-Buffer
Anti-Aliasing,” IEEE Transactions on Visualization and Computer Graphics, vol. 22, no. 10,
pp. 2215–2228, Oct. 2016. Cited on p. 888
[310] Cripe, Brian, and Thomas Gaskins, “The DirectModel Toolkit: Meeting the 3D Graphics
Needs of Technical Applications,” Hewlett-Packard Journal, pp. 19–27, May 1998. Cited on
p. 818
[311] Crow, Franklin C., “Shadow Algorithms for Computer Graphics,” Computer Graphics (SIG-
GRAPH ’77 Proceedings), vol. 11, no. 2, pp. 242–248, July 1977. Cited on p. 230
[312] Crow, Franklin C., “Summed-Area Tables for Texture Mapping,” Computer Graphics (SIG-
GRAPH ’84 Proceedings), vol. 18, no. 3, pp. 207–212, July 1984. Cited on p. 186
[313] Culler, David E., and Jaswinder Pal Singh, with Anoop Gupta, Parallel Computer Architec-
ture: A Hardware/Software Approach, Morgan Kaufmann, 1998. Cited on p. 810
[314] Cunningham, Steve, “3D Viewing and Rotation Using Orthonormal Bases,” in Andrew S.
Glassner, ed., Graphics Gems, Academic Press, pp. 516–521, 1990. Cited on p. 74
[315] Cupisz, Kuba, and Kasper Engelstoft, “Lighting in Unity,” Game Developers Conference,
Mar. 2015. Cited on p. 476, 482, 509
[316] Cupisz, Robert, “Light Probe Interpolation Using Tetrahedral Tessellations,” Game Develop-
ers Conference, Mar. 2012. Cited on p. 489, 490
[317] Curtis, Cassidy, “Loose and Sketchy Animation,” in ACM SIGGRAPH ’98 Electronic Art
and Animation Catalog, ACM, p. 145, July 1998. Cited on p. 672
[318] Cychosz, J. M., and W. N. Waggenspack, Jr., “Intersecting a Ray with a Cylinder,” in Paul
S. Heckbert, ed., Graphics Gems IV, Academic Press, pp. 356–365, 1994. Cited on p. 959
[319] Cyrus, M., and J. Beck, “Generalized Two- and Three-Dimensional Clipping,” Computers
and Graphics, vol. 3, pp. 23–28, 1978. Cited on p. 959
[320] Dachsbacher, Carsten, and Marc Stamminger, “Translucent Shadow Maps,” in Proceedings of
the 14th Eurographics Workshop on Rendering, Eurographics Association, pp. 197–201, June
2003. Cited on p. 638, 639
[321] Dachsbacher, Carsten, and Marc Stamminger, “Reflective Shadow Maps,” in Proceedings of
the 2005 Symposium on Interactive 3D Graphics and Games, ACM, pp. 203–231, 2005. Cited
on p. 491
[322] Dachsbacher, Carsten, and Marc Stamminger, “Splatting of Indirect Illumination,” in Pro-
ceedings of the 2006 Symposium on Interactive 3D Graphics and Games, ACM, pp. 93–100,
2006. Cited on p. 492
[323] Dachsbacher, C., and N. Tatarchuk, “Prism Parallax Occlusion Mapping with Accurate Sil-
houette Generation,” Symposium on Interactive 3D Graphics and Games poster, Apr.–May
2007. Cited on p. 220
[324] Dallaire, Chris, “Binary Triangle Trees for Terrain Tile Index Buffer Generation,” Gamasutra,
Dec. 21, 2006. Cited on p. 876
[325] Dam, Erik B., Martin Koch, and Martin Lillholm, “Quaternions, Interpolation and Ani-
mation,” Technical Report DIKU-TR-98/5, Department of Computer Science, University of
Copenhagen, July 1998. Cited on p. 81
[326] Davies, Jem, “The Bifrost GPU Architecture and the ARM Mali-G71 GPU,” Hot Chips, Aug.
2016. Cited on p. 1025
1068 Bibliography

[327] Davies, Leigh, “OIT to Volumetric Shadow Mapping, 101 Uses for Raster-Ordered Views
Using DirectX 12,” Intel Developer Zone blog, Mar. 5, 2015. Cited on p. 52, 139, 156
[328] Davies, Leigh, “Rasterizer Order Views 101: A Primer,” Intel Developer Zone blog, Aug. 5,
2015. Cited on p. 52, 156
[329] Day, Mike, “CSM Scrolling: An Acceleration Technique for the Rendering of Cascaded Shadow
Maps,” presented by Mike Acton, SIGGRAPH Advances in Real-Time Rendering in Games
course, Aug. 2012. Cited on p. 245
[330] Day, Mike, “An Efficient and User-Friendly Tone Mapping Operator,” Insomniac R&D Blog,
Sept. 18, 2012. Cited on p. 286
[331] De Smedt, Matthijs, “PC GPU Performance Hot Spots,” NVIDIA GameWorks blog, Aug.
10, 2016. Cited on p. 790, 792, 795, 814
[332] Debevec, Paul E., “Rendering Synthetic Objects into Real Scenes: Bridging Traditional and
Image-Based Graphics with Global Illumination and High Dynamic Range Photography,” in
SIGGRAPH ’98: Proceedings of the 25th Annual Conference on Computer Graphics and
Interactive Techniques, ACM, pp. 189–198, July 1998. Cited on p. 406
[333] Debevec, Paul, Rod Bogart, Frank Vitz, and Greg Ward, SIGGRAPH HDRI and Image-Based
Lighting course, July 2003. Cited on p. 436
[334] DeBry, David (grue), Jonathan Gibbs, Devorah DeLeon Petty, and Nate Robins, “Paint-
ing and Rendering Textures on Unparameterized Models,” ACM Transactions on Graphics
(SIGGRAPH 2002), vol. 21, no. 3, pp. 763–768, July 2002. Cited on p. 190
[335] DeCarlo, Doug, Adam Finkelstein, and Szymon Rusinkiewicz, “Interactive Rendering of Sug-
gestive Contours with Temporal Coherence,” in Proceedings of the 3rd International Sympo-
sium on Non-Photorealistic Animation and Rendering, ACM, pp. 15–24, June 2004. Cited
on p. 655
[336] Decaudin, Philippe, “Cartoon-Looking Rendering of 3D-Scenes,” Technical Report INRIA
2919, Université de Technologie de Compiègne, France, June 1996. Cited on p. 661, 664
[337] Decaudin, Philippe, and Fabrice Neyret, “Volumetric Billboards,” Computer Graphics Forum,
vol. 28, no. 8, pp. 2079–2089, 2009. Cited on p. 564
[338] Décoret, Xavier, Frédo Durand, François Sillion, and Julie Dorsey, “Billboard Clouds for
Extreme Model Simplification,” ACM Transactions on Graphics (SIGGRAPH 2003), vol. 22,
no. 3, pp. 689–696, 2003. Cited on p. 563
[339] Deering, M., S. Winnder, B. Schediwy, C. Duff, and N. Hunt, “The Triangle Processor and
Normal Vector Shader: A VLSI System for High Performance Graphics,” Computer Graphics
(SIGGRAPH ’88 Proceedings), vol. 22, no. 4, pp. 21–30, Aug. 1988. Cited on p. 883
[340] Deering, Michael, “Geometry Compression,” in SIGGRAPH ’95: Proceedings of the 22nd
Annual Conference on Computer Graphics and Interactive Techniques, ACM, pp. 13–20,
Aug. 1995. Cited on p. 700
[341] Delalandre, Cyril, Pascal Gautron, Jean-Eudes Marvie, and Guillaume François, “Transmit-
tance Function Mapping,” Symposium on Interactive 3D Graphics and Games, 2011. Cited
on p. 570, 612, 620
[342] Delva, Michael, Julien Hamaide, and Ramses Ladlani, “Semantic Based Shader Generation
Using Shader Shaker,” in Wolfgang Engel, ed., GPU Pro6 , CRC Press, pp. 505–520, 2015.
Cited on p. 128
[343] Demers, Joe, “Depth of Field: A Survey of Techniques,” in Randima Fernando, ed., GPU
Gems, Addison-Wesley, pp. 375–390, 2004. Cited on p. 531
[344] Demoreuille, Pete, “Optimizing the Unreal Engine 4 Renderer for VR,” Oculus Developer
Blog, May 25, 2016. Cited on p. 900, 934
Bibliography 1069

[345] d’Eon, Eugene, and David Luebke, “Advanced Techniques for Realistic Real-Time Skin Ren-
dering,” in Hubert Nguyen, ed., GPU Gems 3, Addison-Wesley, pp. 293–347, 2007. Cited on
p. 635, 636, 639
[346] d’Eon, Eugene, Guillaume François, Martin Hill, Joe Letteri, and Jean-Mary Aubry, “An
Energy-Conserving Hair Reflectance Model,” Computer Graphics Forum, vol. 30, no. 4,
pp. 1467–8659, 2011. Cited on p. 641, 643
[347] DeRose, T., M. Kass, and T. Truong, “Subdivision Surfaces in Character Animation,” in
SIGGRAPH ’98: Proceedings of the 25th Annual Conference on Computer Graphics and
Interactive Techniques, ACM, pp. 85–94, July 1998. Cited on p. 761, 764, 767, 777
[348] Deshmukh, Priyamvad, Feng Xie, and Eric Tabellion, “DreamWorks Fabric Shading Model:
From Artist Friendly to Physically Plausible,” in ACM SIGGRAPH 2017 Talks, article no. 38,
July 2017. Cited on p. 359
[349] Deshpande, Adit, “The 9 Deep Learning Papers You Need To Know About,” Adit Deshpande
blog, Aug. 24, 2016. Cited on p. 1043
[350] Didyk, P., T. Ritschel, E. Eisemann, K. Myszkowski, and H.-P. Seidel, “Adaptive Image-Space
Stereo View Synthesis,” in Proceedings of the Vision, Modeling, and Visualization Workshop
2010, Eurographics Association, pp. 299–306, 2010. Cited on p. 523
[351] Didyk, P., E. Eisemann, T. Ritschel, K. Myszkowski, and H.-P. Seidel, “Perceptually-
Motivated Real-Time Temporal Upsampling of 3D Content for High-Refresh-Rate Displays,”
Computer Graphics Forum, vol. 29, no. 2, pp. 713–722, 2011. Cited on p. 523
[352] Dietrich, Andreas, Enrico Gobbetti, and Sung-Eui Yoon, “Massive-Model Rendering Tech-
niques,” IEEE Computer Graphics and Applications, vol. 27, no. 6, pp. 20–34, Nov./Dec.
2007. Cited on p. 587, 879
[353] Dietrich, Sim, “Attenuation Maps,” in Mark DeLoura, ed., Game Programming Gems, Charles
River Media, pp. 543–548, 2000. Cited on p. 221
[354] Dimitrijević, Aleksandar, “Performance State Tracking,” in Patrick Cozzi & Christophe Ric-
cio, eds., OpenGL Insights, CRC Press, pp. 527–534, 2012. Cited on p. 789
[355] Dimov, Rossen, “Deriving the Smith Shadowing Function for the GTR BRDF,” Chaos Group
White Paper, June 2015. Cited on p. 343
[356] Ding, Vivian, “In-Game and Cinematic Lighting of The Last of Us,” Game Developers Con-
ference, Mar. 2014. Cited on p. 229
[357] Dmitriev, Kirill, and Yury Uralsky, “Soft Shadows Using Hierarchical Min-Max Shadow
Maps,” Game Developers Conference, Mar. 2007. Cited on p. 252
[358] Dobashi, Yoshinori, Kazufumi Kaneda, Hideo Yamashita, Tsuyoshi Okita, and Tomoyuki
Nishita, “A Simple, Efficient Method for Realistic Animation of Clouds,” in SIGGRAPH
’00: Proceedings of the 27th Annual Conference on Computer Graphics and Interactive Tech-
niques, ACM Press/Addison-Wesley Publishing Co., pp. 19–28, July 2000. Cited on p. 556
[359] Dobashi, Yoshinori, Tsuyoshi Yamamoto, and Tomoyuki Nishita, “Interactive Rendering of
Atmospheric Scattering Effects Using Graphics Hardware,” in Graphics Hardware 2002, Eu-
rographics Association, pp. 99–107, Sept. 2002. Cited on p. 604
[360] Dobbie, Will, “GPU Text Rendering with Vector Textures,” Will Dobbie blog, Jan. 21, 2016.
Cited on p. 677
[361] Dobbyn, Simon, John Hamill, Keith O’Conor, and Carol O’Sullivan, “Geopostors: A Real-
Time Geometry/Impostor Crowd Rendering System,” in Proceedings of the 2005 Symposium
on Interactive 3D Graphics and Games, ACM, pp. 95–102, Apr. 2005. Cited on p. 551
[362] Doggett, M., “Texture Caches,” IEEE Micro, vol. 32, no. 3, pp. 136–141, 2005. Cited on
p. 1017
1070 Bibliography

[363] Doghramachi, Hawar, and Jean-Normand Bucci, “Deferred+: Next-Gen Culling and Render-
ing for the Dawn Engine,” in Wolfgang Engel, ed., GPU Zen, Black Cat Publishing, pp. 77–
103, 2017. Cited on p. 715, 849, 908
[364] Dolby Laboratories Inc., “ICtCp Dolby White Paper,” Dolby website. Cited on p. 276, 287
[365] Dominé, Sébastien, “OpenGL Multisample,” Game Developers Conference, Mar. 2002. Cited
on p. 145
[366] Dong, Zhao, Bruce Walter, Steve Marschner, and Donald P. Greenberg, “Predicting Appear-
ance from Measured Microgeometry of Metal Surfaces,” ACM Transactions on Graphics,
vol. 35, no. 1, article no. 9, 2015. Cited on p. 361
[367] Donnelly, William, “Per-Pixel Displacement Mapping with Distance Functions,” in Matt
Pharr, ed., GPU Gems 2, Addison-Wesley, pp. 123–136, 2005. Cited on p. 218
[368] Donnelly, William, and Andrew Lauritzen, “Variance Shadow Maps,” in Proceedings of the
2006 Symposium on Interactive 3D Graphics, ACM, pp. 161–165, 2006. Cited on p. 252
[369] Donner, Craig, and Henrik Wann Jensen, “Light Diffusion in Multi-Layered Translucent Ma-
terials,” ACM Transactions on Graphics (SIGGRAPH 2005), vol. 24, no. 3, pp. 1032–1039,
2005. Cited on p. 635
[370] Doo, D., and M. Sabin, “Behaviour of Recursive Division Surfaces Near Extraordinary Points,”
Computer-Aided Design, vol. 10, no. 6, pp. 356–360, Sept. 1978. Cited on p. 761
[371] Dorn, Jonathan, Connelly Barnes, Jason Lawrence, and Westley Weimer, “Towards Au-
tomatic Band-Limited Procedural Shaders,” Computer Graphics Forum (Pacific Graphics
2015), vol. 34, no. 7, pp. 77–87, 2015. Cited on p. 200
[372] Doss, Joshua A., “Art-Based Rendering with Graftal Imposters,” in Mark DeLoura, ed., Game
Programming Gems 7, Charles River Media, pp. 447–454, 2008. Cited on p. 672
[373] Dou, Hang, Yajie Yan, Ethan Kerzner, Zeng Dai, and Chris Wyman, “Adaptive Depth Bias
for Shadow Maps,” Journal of Computer Graphics Techniques, vol. 3, no. 4, pp. 146–162,
2014. Cited on p. 250
[374] Dougan, Carl, “The Parallel Transport Frame,” in Mark DeLoura, ed., Game Programming
Gems 2, Charles River Media, pp. 215–219, 2001. Cited on p. 102
[375] Drago, F., K. Myszkowski, T. Annen, and N. Chiba, “Adaptive Logarithmic Mapping for
Displaying High Contrast Scenes,’ Computer Graphics Forum, vol. 22, no. 3, pp. 419–426,
2003. Cited on p. 286
[376] Driscoll, Rory, “Cubemap Texel Solid Angle,” CODEITNOW blog, Jan. 15, 2012. Cited on
p. 420
[377] Drobot, Michal, “Quadtree Displacement Mapping with Height Blending,” in Wolfgang Engel,
ed., GPU Pro, A K Peters, Ltd., pp. 117–148, 2010. Cited on p. 220
[378] Drobot, Michal, “A Spatial and Temporal Coherence Framework for Real-Time Graphics,” in
Eric Lengyel, ed., Game Engine Gems 2, A K Peters, Ltd., pp. 97–118, 2011. Cited on p. 518
[379] Drobot, Michal, “Lighting of Killzone: Shadow Fall,” Digital Dragons conference, Apr. 2013.
Cited on p. 116
[380] Drobot, Michal, “Physically Based Area Lights,” in Wolfgang Engel, ed., GPU Pro5 , CRC
Press, pp. 67–100, 2014. Cited on p. 116, 388
[381] Drobot, Michal, “GCN Execution Patterns in Full Screen Passes,” Michal Drobot blog, Apr.
1, 2014. Cited on p. 514
[382] Drobot, Michal, “Hybrid Reconstruction Anti Aliasing,” SIGGRAPH Advances in Real-Time
Rendering in Games course, Aug. 2014. Cited on p. 141, 142, 146, 165
Bibliography 1071

[383] Drobot, Michal, “Hybrid Reconstruction Antialiasing,” in Wolfgang Engel, ed., GPU Pro6 ,
CRC Press, pp. 101–139, 2015. Cited on p. 141, 146, 165
[384] Drobot, Michal, “Rendering of Call of Duty Infinite Warfare,” Digital Dragons conference,
May 2017. Cited on p. 262, 325, 371, 421, 502, 503, 509, 569
[385] Drobot, Michal, “Improved Culling for Tiled and Clustered Rendering,” SIGGRAPH Ad-
vances in Real-Time Rendering in Games course, Aug. 2017. Cited on p. 902, 905
[386] Drobot, Michal, “Practical Multilayered Materials in Call of Duty Infinite Warfare,” SIG-
GRAPH Physically Based Shading in Theory and Practice course, Aug. 2017. Cited on p. 151,
363, 364, 623, 625, 629
[387] Duff, Tom, “Compositing 3-D Rendered Images,” Computer Graphics (SIGGRAPH ’85 Pro-
ceedings), vol. 19, no. 3, pp. 41–44, July 1985. Cited on p. 149
[388] Duff, Tom, James Burgess, Per Christensen, Christophe Hery, Andrew Kensler, Max Liani,
and Ryusuke Villemin, “Building an Orthonormal Basis, Revisited,” Journal of Computer
Graphics Techniques, vol. 6, no. 1, pp. 1–8, 2017. Cited on p. 75
[389] Duffy, Joe, “CLR Inside Out,” MSDN Magazine, vol. 21, no. 10, Sept. 2006. Cited on p. 791
[390] Dufresne, Marc Fauconneau, “Forward Clustered Shading,” Intel Software Developer Zone,
Aug. 5, 2014. Cited on p. 900, 914
[391] Duiker, Haarm-Pieter, and George Borshukov, “Filmic Tone Mapping,” Presentation at Elec-
tronic Arts, Oct. 27, 2006. Cited on p. 286
[392] Duiker, Haarm-Pieter, “Filmic Tonemapping for Real-Time Rendering,” SIGGRAPH Color
Enhancement and Rendering in Film and Game Production course, July 2010. Cited on
p. 286, 288, 289, 290
[393] Dummer, Jonathan, “Cone Step Mapping: An Iterative Ray-Heightfield Intersection Algo-
rithm,” lonesock website, 2006. Cited on p. 219
[394] Dunn, Alex, “Transparency (or Translucency) Rendering,” NVIDIA GameWorks blog, Oct.
20, 2014. Cited on p. 155, 157, 159, 204, 569
[395] Dupuy, Jonathan, Eric Heitz, Jean-Claude Iehl, Pierre Poulin, Fabrice Neyret, and Victor
Ostromoukhov, “Linear Efficient Antialiased Displacement and Reflectance Mapping,” ACM
Transactions on Graphics, vol. 32, no. 6, pp. 211:1–211:11, Nov. 2013. Cited on p. 370
[396] Dupuy, Jonathan, “Antialiasing Physically Based Shading with LEADR Mapping,” SIG-
GRAPH Physically Based Shading in Theory and Practice course, Aug. 2014. Cited on
p. 370
[397] Dupuy, Jonathan, Eric Heitz, and Eugene d’Eon, “Additional Progress Towards the Unifica-
tion of Microfacet and Microflake Theories,” in Proceedings of the Eurographics Symposium
on Rendering: Experimental Ideas & Implementations, Eurographics Association, pp. 55–63,
2016. Cited on p. 352, 648
[398] Durand, Frédo, 3D Visibility: Analytical Study and Applications, PhD thesis, Université
Joseph Fourier, Grenoble, July 1999. Cited on p. 879
[399] Dutré, Philip, Global Illumination Compendium, webpage, Sept. 29, 2003. Cited on p. 372,
443, 512
[400] Dutré, Philip, Kavita Bala, and Philippe Bekaert, Advanced Global Illumination, Second
Edition, A K Peters, Ltd., 2006. Cited on p. 269, 442, 512, 684
[401] Dyken, C., M. Reimers, and J. Seland, “Real-Time GPU Silhouette Refinement Using Adap-
tively Blended Bézier Patches,” Computer Graphics Forum, vol. 27, no. 1, pp. 1–12, 2008.
Cited on p. 747
1072 Bibliography

[402] Dyn, Nira, David Levin, and John A. Gregory, “A 4-Point Interpolatory Subdivision Scheme
for Curve Design,” Computer Aided Geometric Design, vol. 4, no. 4, pp. 257–268, 1987. Cited
on p. 755
[403] Eberly, David, “Triangulation by Ear Clipping,” Geometric Tools website, 2003. Cited on
p. 686
[404] Eberly, David, 3D Game Engine Design: A Practical Approach to Real-Time Computer
Graphics, Second Edition, Morgan Kaufmann, 2006. Cited on p. 82, 772, 829, 950, 951, 959,
976, 990
[405] Eberly, David, “Reconstructing a Height Field from a Normal Map,” Geometric Tools blog,
May 3, 2006. Cited on p. 214
[406] Eberly, David, “A Fast and Accurate Algorithm for Computing SLERP,” Journal of Graphics,
GPU, and Game Tools, vol. 15, no. 3, pp. 161–176, 2011. Cited on p. 82
[407] Ebert, David S., John Hart, Bill Mark, F. Kenton Musgrave, Darwyn Peachey, Ken Perlin,
and Steven Worley, Texturing and Modeling: A Procedural Approach, Third Edition, Morgan
Kaufmann, 2002. Cited on p. 198, 200, 222, 672
[408] Eccles, Allen, “The Diamond Monster 3Dfx Voodoo 1,” GameSpy Hall of Fame, 2000. Cited
on p. 1
[409] Eisemann, Martin, and Xavier Décoret, “Fast Scene Voxelization and Applications,” in ACM
SIGGRAPH 2006 Sketches, ACM, article no. 8, 2006. Cited on p. 581, 586
[410] Eisemann, Martin, Marcus Magnor, Thorsten Grosch, and Stefan Müller, “Fast Ray/Axis-
Aligned Bounding Box Overlap Tests Using Ray Slopes,” journal of graphics tools, vol. 12,
no. 4, pp. 35–46, 2007. Cited on p. 961
[411] Eisemann, Martin, and Xavier Décoret, “Occlusion Textures for Plausible Soft Shadows,”
Computer Graphics Forum, vol. 27, no. 1, pp. 13–23, 2008. Cited on p. 230
[412] Eisemann, Martin, Michael Schwarz, Ulf Assarsson, and Michael Wimmer, Real-Time Shad-
ows, A K Peters/CRC Press, 2011. Cited on p. 223, 244, 249, 253, 265
[413] Eisemann, Martin, Michael Schwarz, Ulf Assarsson, and Michael Wimmer, SIGGRAPH Effi-
cient Real-Time Shadows course, Aug. 2012. Cited on p. 265
[414] El Garawany, Ramy, “Deferred Lighting in Uncharted 4,” SIGGRAPH Advances in Real-Time
Rendering in Games course, July 2016. Cited on p. 472, 886, 887, 898, 904
[415] El Mansouri, Jalal, “Rendering Tom Clancy’s Rainbow Six Siege,” Game Developers Confer-
ence, Mar. 2016. Cited on p. 146, 246, 252, 805, 850, 887
[416] Elcott, Sharif, Kay Chang, Masayoshi Miyamoto, and Napaporn Metaaphanon, “Rendering
Techniques of Final Fantasy XV,” in ACM SIGGRAPH 2016 Talks, ACM, article no. 48,
July 2016. Cited on p. 620
[417] Eldridge, Matthew, Homan Igehy, and Pat Hanrahan, “Pomegranate: A Fully Scalable
Graphics Architecture,” in SIGGRAPH ’00: Proceedings of the 27th Annual Conference on
Computer Graphics and Interactive Techniques, ACM Press/Addison-Wesley Publishing Co.,
pp. 443–454, July 2000. Cited on p. 1020, 1021, 1022
[418] Eldridge, Matthew, Designing Graphics Architectures around Scalability and Communication,
PhD thesis, Stanford University, June 2001. Cited on p. 1020, 1022, 1023
[419] Elek, Oskar, “Rendering Parametrizable Planetary Atmospheres with Multiple Scattering in
Real Time,” Central European Seminar on Computer Graphics, 2009. Cited on p. 615
[420] Elek, Oskar, “Layered Materials in Real-Time Rendering,” in Proceedings of the 14th Central
European Seminar on Computer Graphics, Vienna University of Technology, pp. 27–34, May
2010. Cited on p. 364
Bibliography 1073

[421] Elinas, Pantelis, and Wolfgang Stuerzlinger, “Real-Time Rendering of 3D Clouds,” journal of
graphics tools, vol. 5, no. 4, pp. 33–45, 2000. Cited on p. 556
[422] van Emde Boas, P., R. Kaas, and E. Zijlstra, “Design and Implementation of an Efficient
Priority Queue,” Mathematical Systems Theory, vol. 10, no. 1, pp. 99–127, 1977. Cited on
p. 827
[423] Enderton, Eric, Erik Sintorn, Peter Shirley, and David Luebke, “Stochastic Transparency,”
IEEE Transactions on Visualization and Computer Graphics, vol. 17, no. 8, pp. 1036–1047,
2011. Cited on p. 149, 206
[424] Endres, Michael, and Frank Kitson, “Perfecting The Pixel: Refining the Art of Visual Styling,”
Game Developers Conference, Mar. 2010. Cited on p. 289
[425] Eng, Austin, “Tighter Frustum Culling and Why You May Want to Disregard It,” Cesium
blog, Feb. 2, 2017. Cited on p. 986
[426] Engel, Wolfgang, ed., Direct3D ShaderX: Vertex & Pixel Shader Tips and Techniques, Word-
ware, 2002. Cited on p. xvii
[427] Engel, Wolfgang, ed., ShaderX2 : Introduction & Tutorials with DirectX 9, Wordware, 2004.
Cited on p. xvi
[428] Engel, Wolfgang, ed., ShaderX2 : Shader Programming Tips & Tricks with DirectX 9, Word-
ware, 2004. Cited on p. xvi
[429] Engel, Wolfgang, ed., ShaderX3 , Charles River Media, 2004. Cited on p. 1148
[430] Engel, Wolfgang, “Cascaded Shadow Maps,” in Wolfgang Engel, ed., ShaderX5 , Charles River
Media, pp. 197–206, 2006. Cited on p. 242, 243
[431] Engel, Wolfgang, “Designing a Renderer for Multiple Lights: The Light Pre-Pass Renderer,”
in Wolfgang Engel, ed., ShaderX7 , Charles River Media, pp. 655–666, 2009. Cited on p. 892
[432] Engel, Wolfgang, “Light Pre-Pass; Deferred Lighting: Latest Development,” SIGGRAPH
Advances in Real-Time Rendering in Games course, Aug. 2009. Cited on p. 892, 901
[433] Engel, Wolfgang, “The Filtered and Culled Visibility Buffer,” Game Developers Conference
Europe, Aug. 2016. Cited on p. 833, 851, 907
[434] Engelhardt, Thomas, and Carsten Dachsbacher, “Octahedron Environment Maps,” in Pro-
ceedings of the Vision, Modeling, and Visualization Conference 2008, Aka GmbH, pp. 383–388
Oct. 2008. Cited on p. 414
[435] Ericson, Christer, Real-Time Collision Detection, Morgan Kaufmann, 2005. Cited on p. 827,
879, 946, 948, 950, 955, 977, 978, 979, 990
[436] Ericson, Christer, “Collisions Using Separating-Axis Tests,” Game Developers Conference,
Mar. 2007. Cited on p. 980
[437] Ericson, Christer, “More Capcom/CEDEC Bean-Spilling,” realtimecollisiondetection.net—the
blog, Oct. 1, 2007. Cited on p. 537
[438] Ericson, Christer, “Order Your Graphics Draw Calls Around!” realtimecollisiondetection
.net—the blog, Oct. 3, 2008. Cited on p. 803
[439] Ericson, Christer, “Optimizing the Rendering of a Particle System,” realtimecollision
detection.net—the blog, Jan. 2, 2009. Cited on p. 556, 568
[440] Ericson, Christer, “Optimizing a Sphere-Triangle Intersection Test,” realtimecollision
detection.net—the blog, Dec. 30, 2010. Cited on p. 974
[441] Eriksson, Carl, Dinesh Manocha, and William V. Baxter III, “HLODs for Faster Display of
Large Static and Dynamic Environments,” in Proceedings of the 2001 Symposium on Inter-
active 3D Graphics, ACM, pp. 111–120, 2001. Cited on p. 866
1074 Bibliography

[442] Estevez, Alejandro Conty, and Christopher Kulla, “Production Friendly Microfacet Sheen
BRDF,” Technical Report, Sony Imageworks, 2017. Cited on p. 358
[443] Etuaho, Olli, “Bug-Free and Fast Mobile WebGL,” in Patrick Cozzi, ed., WebGL Insights,
CRC Press, pp. 123–137, 2015. Cited on p. 702, 796, 802, 805, 814
[444] Evans, Alex, “Fast Approximations for Global Illumination on Dynamic Scenes,” SIGGRAPH
Advanced Real-Time Rendering in 3D Graphics and Games course, Aug. 2006. Cited on
p. 454, 488
[445] Evans, Alex, and Anton Kirczenow, “Voxels in LittleBigPlanet 2,” SIGGRAPH Advances in
Real-Time Rendering in Games course, Aug. 2011. Cited on p. 571
[446] Evans, Alex, “Learning from Failure: A Survey of Promising, Unconventional and Mostly
Abandoned Renderers for ‘Dreams PS4’, a Geometrically Dense, Painterly UGC Game,” SIG-
GRAPH Advances in Real-Time Rendering in Games course, Aug. 2015. Cited on p. 577,
679
[447] Evans, Martin, “Drawing Stuff on Other Stuff with Deferred Screenspace Decals,” Blog 3.0,
Feb. 27, 2015. Cited on p. 889
[448] Everitt, Cass, “One-Pass Silhouette Rendering with GeForce and GeForce2,” NVIDIA White
Paper, June 2000. Cited on p. 656
[449] Everitt, Cass, “Interactive Order-Independent Transparency,” NVIDIA White Paper, May
2001. Cited on p. 154
[450] Everitt, Cass, and Mark Kilgard, “Practical and Robust Stenciled Shadow Volumes for
Hardware-Accelerated Rendering,” NVIDIA White Paper, Mar. 2002. Cited on p. 232
[451] Everitt, Cass, and John McDonald, “Beyond Porting,” Steam Dev Days, Feb. 2014. Cited on
p. 795, 805
[452] Everitt, Cass, Graham Sellers, John McDonald, and Tim Foley, “Approaching Zero Driver
Overhead,” Game Developers Conference, Mar. 2014. Cited on p. 191, 192
[453] Everitt, Cass, “Multiview Rendering,” SIGGRAPH Moving Mobile Graphics course, July
2016. Cited on p. 927, 928
[454] Ewins, Jon P., Marcus D. Waller, Martin White, and Paul F. Lister, “MIP-Map Level Selection
for Texture Mapping,” IEEE Transactions on Visualization and Computer Graphics, vol. 4,
no. 4, pp. 317–329, Oct.–Dec. 1998. Cited on p. 185
[455] Eyles, J., S. Molnar, J. Poulton, T. Greer, A. Lastra, N. England, and L. Westover, “PixelFlow:
The Realization,” in Proceedings of the ACM SIGGRAPH/EUROGRAPHICS Workshop on
Graphics Hardware, ACM, pp. 57–68, Aug. 1997. Cited on p. 1022
[456] Fairchild, Mark D., Color Appearance Models, Third Edition, John Wiley & Sons, Inc., 2013.
Cited on p. 276, 278, 291
[457] Farin, Gerald, “Triangular Bernstein-Bézier Patches,” Computer Aided Geometric Design,
vol. 3, no. 2, pp. 83–127, 1986. Cited on p. 745, 781
[458] Farin, Gerald, Curves and Surfaces for Computer Aided Geometric Design—A Practical
Guide, Fourth Edition, Academic Press Inc., 1996. Cited on p. 718, 720, 721, 724, 725,
728, 732, 734, 738, 742, 745, 749, 754, 756, 781
[459] Farin, Gerald E., NURBS: From Projective Geometry to Practical Use, Second Edition, A K
Peters, Ltd., 1999. Cited on p. 781
[460] Farin, Gerald, and Dianne Hansford, The Essentials of CAGD, A K Peters, Ltd., 2000. Cited
on p. 781
[461] Farin, Gerald E., and Dianne Hansford, Practical Linear Algebra: A Geometry Toolbox, A K
Peters, Ltd., 2004. Cited on p. 102, 991
Bibliography 1075

[462] Fatahalian, Kayvon, and Randy Bryant, Parallel Computer Architecture and Programming
course, Carnegie Mellon University, Spring 2017. Cited on p. 30, 55
[463] Fauconneau, M., “High-Quality, Fast DX11 Texture Compression with ISPC,” Game Devel-
opers Conference, Mar. 2015. Cited on p. 198
[464] Fedkiw, Ronald, Jos Stam, and Henrik Wann Jensen, “Visual Simulation of Smoke,” in SIG-
GRAPH ’01: Proceedings of the 27th Annual Conference on Computer Graphics and Inter-
active Techniques, ACM, pp. 15–22, Aug. 2001. Cited on p. 649
[465] Fenney, Simon, “Texture Compression Using Low-Frequency Signal Modulation,” in Graphics
Hardware 2003, Eurographics Association, pp. 84–91, July 2003. Cited on p. 196
[466] Fernandes, António Ramires, and Bruno Oliveira, “GPU Tessellation: We Still Have a LOD of
Terrain to Cover,” in Patrick Cozzi & Christophe Riccio, eds., OpenGL Insights, CRC Press,
pp. 145–161, 2012. Cited on p. 46, 879
[467] Fernando, Randima, “Percentage-Closer Soft Shadows,” in ACM SIGGRAPH 2005 Sketches,
ACM, article no. 35, Aug. 2005. Cited on p. 250
[468] Ferwerda, James, “Elements of Early Vision for Computer Graphics,” IEEE Computer Graph-
ics and Applications, vol. 21, no. 5, pp. 22–33, Sept./Oct. 2001. Cited on p. 278
[469] Feynman, Richard, Robert B. Leighton, and Matthew Sands, The Feynman Lectures on
Physics, 1963. Available at Feynman Lectures website, 2006. Cited on p. 298, 373
[470] de Figueiredo, L. H., “Adaptive Sampling of Parametric Curves,” in Alan Paeth, ed., Graphics
Gems V, Academic Press, pp. 173–178, 1995. Cited on p. 771
[471] Filion, Dominic, and Rob McNaughton, “Starcraft II: Effects and Techniques,” SIGGRAPH
Advances in Real-Time Rendering in 3D Graphics and Games course, Aug. 2008. Cited on
p. 257, 459, 885
[472] Fisher, F., and A. Woo, “R.E versus N.H Specular Highlights,” in Paul S. Heckbert, ed.,
Graphics Gems IV, Academic Press, pp. 388–400, 1994. Cited on p. 422
[473] Flavell, Andrew, “Run Time Mip-Map Filtering,” Game Developer, vol. 5, no. 11, pp. 34–43,
Nov. 1998. Cited on p. 185, 186
[474] Floater, Michael, Kai Hormann, and Géza Kós, “A General Construction of Barycentric Co-
ordinates over Convex Polygons,” Advances in Computational Mathematics, vol. 24, no. 1–4,
pp. 311–331, Jan. 2006. Cited on p. 970
[475] Floater, M., “Triangular Bézier Surfaces,” Technical Report, University of Oslo, Aug. 2011.
Cited on p. 741
[476] Fog, Agner, “Optimizing Software in C++,” Software Optimization Resources, 2007. Cited
on p. 815
[477] Fogal, Thomas, Alexander Schiewe, and Jens Krüger, “An Analysis of Scalable GPU-Based
Ray-Guided Volume Rendering,” in Proceedings of the IEEE Symposium on Large Data Anal-
ysis and Visualization (LDAV 13), IEEE Computer Society, pp. 43–51, 2013. Cited on p. 586
[478] Foley, Tim, “Introduction to Parallel Programming Models,” SIGGRAPH Beyond Pro-
grammable Shading course, Aug. 2009. Cited on p. 815
[479] Fong, Julian, Magnus Wrenninge, Christopher Kulla, and Ralf Habel, SIGGRAPH Production
Volume Rendering course, Aug. 2017. Cited on p. 589, 590, 591, 592, 594, 649
[480] Forest, Vincent, Loic Barthe, and Mathias Paulin, “Real-Time Hierarchical Binary-Scene
Voxelization,” journal of graphics, GPU, and game tools, vol. 14, no. 3, pp. 21–34, 2011.
Cited on p. 581
[481] Forsyth, Tom, “Comparison of VIPM Methods,” in Mark DeLoura, ed., Game Programming
Gems 2, Charles River Media, pp. 363–376, 2001. Cited on p. 707, 711, 859
1076 Bibliography

[482] Forsyth, Tom, “Impostors: Adding Clutter,” in Mark DeLoura, ed., Game Programming
Gems 2, Charles River Media, pp. 488–496, 2001. Cited on p. 561, 562
[483] Forsyth, Tom, “Making Shadow Buffers Robust Using Multiple Dynamic Frustums,” in Wolf-
gang Engel, ed., ShaderX4 , Charles River Media, pp. 331–346, 2005. Cited on p. 242
[484] Forsyth, Tom, “Extremely Practical Shadows,” Game Developers Conference, Mar. 2006.
Cited on p. 234, 241, 242
[485] Forsyth, Tom, “Linear-Speed Vertex Cache Optimisation,” TomF’s Tech Blog, Sept. 28, 2006.
Cited on p. 701, 705
[486] Forsyth, Tom, “Shadowbuffers,” Game Developers Conference, Mar. 2007. Cited on p. 234,
242
[487] Forsyth, Tom, “The Trilight: A Simple General-Purpose Lighting Model for Games,” TomF’s
Tech Blog, Mar. 22, 2007. Cited on p. 382, 433
[488] Forsyth, Tom, “Renderstate Change Costs,” TomF’s Tech Blog, Jan. 27, 2008. Cited on
p. 795, 796, 802, 803
[489] Forsyth, Tom, “VR, AR and Other Realities,” TomF’s Tech Blog, Sept. 16, 2012. Cited on
p. 917
[490] Forsyth, Tom, “Premultiplied Alpha Part 2,” TomF’s Tech Blog, Mar. 18, 2015. Cited on
p. 208
[491] Forsyth, Tom, “The sRGB Learning Curve,” TomF’s Tech Blog, Nov. 30, 2015. Cited on
p. 161, 162, 163
[492] Fowles, Grant R., Introduction to Modern Optics, Second Edition, Holt, Reinhart, and Win-
ston, 1975. Cited on p. 373
[493] Franklin, Dustin, “Hardware-Based Ambient Occlusion,” in Wolfgang Engel, ed., ShaderX4 ,
Charles River Media, pp. 91–100, 2005. Cited on p. 452
[494] Frey, Ivo Zoltan, “Spherical Skinning with Dual-Quaternions and QTangents,” in ACM SIG-
GRAPH 2011 Talks, article no. 11, Aug. 2011. Cited on p. 209, 210, 715
[495] Frisken, Sarah, Ronald N. Perry, Alyn P. Rockwood, and Thouis R. Jones, “Adaptively Sam-
pled Distance Fields: A General Representation of Shape for Computer Graphics,” in SIG-
GRAPH ’00: Proceedings of the 27th Annual Conference on Computer Graphics and Interac-
tive Techniques, ACM Press/Addison-Wesley Publishing Co., pp. 249–254, July 2000. Cited
on p. 677, 751
[496] Frisvad, Jeppe Revall, “Building an Orthonormal Basis from a 3D Unit Vector Without Nor-
malization,” journal of graphics tools, vol. 16, no. 3, pp. 151–159, 2012. Cited on p. 75
[497] Fry, Alex, “High Dynamic Range Color Grading and Display in Frostbite,” Game Developers
Conference, Feb.–Mar. 2017. Cited on p. 283, 287, 288, 290
[498] Frykholm, Niklas, “The BitSquid Low Level Animation System,” Autodesk Stingray blog,
Nov. 20, 2009. Cited on p. 715, 905
[499] Frykholm, Niklas, “What Is Gimbal Lock and Why Do We Still Have to Worry about It?”
Autodesk Stingray blog, Mar. 15, 2013. Cited on p. 73
[500] Fuchs, H., Z. M. Kedem, and B. F. Naylor, “On Visible Surface Generation by A Priori Tree
Structures,” Computer Graphics (SIGGRAPH ’80 Proceedings), vol. 14, no. 3, pp. 124–133,
July 1980. Cited on p. 823
[501] Fuchs, H., G. D. Abram, and E. D. Grant, “Near Real-Time Shaded Display of Rigid Objects,”
Computer Graphics (SIGGRAPH ’83 Proceedings), vol. 17, no. 3, pp. 65–72, July 1983. Cited
on p. 823
Bibliography 1077

[502] Fuchs, H., J. Poulton, J. Eyles, T. Greer, J. Goldfeather, D. Ellsworth, S. Molnar, G. Turk,
B. Tebbs, and L. Israel, “Pixel-Planes 5: A Heterogeneous Multiprocessor Graphics System
Using Processor-Enhanced Memories,” Computer Graphics (SIGGRAPH ’89 Proceedings),
vol. 23, no. 3, pp. 79–88, July 1989. Cited on p. 8, 1026
[503] Fuhrmann, Anton L., Eike Umlauf, and Stephan Mantler, “Extreme Model Simplification for
Forest Rendering,” in Proceedings of the First Eurographics Conference on Natural Phenom-
ena, Eurographics Association, pp. 57–66, 2005. Cited on p. 563
[504] Fujii, Yasuhiro, “A Tiny Improvement of Oren-Nayar Reflectance Model,” http://
mimosa-pudica.net, Oct. 9, 2013. Cited on p. 354
[505] Fünfzig, C., K. Müller, D. Hansford, and G. Farin, “PNG1 Triangles for Tangent Plane Con-
tinuous Surfaces on the GPU,” in Graphics Interface 2008, Canadian Information Processing
Society, pp. 219–226, 2008. Cited on p. 747
[506] Fung, James, “Computer Vision on the GPU,” in Matt Pharr, ed., GPU Gems 2, Addison-
Wesley, pp. 649–666, 2005. Cited on p. 521
[507] Funkhouser, Thomas A., Database and Display Algorithms for Interactive Visualization of
Architectural Models, PhD thesis, University of California, Berkeley, 1993. Cited on p. 866
[508] Funkhouser, Thomas A., and Carlo H. Séquin, “Adaptive Display Algorithm for Interactive
Frame Rates During Visualization of Complex Virtual Environments,” in SIGGRAPH ’93:
Proceedings of the 20th Annual Conference on Computer Graphics and Interactive Tech-
niques, ACM, pp. 247–254, Aug. 1993. Cited on p. 710, 864, 865, 866
[509] Fürst, René, Oliver Mattausch, and Daniel Scherzer, “Real-Time Deep Shadow Maps,” in
Wolfgang Engel, ed., GPU Pro4 , CRC Press, pp. 253–264, 2013. Cited on p. 258
[510] Gaitatzes, Athanasios, and Georgios Papaioannou, “Progressive Screen-Space Multichannel
Surface Voxelization,” in Wolfgang Engel, ed., GPU Pro4 , CRC Press, pp. 137–154, 2013.
Cited on p. 582
[511] Galeano, David, “Rendering Optimizations in the Turbulenz Engine,” in Patrick Cozzi, ed.,
WebGL Insights, CRC Press, pp. 157–171, 2015. Cited on p. 795, 796, 802, 803
[512] Gallagher, Benn, and Martin Mittring, “Building Paragon in UE4,” Game Developers Con-
ference, Mar. 2016. Cited on p. 527, 556, 637
[513] Garcia, Ismael, Mateu Sbert, and Lázló Szirmay-Kalos, “Tree Rendering with Billboard
Clouds,” Third Hungarian Conference on Computer Graphics and Geometry, Jan. 2005. Cited
on p. 563
[514] Garland, Michael, and Paul S. Heckbert, “Fast Polygonal Approximation of Terrains and
Height Fields,” Technical Report CMU-CS-95-181, Carnegie Mellon University, 1995. Cited
on p. 708, 877
[515] Garland, Michael, and Paul S. Heckbert, “Surface Simplification Using Quadric Error Met-
rics,” in SIGGRAPH ’97: Proceedings of the 24th Annual Conference on Computer Graphics
and Interactive Techniques, ACM Press/Addison-Wesley Publishing Co., pp. 209–216, Aug.
1997. Cited on p. 708
[516] Garland, Michael, and Paul S. Heckbert, “Simplifying Surfaces with Color and Texture Using
Quadric Error Metrics,” in Proceedings of IEEE Visualization 98, IEEE Computer Society,
pp. 263–269, July 1998. Cited on p. 706, 707, 708
[517] Garland, Michael, Quadric-Based Polygonal Surface Simplification, PhD thesis, Technical
Report CMU-CS-99-105, Carnegie Mellon University, 1999. Cited on p. 709
[518] Gautron, Pascal, Jaroslav Křivánek, Sumanta Pattanaik, and Kadi Bouatouch, “A Novel
Hemispherical Basis for Accurate and Efficient Rendering,” on Proceedings of the Fifteenth
Eurographics Conference on Rendering Techniques, Eurographics Association, pp. 321–330,
June 2004. Cited on p. 404
1078 Bibliography

[519] Geczy, George, “2D Programming in a 3D World: Developing a 2D Game Engine Using
DirectX 8 Direct3D,” Gamasutra, June 2001. Cited on p. 550
[520] Gehling, Michael, “Dynamic Skyscapes,” Game Developer, vol. 13, no. 3, pp. 23–33, Mar.
2006. Cited on p. 549
[521] Geiss, Ryan, “Generating Complex Procedural Terrains Using the GPU,” in Hubert Nguyen,
ed., GPU Gems 3, Addison-Wesley, pp. 7–37, 2007. Cited on p. 171
[522] Geiss, Ryan, and Michael Thompson, “NVIDIA Demo Team Secrets—Cascades,” Game De-
velopers Conference, Mar. 2007. Cited on p. 171, 571
[523] Geldreich, Rich, “crunch/crnlib v1.04,” GitHub repository, 2012. Cited on p. 870
[524] General Services Administration, “Colors Used in Government Procurement,” Document ID
FED-STD-595C, Jan. 16, 2008. Cited on p. 349
[525] Gerasimov, Philipp, “Omnidirectional Shadow Mapping,” in Randima Fernando, ed., GPU
Gems, Addison-Wesley, pp. 193–203, 2004. Cited on p. 234
[526] Gershun, Arun, “The Light Field,” Moscow, 1936, translated by P. Moon and G. Timoshenko,
Journal of Mathematics and Physics, vol. 18, no. 2, pp. 51–151, 1939. Cited on p. 379
[527] Gibson, Steve, “The Distant Origins of Sub-Pixel Font Rendering,” Sub-pixel Font Rendering
Technology, Aug, 4, 2006. Cited on p. 675
[528] Giegl, Markus, and Michael Wimmer, “Unpopping: Solving the Image-Space Blend Problem
for Smooth Discrete LOD Transition,” Computer Graphics Forum, vol. 26, no. 1, pp. 46–49,
2007. Cited on p. 856
[529] Giesen, Fabian, “View Frustum Culling,” The ryg blog, Oct. 17, 2010. Cited on p. 983, 986
[530] Giesen, Fabian, “A Trip through the Graphics Pipeline 2011,” The ryg blog, July 9, 2011.
Cited on p. 32, 42, 46, 47, 48, 49, 52, 53, 54, 55, 141, 247, 684, 701, 784, 1040
[531] Giesen, Fabian, “Fast Blurs 1,” The ryg blog, July 30, 2012. Cited on p. 518
[532] Gigus, Z., J. Canny, and R. Seidel, “Efficiently Computing and Representing Aspect Graphs
of Polyhedral Objects,” IEEE Transactions on Pattern Analysis and Machine Intelligence,
vol. 13, no. 6, pp. 542–551, 1991. Cited on p. 831
[533] Gilabert, Mickael, and Nikolay Stefanov, “Deferred Radiance Transfer Volumes,” Game De-
velopers Conference, Mar. 2012. Cited on p. 478, 481
[534] van Ginneken, B., M. Stavridi, and J. J. Koenderink, “Diffuse and Specular Reflectance from
Rough Surfaces,” Applied Optics, vol. 37, no. 1, Jan. 1998. Cited on p. 335
[535] Ginsburg, Dan, and Dave Gosselin, “Dynamic Per-Pixel Lighting Techniques,” in Mark De-
Loura, ed., Game Programming Gems 2, Charles River Media, pp. 452–462, 2001. Cited on
p. 211, 221
[536] Ginsburg, Dan, “Porting Source 2 to Vulkan,” SIGGRAPH An Overview of Next Generation
APIs course, Aug. 2015. Cited on p. 814
[537] Giorgianni, Edward J., and Thomas E. Madden, Digital Color Management: Encoding Solu-
tions, Second Edition, John Wiley & Sons, Inc., 2008. Cited on p. 286, 291
[538] Girshick, Ahna, Victoria Interrante, Steve Haker, and Todd Lemoine, “Line Direction Matters:
An Argument for the Use of Principal Directions in 3D Line Drawings,” in Proceedings of the
1st International Symposium on Non-photorealistic Animation and Rendering, ACM, pp. 43–
52, June 2000. Cited on p. 672
[539] Gjøl, Mikkel, and Mikkel Svendsen, “The Rendering of Inside,” Game Developers Conference,
Mar. 2016. Cited on p. 521, 524, 527, 572, 587, 604, 609, 892, 1010
[540] Glassner, Andrew S., ed., Graphics Gems, Academic Press, 1990. Cited on p. 102, 991
Bibliography 1079

[541] Glassner, Andrew S., “Computing Surface Normals for 3D Models,” in Andrew S. Glassner,
ed., Graphics Gems, Academic Press, pp. 562–566, 1990. Cited on p. 695
[542] Glassner, Andrew, “Building Vertex Normals from an Unstructured Polygon List,” in Paul S.
Heckbert, ed., Graphics Gems IV, Academic Press, pp. 60–73, 1994. Cited on p. 691, 692,
695
[543] Glassner, Andrew S., Principles of Digital Image Synthesis, vol. 1, Morgan Kaufmann, 1995.
Cited on p. 372, 512, 1010
[544] Glassner, Andrew S., Principles of Digital Image Synthesis, vol. 2, Morgan Kaufmann, 1995.
Cited on p. 268, 271, 280, 372, 512
[545] Gneiting, A., “Real-Time Geometry Caches,” in ACM SIGGRAPH 2014 Talks, ACM, article
no. 49, Aug. 2014. Cited on p. 92
[546] Gobbetti, Enrico, and Fabio Marton, “Layered Point Clouds,” Symposium on Point-Based
Graphics, Jun. 2004. Cited on p. 573
[547] Gobbetti, E., D. Kasik, and S.-E. Yoon, “Technical Strategies for Massive Model Visualiza-
tion,” ACM Symposium on Solid and Physical Modeling, June 2008. Cited on p. 879
[548] Goldman, Ronald, “Intersection of Two Lines in Three-Space,” in Andrew S. Glassner, ed.,
Graphics Gems, Academic Press, p. 304, 1990. Cited on p. 990
[549] Goldman, Ronald, “Intersection of Three Planes,” in Andrew S. Glassner, ed., Graphics Gems,
Academic Press, p. 305, 1990. Cited on p. 990
[550] Goldman, Ronald, “Matrices and Transformations,” in Andrew S. Glassner, ed., Graphics
Gems, Academic Press, pp. 472–475, 1990. Cited on p. 75
[551] Goldman, Ronald, “Some Properties of Bézier Curves,” in Andrew S. Glassner, ed., Graphics
Gems, Academic Press, pp. 587–593, 1990. Cited on p. 722
[552] Goldman, Ronald, “Recovering the Data from the Transformation Matrix,” in James Arvo,
ed., Graphics Gems II, Academic Press, pp. 324–331, 1991. Cited on p. 74
[553] Goldman, Ronald, “Decomposing Linear and Affine Transformations,” in David Kirk, ed.,
Graphics Gems III, Academic Press, pp. 108–116, 1992. Cited on p. 74
[554] Goldman, Ronald, “Identities for the Univariate and Bivariate Bernstein Basis Functions,” in
Alan Paeth, ed., Graphics Gems V, Academic Press, pp. 149–162, 1995. Cited on p. 781
[555] Gollent, M., “Landscape Creation and Rendering in REDengine 3,” Game Developers Con-
ference, Mar. 2014. Cited on p. 262, 263, 873
[556] Golub, Gene, and Charles Van Loan, Matrix Computations, Fourth Edition, Johns Hopkins
University Press, 2012. Cited on p. 102
[557] Golus, Ben, “Anti-aliased Alpha Test: The Esoteric Alpha to Coverage,” Medium.com website,
Aug. 12, 2017. Cited on p. 204, 205, 206, 207
[558] Gomes, Abel, Irina Voiculescu, Joaquim Jorge, Brian Wyvill, and Callum Galbraith, Implicit
Curves and Surfaces: Mathematics, Data Structures and Algorithms, Springer, 2009. Cited
on p. 583, 683, 751, 753, 781, 944
[559] Gonzalez, Rafael C., and Richard E. Woods, Digital Image Processing, Third Edition,
Addison-Wesley, 2007. Cited on p. 130, 543, 661
[560] Gonzalez-Ochoa, C., and D. Holder, “Water Technology in Uncharted,” Game Developers
Conference, Mar. 2012. Cited on p. 879
[561] Gooch, Amy, Bruce Gooch, Peter Shirley, and Elaine Cohen, “A Non-Photorealistic Lighting
Model for Automatic Technical Illustration,” in SIGGRAPH ’98: Proceedings of the 25th
Annual Conference on Computer Graphics and Interactive Techniques, ACM, pp. 447–452,
July 1998. Cited on p. 103
1080 Bibliography

[562] Gooch, Bruce, Peter-Pike J. Sloan, Amy Gooch, Peter Shirley, and Richard Riesenfeld, “In-
teractive Technical Illustration,” in Proceedings of the 1999 Symposium on Interactive 3D
Graphics, ACM, pp. 31–38, 1999. Cited on p. 656, 667
[563] Gooch, Bruce or Amy, and Amy or Bruce Gooch, Non-Photorealistic Rendering, A K Peters,
Ltd., 2001. Cited on p. 652, 678
[564] Good, Otavio, and Zachary Taylor, “Optimized Photon Tracing Using Spherical Harmonic
Light Maps,” in ACM SIGGRAPH 2005 Sketches, article no. 53, Aug. 2005. Cited on p. 475
[565] Goodwin, Todd, Ian Vollick, and Aaron Hertzmann, “Isophote Distance: A Shading Ap-
proach to Artistic Stroke Thickness,” Proceedings of the 5th International Symposium on
Non-Photorealistic Animation and Rendering, ACM, pp. 53–62, Aug. 2007. Cited on p. 657,
667
[566] Goral, Cindy M., Kenneth E. Torrance, Donald P. Greenberg, and Bennett Battaile, “Mod-
elling the Interaction of Light Between Diffuse Surfaces,” Computer Graphics (SIGGRAPH
’84 Proceedings), vol. 18, no. 3, pp. 212–222, July 1984. Cited on p. 442
[567] Gortler, Steven J., Radek Grzeszczuk, Richard Szeliski, and Michael F. Cohen, “The Lu-
migraph,” in SIGGRAPH ’96: Proceedings of the 23rd Annual Conference on Computer
Graphics and Interactive Techniques, ACM, pp. 43–54, Aug. 1996. Cited on p. 549
[568] Gosselin, David R., Pedro V. Sander, and Jason L. Mitchell, “Real-Time Texture-Space Skin
Rendering,” in Wolfgang Engel, ed., ShaderX3 , Charles River Media, pp. 171–183, 2004. Cited
on p. 635
[569] Gosselin, David R., “Real Time Skin Rendering,” Game Developers Conference, Mar. 2004.
Cited on p. 634, 635
[570] Goswami, Prashant, Yanci Zhang, Renato Pajarola, and Enrico Gobbetti, “High Quality
Interactive Rendering of Massive Point Models Using Multi-way kd-Trees,” Pacific Graphics
2010, Sept. 2010. Cited on p. 574
[571] Gotanda, Yoshiharu, “Star Ocean 4: Flexible Shader Management and Post-Processing,”
Game Developers Conference, Mar. 2009. Cited on p. 286
[572] Gotanda, Yoshiharu, “Film Simulation for Videogames,” SIGGRAPH Color Enhancement
and Rendering in Film and Game Production course, July 2010. Cited on p. 286
[573] Gotanda, Yoshiharu, “Beyond a Simple Physically Based Blinn-Phong Model in Real-Time,”
SIGGRAPH Physically Based Shading in Theory and Practice course, Aug. 2012. Cited on
p. 354, 364, 422
[574] Gotanda, Yoshiharu, “Designing Reflectance Models for New Consoles,” SIGGRAPH Physi-
cally Based Shading in Theory and Practice course, Aug. 2014. Cited on p. 331, 354, 355
[575] Gotanda, Yoshiharu, Masaki Kawase, and Masanori Kakimoto, SIGGRAPH Real-Time Ren-
dering of Physically Based Optical Effect in Theory and Practice course, Aug. 2015. Cited
on p. 543
[576] Gottschalk, S., M. C. Lin, and D. Manocha, “OBBTree: A Hierarchical Structure for Rapid
Interference Detection,” in SIGGRAPH ’96: Proceedings of the 23rd Annual Conference on
Computer Graphics and Interactive Techniques, ACM, pp. 171–180, Aug. 1996. Cited on
p. 946, 980
[577] Gottschalk, Stefan, Collision Queries Using Oriented Bounding Boxes, PhD thesis, Depart-
ment of Computer Science, University of North Carolina at Chapel Hill, 2000. Cited on p. 947,
951, 980
[578] Gouraud, H., “Continuous Shading of Curved Surfaces,” IEEE Transactions on Computers,
vol. C-20, pp. 623–629, June 1971. Cited on p. 118
[579] Green, Chris, “Efficient Self-Shadowed Radiosity Normal Mapping,” SIGGRAPH Advanced
Real-Time Rendering in 3D Graphics and Games course, Aug. 2007. Cited on p. 403, 404
Bibliography 1081

[580] Green, Chris, “Improved Alpha-Tested Magnification for Vector Textures and Special Effects,”
SIGGRAPH Advanced Real-Time Rendering in 3D Graphics and Games course, Aug. 2007.
Cited on p. 206, 677, 678, 890
[581] Green, D., and D. Hatch, “Fast Polygon-Cube Intersection Testing,” in Alan Paeth, ed.,
Graphics Gems V, Academic Press, pp. 375–379, 1995. Cited on p. 974
[582] Green, Paul, Jan Kautz, and Frédo Durand, “Efficient Reflectance and Visibility Approxima-
tions for Environment Map Rendering,” Computer Graphics Forum, vol. 26, no. 3, pp. 495–
502, 2007. Cited on p. 398, 418, 425, 466, 471
[583] Green, Robin, “Spherical Harmonic Lighting: The Gritty Details,” Game Developers Confer-
ence, Mar. 2003. Cited on p. 401, 431
[584] Green, Simon, “Stupid OpenGL Shader Tricks,” Game Developers Conference, Mar. 2003.
Cited on p. 537, 539, 540
[585] Green, Simon, “Summed Area Tables Using Graphics Hardware,” Game Developers Confer-
ence, Mar. 2003. Cited on p. 188
[586] Green, Simon, “Real-Time Approximations to Subsurface Scattering,” in Randima Fernando,
ed., GPU Gems, Addison-Wesley, pp. 263–278, 2004. Cited on p. 633, 635, 638, 639
[587] Green, Simon, “Implementing Improved Perlin Noise,” in Matt Pharr, ed., GPU Gems 2,
Addison-Wesley, pp. 409–416, 2005. Cited on p. 199
[588] Green, Simon, “DirectX 10/11 Visual Effects,” Game Developers Conference, Mar. 2009.
Cited on p. 518
[589] Green, Simon, “Screen Space Fluid Rendering for Games,” Game Developers Conference,
Mar. 2010. Cited on p. 520, 569
[590] Greene, Ned, “Environment Mapping and Other Applications of World Projections,” IEEE
Computer Graphics and Applications, vol. 6, no. 11, pp. 21–29, Nov. 1986. Cited on p. 412,
415, 425
[591] Greene, Ned, Michael Kass, and Gavin Miller, “Hierarchical Z-Buffer Visibility,” in SIG-
GRAPH ’93: Proceedings of the 20th Annual Conference on Computer Graphics and Inter-
active Techniques, ACM, pp. 231–238, Aug. 1993. Cited on p. 846, 847, 1015
[592] Greene, Ned, “Detecting Intersection of a Rectangular Solid and a Convex Polyhedron,” in
Paul S. Heckbert, ed., Graphics Gems IV, Academic Press, pp. 74–82, 1994. Cited on p. 946
[593] Greene, Ned, Hierarchical Rendering of Complex Environments, PhD thesis, Technical Report
UCSC-CRL-95-27, University of California at Santa Cruz, June 1995. Cited on p. 846, 847
[594] Greger, Gene, Peter Shirley, Philip M. Hubbard, and Donald P. Greenberg, “The Irradiance
Volume,” IEEE Computer Graphics and Applications, vol. 18, no. 2, pp. 32–43, Mar./Apr.
1998. Cited on p. 487
[595] Gregorius, Dirk, “The Separating Axis Test between Convex Polyhedra,” Game Developers
Conference, Mar. 2013. Cited on p. 987
[596] Gregorius, Dirk, “Implementing QuickHull,” Game Developers Conference, Mar. 2014. Cited
on p. 950, 951
[597] Gregorius, Dirk, “Robust Contact Creation for Physics Simulations,” Game Developers Con-
ference, Mar. 2015. Cited on p. 947
[598] Grenier, Jean-Philippe, “Physically Based Lens Flare,” Autodesk Stingray blog, July 3, 2017.
Cited on p. 524, 526
[599] Grenier, Jean-Philippe, “Notes on Screen Space HIZ Tracing,” Autodesk Stingray blog, Aug.
14, 2017. Cited on p. 508
1082 Bibliography

[600] Gribb, Gil, and Klaus Hartmann, “Fast Extraction of Viewing Frustum Planes from the
World-View-Projection Matrix,” gamedevs.org, June 2001. Cited on p. 984
[601] Griffin, Wesley, and Marc Olano, “Objective Image Quality Assessment of Texture Compres-
sion,” in Proceedings of the 18th Meeting of the ACM SIGGRAPH Symposium on Interactive
3D Graphics and Games, ACM, pp. 119–126, Mar. 1999. Cited on p. 198
[602] Griffiths, Andrew, “Real-Time Cellular Texturing,” in Wolfgang Engel, ed., ShaderX5 , Charles
River Media, pp. 519–532, 2006. Cited on p. 199
[603] Grimes, Bronwen, “Shading a Bigger, Better Sequel: Techniques in Left 4 Dead 2,” Game
Developers Conference, Mar. 2010. Cited on p. 366
[604] Grimes, Bronwen, “Building the Content that Drives the Counter-Strike: Global Offensive
Economy,” Game Developers Conference, Mar. 2014. Cited on p. 366
[605] Gritz, Larry, “Shader Antialiasing,” in Advanced RenderMan: Creating CGI for Motion Pic-
tures, Morgan Kaufmann, Chapter 11, 1999. Also (as “Basic Antialiasing in Shading Lan-
guage”) in SIGGRAPH Advanced RenderMan: Beyond the Companion course, Aug. 1999.
Cited on p. 200
[606] Gritz, Larry, “The Secret Life of Lights and Surfaces,” SIGGRAPH Advanced RenderMan 2:
To RI INFINITY and Beyond course, July 2000. Also in “Illumination Models and Light,” in
Advanced RenderMan: Creating CGI for Motion Pictures, Morgan Kaufmann, 1999. Cited
on p. 382
[607] Gritz, Larry, and Eugene d’Eon, “The Importance of Being Linear,” in Hubert Nguyen, ed.,
GPU Gems 3, Addison-Wesley, pp. 529–542, 2007. Cited on p. 161, 166, 184
[608] Gritz, Larry, ed., “Open Shading Language 1.9: Language Specification,” Sony Pictures Im-
ageworks Inc., 2017. Cited on p. 37
[609] Gronsky, Stefan, “Lighting Food,” SIGGRAPH Anyone Can Cook—Inside Ratatouille’s
Kitchen course, Aug. 2007. Cited on p. 638
[610] Gruen, Holger, “Hybrid Min/Max Plane-Based Shadow Maps,” in Wolfgang Engel, ed., GPU
Pro, A K Peters, Ltd., pp. 447–454, 2010. Cited on p. 252
[611] Gruen, Holger, and Nicolas Thibieroz, “OIT and Indirect Illumination Using Dx11 Linked
Lists,” Game Developers Conference, Mar. 2010. Cited on p. 155
[612] Gruen, Holger, “An Optimized Diffusion Depth Of Field Solver (DDOF),” Game Developers
Conference, Mar. 2011. Cited on p. 535
[613] Gruen, Holger, “Constant Buffers without Constant Pain,” NVIDIA GameWorks blog, Jan.
14, 2015. Cited on p. 795
[614] Grün, Holger, “Smoothed N-Patches,” in Wolfgang Engel, ed., ShaderX5 , Charles River Me-
dia, pp. 5–22, 2006. Cited on p. 747
[615] Grün, Holger, “Implementing a Fast DDOF Solver,” Eric Lengyel, ed., Game Engine Gems
2, A K Peters, Ltd., pp. 119–133, 2011. Cited on p. 535
[616] Gu, Xianfeng, Steven J. Gortler, and Hugues Hoppe, “Geometry Images,” ACM Transactions
on Graphics (SIGGRAPH 2002), vol. 21, no. 3, pp. 355–361, 2002. Cited on p. 566
[617] Guennebaud, Gaël, Loı̈c Barthe, and Mathias Paulin, “High-Quality Adaptive Soft Shadow
Mapping,” Computer Graphics Forum, vol. 26, no. 3, pp. 525–533, 2007. Cited on p. 252
[618] Guenter, B., J. Rapp, and M. Finch, “Symbolic Differentiation in GPU Shaders,” Technical
Report MSR-TR-2011-31, Microsoft, Mar. 2011. Cited on p. 1017
[619] Guenter, Brian, Mark Finch, Steven Drucker, Desney Tan, and John Snyder, “Foveated 3D
Graphics,” ACM Transactions on Graphics, vol. 31, no. 6, article no. 164, 2012. Cited on
p. 924, 931
Bibliography 1083

[620] Guerrette, Keith, “Moving The Heavens,” Game Developers Conference, Mar. 2014. Cited
on p. 617
[621] Guertin, Jean-Philippe, Morgan McGuire, and Derek Nowrouzezahrai, “A Fast and Stable
Feature-Aware Motion Blur Filter,” Technical Report, NVIDIA, Nov. 2013. Cited on p. 537,
542, 543
[622] Guigue, Philippe, and Olivier Devillers, “Fast and Robust Triangle-Triangle Overlap Test
Using Orientation Predicates,” journals of graphics tools, vol. 8, no. 1, pp. 25–42, 2003. Cited
on p. 972, 974
[623] Gulbrandsen, Ole, “Artist Friendly Metallic Fresnel,” Journal of Computer Graphics Tech-
niques, vol. 3, no. 4, pp. 64–72, 2014. Cited on p. 320
[624] Guymon, Mel, “Pyro-Techniques: Playing with Fire,” Game Developer, vol. 7, no. 2, pp. 23–
27, Feb. 2000. Cited on p. 554
[625] Haar, Ulrich, and Sebastian Aaltonen, “GPU-Driven Rendering Pipelines,” SIGGRAPH Ad-
vances in Real-Time Rendering in Games course, Aug. 2015. Cited on p. 246, 247, 263, 833,
848, 849, 850, 851, 905
[626] Habel, Ralf, Bogdan Mustata, and Michael Wimmer, “Efficient Spherical Harmonics Light-
ing with the Preetham Skylight Model,” in Eurographics 2008—Short Papers, Eurographics
Association, pp. 119–122, 2008. Cited on p. 431
[627] Habel, Ralf, and Michael Wimmer, “Efficient Irradiance Normal Mapping,” in Proceedings
of the 2010 ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games, ACM,
pp. 189–195, Feb. 2010. Cited on p. 404, 475
[628] Hable, John, “Uncharted 2: HDR Lighting,” Game Developers Conference, Mar. 2010. Cited
on p. 286, 288
[629] Hable, John, “Why Reinhard Desaturates Your Blacks,” Filmic Worlds Blog, May 17, 2010.
Cited on p. 288
[630] Hable, John, “Why a Filmic Curve Saturates Your Blacks,” Filmic Worlds Blog, May 24,
2010. Cited on p. 288
[631] Hable, John, “Uncharted 2: Character Lighting and Shading,” SIGGRAPH Advances in
Real-Time Rendering in Games course, July 2010. Cited on p. 357, 635
[632] Hable, John, “Next-Gen Characters: From Facial Scans to Facial Animation,” Game Devel-
opers Conference, Mar. 2014. Cited on p. 466
[633] Hable, John, “Simple and Fast Spherical Harmonic Rotation,” Filmic Worlds Blog, July 2,
2014. Cited on p. 401
[634] Hable, John, “Filmic Tonemapping with Piecewise Power Curves,” Filmic Worlds Blog, Mar.
26, 2017. Cited on p. 286
[635] Hable, John, “Minimal Color Grading Tools,” Filmic Worlds Blog, Mar. 28, 2017. Cited on
p. 290
[636] Hadwiger, Markus, Christian Sigg, Henning Scharsach, Khatja Bühler, and Markus Gross,
“Real-Time Ray-Casting and Advanced Shading of Discrete Isosurfaces,” Computer Graphics
Forum, vol. 20, no. 3, pp. 303–312, 2005. Cited on p. 583
[637] Haeberli, P., and K. Akeley, “The Accumulation Buffer: Hardware Support for High-Quality
Rendering,” Computer Graphics (SIGGRAPH ’90 Proceedings), vol. 24, no. 4, pp. 309–318,
Aug. 1990. Cited on p. 139, 529, 537, 547
[638] Haeberli, Paul, and Mark Segal, “Texture Mapping as a Fundamental Drawing Primitive,”
in 4th Eurographics Workshop on Rendering, Eurographics Association, pp. 259–266, June
1993. Cited on p. 200
1084 Bibliography

[639] Hagen, Margaret A., “How to Make a Visually Realistic 3D Display,” Computer Graphics,
vol. 25, no. 2, pp. 76–81, Apr. 1991. Cited on p. 554
[640] Haines, Eric, “Essential Ray Tracing Algorithms,” in Andrew Glassner, ed., An Introduction
to Ray Tracing, Academic Press Inc., Chapter 2, 1989. Cited on p. 955, 959, 961, 969
[641] Haines, Eric, “Fast Ray-Convex Polyhedron Intersection,” in James Arvo, ed., Graphics Gems
II, Academic Press, pp. 247–250, 1991. Cited on p. 961
[642] Haines, Eric, “Point in Polygon Strategies,” in Paul S. Heckbert, ed., Graphics Gems IV,
Academic Press, pp. 24–46, 1994. Cited on p. 962, 966, 968, 969, 970
[643] Haines, Eric, and Steven Worley, “Fast, Low-Memory Z-Buffering when Performing Medium-
Quality Rendering,” journal of graphics tools, vol. 1, no. 3, pp. 1–6, 1996. Cited on p. 803
[644] Haines, Eric, “Soft Planar Shadows Using Plateaus,” journal of graphics tools, vol. 6, no. 1,
pp. 19–27, 2001. Also collected in [112]. Cited on p. 229
[645] Haines, Eric, “Interactive 3D Graphics,” Udacity Course 291, launched May 2013. Cited on
p. 1048
[646] Haines, Eric, “60 Hz, 120 Hz, 240 Hz...,” Real-Time Rendering Blog, Nov. 5, 2014. Cited on
p. 1011
[647] Haines, Eric, “Limits of Triangles,” Real-Time Rendering Blog, Nov. 10, 2014. Cited on
p. 688, 695
[648] Haines, Eric, “GPUs Prefer Premultiplication,” Real-Time Rendering Blog, Jan. 10, 2016.
Cited on p. 160, 208
[649] Haines, Eric, “A PNG Puzzle,” Real-Time Rendering Blog, Feb. 19, 2016. Cited on p. 160
[650] Haines, Eric, “Minecon 2016 Report,” Real-Time Rendering Blog, Sept. 30, 2016. Cited on
p. 920
[651] Hakura, Ziyad S., and Anoop Gupta, “The Design and Analysis of a Cache Architecture for
Texture Mapping,” in Proceedings of the 24th Annual International Symposium on Computer
Architecture, ACM, pp. 108–120, June 1997. Cited on p. 997, 1007, 1017
[652] Hall, Chris, Rob Hall, and Dave Edwards, “Rendering in Cars 2,” SIGGRAPH Advances in
Real-Time Rendering in 3D Graphics and Games course, Aug. 2011. Cited on p. 245, 246,
937
[653] Hall, Roy, Illumination and Color in Computer Generated Imagery, Springer-Verlag, 1989.
Cited on p. 1010
[654] Hall, Tim, “A How To for Using OpenGL to Render Mirrors,” comp.graphics.api.opengl news-
group, Aug. 1996. Cited on p. 505
[655] Halstead, Mark, Michal Kass, and Tony DeRose, “Efficient, Fair Interpolation Using Catmull-
Clark Surfaces,” in SIGGRAPH ’93: Proceedings of the 20th Annual Conference on Computer
Graphics and Interactive Techniques, ACM, pp. 35–44, Aug. 1993. Cited on p. 762, 763, 778
[656] Hamilton, Andrew, and Kenneth Brown, “Photogrammetry and Star Wars Battlefront,”
Game Developers Conference, Mar. 2016. Cited on p. 366
[657] Hammon, Earl, Jr., “PBR Diffuse Lighting for GGX+Smith Microsurfaces,” Game Developers
Conference, Feb.–Mar. 2017. Cited on p. 331, 334, 337, 342, 355
[658] Han, Charles, Bo Sun, Ravi Ramamoorthi, and Eitan Grinspun, “Frequency Domain Normal
Map Filtering,” ACM Transactions on Graphics (SIGGRAPH 2007), vol. 26, no. 3, pp. 28:1–
28::11, July 2007. Cited on p. 369, 370
[659] Han, S., and P. Sander, “Triangle Reordering for Reduced Overdraw in Animated Scenes,”
in Proceedings of the 20th ACM SIGGRAPH Symposium on Interactive 3D Graphics and
Games, ACM, pp. 23–27, 2016. Cited on p. 831
Bibliography 1085

[660] Hanika, Johannes, “Manuka: Weta Digital’s Spectral Renderer,” SIGGRAPH Path Tracing
in Production course, Aug. 2017. Cited on p. 278, 280, 311, 591
[661] Hanrahan, P., and P. Haeberli, “Direct WYSIWYG Painting and Texturing on 3D Shapes,”
Computer Graphics (SIGGRAPH ’90 Proceedings), vol. 24, no. 4, pp. 215–223, Aug. 1990.
Cited on p. 942
[662] Hanrahan, Pat, and Wolfgang Krueger, “Reflection from Layered Surfaces due to Subsurface
Scattering,” in SIGGRAPH ’93: Proceedings of the 20th Annual Conference on Computer
Graphics and Interactive Techniques, ACM, pp. 165–174, Aug. 1993. Cited on p. 353, 354
[663] Hanson, Andrew J., Visualizing Quaternions, Morgan Kaufmann, 2006. Cited on p. 102
[664] Hapke, B., “A Theoretical Photometric Function for the Lunar Surface,” Journal of Geophys-
ical Research, vol. 68, no. 15, pp. 4571–4586, Aug. 1, 1963. Cited on p. 314
[665] Harada, T., J. McKee, and J. Yang, “Forward+: Bringing Deferred Lighting to the Next
Level,” in Eurographics 2012—Short Papers, Eurographics Association, pp. 5–8, May 2012.
Cited on p. 895
[666] Harada, T., “A 2.5D culling for Forward+,” in SIGGRAPH Asia 2012 Technical Briefs, ACM,
pp. 18:1–18:4, Dec. 2012. Cited on p. 897
[667] Harada, Takahiro, Jay McKee, and Jason C. Yang, “Forward+: A Step Toward Film-Style
Shading in Real Time,” in Wolfgang Engel, ed., GPU Pro4 , CRC Press, pp. 115–135, 2013.
Cited on p. 887, 895, 896, 897, 904
[668] Hargreaves, Shawn, “Deferred Shading,” Game Developers Conference, Mar. 2004. Cited on
p. 882, 884, 886
[669] Hargreaves, Shawn, and Mark Harris, “Deferred Shading,” NVIDIA Developers Conference,
June 29, 2004. Cited on p. 882, 884
[670] Harris, Mark J., and Anselmo Lastra, “Real-Time Cloud Rendering,” Computer Graphics
Forum, vol. 20, no. 3, pp. 76–84, 2001. Cited on p. 556, 617
[671] Hart, Evan, Dave Gosselin, and John Isidoro, “Vertex Shading with Direct3D and OpenGL,”
Game Developers Conference, Mar. 2001. Cited on p. 659
[672] Hart, Evan, “UHD Color for Games,” NVIDIA White Paper, June 2016. Cited on p. 161,
165, 278, 281, 283, 287, 290
[673] Hart, J. C., D. J. Sandin, and L. H. Kauffman, “Ray Tracing Deterministic 3-D Fractals,”
Computer Graphics (SIGGRAPH ’89 Proceedings), vol. 23, no. 3, pp. 289–296, 1989. Cited
on p. 752
[674] Hart, John C., George K. Francis, and Louis H. Kauffman, “Visualizing Quaternion Rotation,”
ACM Transactions on Graphics, vol. 13, no. 3, pp. 256–276, 1994. Cited on p. 102
[675] Hasenfratz, Jean-Marc, Marc Lapierre, Nicolas Holzschuch, and François Sillion, “A Survey of
Real-Time Soft Shadows Algorithms,” Computer Graphics Forum, vol. 22, no. 4, pp. 753–774,
2003. Cited on p. 265
[676] Hasselgren, J., T. Akenine-Möller, and L. Ohlsson, “Conservative Rasterization,” in Matt
Pharr, ed., GPU Gems 2, Addison-Wesley, pp. 677–690, 2005. Cited on p. 1001
[677] Hasselgren, J., T. Akenine-Möller, and S. Laine, “A Family of Inexpensive Sampling Schemes,”
Computer Graphics Forum, vol. 24, no. 4, pp. 843–848, 2005. Cited on p. 146
[678] Hasselgren, J., and T. Akenine-Möller, “An Efficient Multi-View Rasterization Architecture,”
in Proceedings of the 17th Eurographics Conference on Rendering Techniques, Eurographics
Association, pp. 61–72, June 2006. Cited on p. 928
[679] Hasselgren, J., and T. Akenine-Möller, “Efficient Depth Buffer Compression,” in Graphics
Hardware 2006, Eurographics Association, pp. 103–110, Sept. 2006. Cited on p. 997, 1009,
1016
1086 Bibliography

[680] Hasselgren, J., and T. Akenine-Möller, “PCU: The Programmable Culling Unit,” ACM Trans-
actions on Graphics, vol. 26, no. 3, pp. 92.1–91.20, 2007. Cited on p. 252
[681] Hasselgren, J., M. Andersson, J. Nilsson, and T. Akenine-Möller, “A Compressed Depth
Cache,” Journal of Computer Graphics Techniques, vol. 1, no. 1, pp. 101–118, 2012. Cited
on p. 1009
[682] Hasselgren, Jon, Jacob Munkberg, and Karthik Vaidyanathan, “Practical Layered Recon-
struction for Defocus and Motion Blur,” Journal of Computer Graphics Techniques, vol. 4,
no. 2, pp. 45–58, 2012. Cited on p. 542
[683] Hasselgren, J., M. Andersson, and T. Akenine-Möller, “Masked Software Occlusion Culling,”
High-Performance Graphics, June 2016. Cited on p. 849, 850
[684] Hast, Anders, “3D Stereoscopic Rendering: An Overview of Implementation Issues,” in Eric
Lengyel, ed., Game Engine Gems, Jones & Bartlett, pp. 123–138, 2010. Cited on p. 927, 932,
934
[685] Hathaway, Benjamin, “Alpha Blending as a Post-Process,” in Wolfgang Engel, ed., GPU Pro,
A K Peters, Ltd., pp. 167–184, 2010. Cited on p. 208
[686] He, Xiao D., Kenneth E. Torrance, François X. Sillion, and Donald P. Greenberg, “A Com-
prehensive Physical Model for Light Reflection,” Computer Graphics (SIGGRAPH ’91 Pro-
ceedings), vol. 25, no. 4, pp. 175–186, July 1991. Cited on p. 361, 425
[687] He, Y., Y. Gu, and K. Fatahalian, “Extending the Graphics Pipeline with Adaptive, Multi-
rate Shading,” ACM Transactions on Graphics, vol. 33, no. 4, pp. 142:1–142:12, 2014. Cited
on p. 1013
[688] He, Y., T. Foley, N. Tatarchuk, and K. Fatahalian, “A System for Rapid, Automatic Shader
Level-of-Detail,” ACM Transactions on Graphics, vol. 34, no. 6, pp. 187:1–187:12, 2015. Cited
on p. 853
[689] Hearn, Donald, and M. Pauline Baker, Computer Graphics with OpenGL, Fourth Edition,
Prentice-Hall, Inc., 2010. Cited on p. 102
[690] Heckbert, Paul, “Survey of Texture Mapping,” IEEE Computer Graphics and Applications,
vol. 6, no. 11, pp. 56–67, Nov. 1986. Cited on p. 222
[691] Heckbert, Paul S., “Fundamentals of Texture Mapping and Image Warping,” Technical Report
516, Computer Science Division, University of California, Berkeley, June 1989. Cited on p. 187,
189, 222, 688
[692] Heckbert, Paul S., “What Are the Coordinates of a Pixel?” in Andrew S. Glassner, ed.,
Graphics Gems, Academic Press, pp. 246–248, 1990. Cited on p. 176
[693] Heckbert, Paul S., “Adaptive Radiosity Textures for Bidirectional Ray Tracing,” Computer
Graphics (SIGGRAPH ’90 Proceedings), vol. 24, no. 4, pp. 145–154, Aug. 1990. Cited on
p. 439
[694] Heckbert, Paul S., and Henry P. Moreton, “Interpolation for Polygon Texture Mapping and
Shading,” State of the Art in Computer Graphics: Visualization and Modeling, Springer-
Verlag, pp. 101–111, 1991. Cited on p. 22, 999
[695] Heckbert, Paul S., ed., Graphics Gems IV, Academic Press, 1994. Cited on p. 102, 991
[696] Heckbert, Paul S., “A Minimal Ray Tracer,” in Paul S. Heckbert, ed., Graphics Gems IV,
Academic Press, pp. 375–381, 1994. Cited on p. 444
[697] Heckbert, Paul S., and Michael Herf, “Simulating Soft Shadows with Graphics Hardware,”
Technical Report CMU-CS-97-104, Carnegie Mellon University, Jan. 1997. Cited on p. 228
[698] Hecker, Chris, “More Compiler Results, and What To Do About It,” Game Developer, pp. 14–
21, Aug./Sept. 1996. Cited on p. 793
Bibliography 1087

[699] Hector, Tobias, “Vulkan: High Efficiency on Mobile,” Imagination Blog, Nov. 5, 2015. Cited
on p. 40, 794, 814
[700] Hegeman, Kyle, Nathan A. Carr, and Gavin S. P. Miller, “Particle-Based Fluid Simulation
on the GPU,” in Computational Science—ICCS 2006, Springer, pp. 228–235, 2006. Cited on
p. 571
[701] Heidmann, Tim, “Real Shadows, Real Time,” Iris Universe, no. 18, pp. 23–31, Nov. 1991.
Cited on p. 230, 231
[702] Heidrich, Wolfgang, and Hans-Peter Seidel, “View-Independent Environment Maps,” in Pro-
ceedings of the ACM SIGGRAPH/EUROGRAPHICS Workshop on Graphics Hardware,
ACM, pp. 39–45, Aug. 1998. Cited on p. 414
[703] Heidrich, Wolfgang, Rüdifer Westermann, Hans-Peter Seidel, and Thomas Ertl, “Applications
of Pixel Textures in Visualization and Realistic Image Synthesis,” in Proceedings of the 1999
Symposium on Interactive 3D Graphics, ACM, pp. 127–134, Apr. 1999. Cited on p. 538
[704] Heidrich, Wolfgang, and Hans-Peter Seidel, “Realistic, Hardware-Accelerated Shading and
Lighting,” in SIGGRAPH ’99: Proceedings of the 26th Annual Conference on Computer
Graphics and Interactive Techniques, ACM Press/Addison-Wesley Publishing Co., pp. 171–
178, Aug. 1999. Cited on p. 414, 418, 427
[705] Heidrich, Wolfgang, Katja Daubert, Jan Kautz, and Hans-Peter Seidel, “Illuminating Micro
Geometry Based on Precomputed Visibility,” in SIGGRAPH ’00: Proceedings of the 27th
Annual Conference on Computer Graphics and Interactive Techniques, ACM Press/Addison-
Wesley Publishing Co., pp. 455–464, July 2000. Cited on p. 466
[706] Heitz, Eric, and Fabrice Neyret, “Representing Appearance and Pre-filtering Subpixel Data in
Sparse Voxel Octrees,” in Proceedings of the Fourth ACM SIGGRAPH / Eurographics Con-
ference on High-Performance Graphics, Eurographics Association, pp. 125–134, June 2012.
Cited on p. 579, 585, 586
[707] Heitz, Eric, Christophe Bourlier, and Nicolas Pinel, “Correlation Effect between Transmitter
and Receiver Azimuthal Directions on the Illumination Function from a Random Rough Sur-
face,” Waves in Random and Complex Media, vol. 23, no. 3, pp. 318–335, 2013. Cited on
p. 336
[708] Heitz, Eric, “Understanding the Masking-Shadowing Function in Microfacet-Based BRDFs,”
Journal of Computer Graphics Techniques, vol. 3, no. 4, pp. 48–107, 2014. Cited on p. 332,
333, 334, 335, 336, 337, 339, 344
[709] Heitz, Eric, and Jonathan Dupuy, “Implementing a Simple Anisotropic Rough Diffuse Material
with Stochastic Evaluation,” Technical Report, 2015. Cited on p. 331
[710] Heitz, Eric, Jonathan Dupuy, Cyril Crassin, and Carsten Dachsbacher, “The SGGX Microflake
Distribution,” ACM Transactions on Graphics (SIGGRAPH 2015), vol. 34, no. 4, pp. 48:1–
48:11, Aug. 2015. Cited on p. 648, 649
[711] Heitz, Eric, Jonathan Dupuy, Stephen Hill, and David Neubelt, “Real-Time Polygonal-Light
Shading with Linearly Transformed Cosines,” ACM Transactions on Graphics (SIGGRAPH
2016), vol. 35, no. 4, pp. 41:1–41:8, July 2016. Cited on p. 390
[712] Heitz, Eric, Johannes Hanika, Eugene d’Eon, and Carsten Dachsbacher, “Multiple-Scattering
Microfacet BSDFs with the Smith Model,” ACM Transactions on Graphics (SIGGRAPH
2016), vol. 35, no. 4, pp. 58:1–58:8, July 2016. Cited on p. 346
[713] Held, Martin, “ERIT—A Collection of Efficient and Reliable Intersection Tests,” journal of
graphics tools, vol. 2, no. 4, pp. 25–44, 1997. Cited on p. 959, 974
[714] Held, Martin, “FIST: Fast Industrial-Strength Triangulation of Polygons,” Algorithmica,
vol. 30, no. 4, pp. 563–596, 2001. Cited on p. 685
1088 Bibliography

[715] Hennessy, John L., and David A. Patterson, Computer Architecture: A Quantitative Ap-
proach, Fifth Edition, Morgan Kaufmann, 2011. Cited on p. 12, 30, 783, 789, 867, 1007,
1040
[716] Hennessy, Padraic, “Implementation Notes: Physically Based Lens Flares,” Placeholder Art
blog, Jan. 19, 2015. Cited on p. 526
[717] Hennessy, Padraic, “Mixed Resolution Rendering in Skylanders: SuperChargers,” Game De-
velopers Conference, Mar. 2016. Cited on p. 520
[718] Hensley, Justin, and Thorsten Scheuermann, “Dynamic Glossy Environment Reflections Using
Summed-Area Tables,” in Wolfgang Engel, ed., ShaderX4 , Charles River Media, pp. 187–200,
2005. Cited on p. 188, 420
[719] Hensley, Justin, Thorsten Scheuermann, Greg Coombe, Montek Singh, and Anselmo Lastra,
“Fast Summed-Area Table Generation and Its Applications,” Computer Graphics Forum,
vol. 24, no. 3, pp. 547–555, 2005. Cited on p. 188, 420
[720] Hensley, Justin, “Shiny, Blurry Things,” SIGGRAPH Beyond Programmable Shading course,
Aug. 2009. Cited on p. 420
[721] Henyey, L. G., and J. L. Greenstein, “Diffuse Radiation in the Galaxy,” in Astrophysical
Journal, vol. 93, pp. 70–83, 1941. Cited on p. 598
[722] Herf, M., and P. S. Heckbert, “Fast Soft Shadows,” in ACM SIGGRAPH ’96 Visual Proceed-
ings, ACM, p. 145, Aug. 1996. Cited on p. 228
[723] Hermosilla, Pedro, and Pere-Pau Vázquez, “NPR Effects Using the Geometry Shader,” in
Wolfgang Engel, ed., GPU Pro, A K Peters, Ltd., pp. 149–165, 2010. Cited on p. 668
[724] Herrell, Russ, Joe Baldwin, and Chris Wilcox, “High-Quality Polygon Edging,” IEEE Com-
puter Graphics and Applications, vol. 15, no. 4, pp. 68–74, July 1995. Cited on p. 673
[725] Hertzmann, Aaron, “Introduction to 3D Non-Photorealistic Rendering: Silhouettes and Out-
lines,” SIGGRAPH Non-Photorealistic Rendering course, Aug. 1999. Cited on p. 663, 667
[726] Hertzmann, Aaron, and Denis Zorin, “Illustrating Smooth Surfaces,” in SIGGRAPH ’00: Pro-
ceedings of the 27th Annual Conference on Computer Graphics and Interactive Techniques,
ACM Press/Addison-Wesley Publishing Co., pp. 517–526, July 2000. Cited on p. 667, 672
[727] Hertzmann, Aaron, “A Survey of Stroke-Based Rendering,” IEEE Computer Graphics and
Applications, vol. 23, no. 4, pp. 70–81, July/Aug. 2003. Cited on p. 678
[728] Hertzmann, Aaron, “Non-Photorealistic Rendering and the Science of Art,” in Proceedings
of the 8th International Symposium on Non-Photorealistic Animation and Rendering, ACM,
pp. 147–157, 2010. Cited on p. 678
[729] Hery, Christophe, “On Shadow Buffers,” Stupid RenderMan/RAT Tricks, SIGGRAPH 2002
RenderMan Users Group meeting, July 2002. Cited on p. 638
[730] Hery, Christophe, “Implementing a Skin BSSRDF (or Several),” SIGGRAPH RenderMan,
Theory and Practice course, July 2003. Cited on p. 638
[731] Hery, Christophe, Michael Kass, and Junyi Ling, “Geometry into Shading,” Technical memo,
Pixar Animation Studios, 2014. Cited on p. 370
[732] Hery, Christophe, and Junyi Ling, “Pixar’s Foundation for Materials: PxrSurface and Pxr-
MarschnerHair,” SIGGRAPH Physically Based Shading in Theory and Practice course, Aug.
2017. Cited on p. 321, 343, 359, 363, 364, 370
[733] Herzog, Robert, Elmar Eisemann, Karol Myszkowski, and H.-P. Seidel, “Spatio-Temporal
Upsampling on the GPU,” in Proceedings of the 2010 ACM SIGGRAPH Symposium on
Interactive 3D Graphics and Games, ACM, pp. 91–98, 2010. Cited on p. 520
[734] Hicks, Odell, “A Simulation of Thermal Imaging,” in Wolfgang Engel, ed., ShaderX3 , Charles
River Media, pp. 169–170, 2004. Cited on p. 521
Bibliography 1089

[735] Hill, F. S., Jr., “The Pleasures of ‘Perp Dot’ Products,” in Paul S. Heckbert, ed., Graphics
Gems IV, Academic Press, pp. 138–148, 1994. Cited on p. 6, 987
[736] Hill, Steve, “A Simple Fast Memory Allocator,” in David Kirk, ed., Graphics Gems III,
Academic Press, pp. 49–50, 1992. Cited on p. 793
[737] Hill, Stephen, “Rendering with Conviction,” Game Developers Conference, Mar. 2010. Cited
on p. 452, 457
[738] Hill, Stephen, and Daniel Collin, “Practical, Dynamic Visibility for Games,” in Wolfgang
Engel, ed., GPU Pro2 , A K Peters/CRC Press, pp. 329–348, 2011. Cited on p. 848
[739] Hill, Stephen, “Specular Showdown in the Wild West,” Self-Shadow blog, July 22, 2011. Cited
on p. 370
[740] Hill, Stephen, and Dan Baker, “Rock-Solid Shading: Image Stability Without Sacrificing
Detail,” SIGGRAPH Advances in Real-Time Rendering in Games course, Aug. 2012. Cited
on p. 371
[741] Hillaire, Sébastien, “Improving Performance by Reducing Calls to the Driver,” in Patrick
Cozzi & Christophe Riccio, eds., OpenGL Insights, CRC Press, pp. 353–363, 2012. Cited on
p. 795, 796, 797
[742] Hillaire, Sébastien, “Physically-Based and Unified Volumetric Rendering in Frostbite,” SIG-
GRAPH Advances in Real-Time Rendering course, Aug. 2015. Cited on p. 570, 610, 611,
612, 613
[743] Hillaire, Sébastien, “Physically Based Sky, Atmosphere and Cloud Rendering in Frostbite,”
SIGGRAPH Physically Based Shading in Theory and Practice course, July 2016. Cited on
p. 589, 596, 599, 602, 610, 614, 615, 616, 617, 620, 621, 622, 623, 649
[744] Hillaire, Sébastien, “Volumetric Stanford Bunny,” Shadertoy, Mar. 25, 2017. Cited on p. 594
[745] Hillaire, Sébastien, “Real-Time Raytracing for Interactive Global Illumination Workflows in
Frostbite,” Game Developers Conference, Mar. 2018. Cited on p. 1044
[746] Hillesland, Karl, “Real-Time Ptex and Vector Displacement,” in Wolfgang Engel, ed., GPU
Pro4 , CRC Press, pp. 69–80, 2013. Cited on p. 191
[747] Hillesland, K. E., and J. C. Yang, “Texel Shading,” in Eurographics 2016—Short Papers,
Eurographics Association, pp. 73–76, May 2016. Cited on p. 911
[748] Hillesland, Karl, “Texel Shading,” GPUOpen website, July 21, 2016. Cited on p. 911
[749] Hinsinger, D., F. Neyret, and M.-P. Cani, “Interactive Animation of Ocean Waves,” in Pro-
ceedings of the 2002 ACM SIGGRAPH/Eurographics Symposium on Computer Animation,
ACM, pp. 161–166, 2002. Cited on p. 878
[750] Hirche, Johannes, Alexander Ehlert, Stefan Guthe, and Michael Doggett, “Hardware Ac-
celerated Per-Pixel Displacement Mapping,” in Graphics Interface 2004, Canadian Human-
Computer Communications Society, pp. 153–158, 2004. Cited on p. 220
[751] Hoberock, Jared, and Yuntao Jia, “High-Quality Ambient Occlusion,” in Hubert Nguyen, ed.,
GPU Gems 3, Addison-Wesley, pp. 257–274, 2007. Cited on p. 454
[752] Hoetzlein, Rama, “GVDB: Raytracing Sparse Voxel Database Structures on the GPU,” High
Performance Graphics, June 2016. Cited on p. 578, 582, 586
[753] Hoetzlein, Rama, “NVIDIA R GVDB Voxels: Programming Guide,” NVIDIA website, May
2017. Cited on p. 578, 580, 582
[754] Hoffman, Donald D., Visual Intelligence, W. W. Norton & Company, 2000. Cited on p. 150
[755] Hoffman, Naty, and Kenny Mitchell, “Photorealistic Terrain Lighting in Real Time,” Game
Developer, vol. 8, no. 7, pp. 32–41, July 2001. More detailed version in “Real-Time Photore-
alistic Terrain Lighting,” Game Developers Conference, Mar. 2001. Also collected in [1786].
Cited on p. 451
1090 Bibliography

[756] Hoffman, Naty, “Color Enhancement for Videogames,” SIGGRAPH Color Enhancement and
Rendering in Film and Game Production course, July 2010. Cited on p. 289, 290
[757] Hoffman, Naty, “Outside the Echo Chamber: Learning from Other Disciplines, Industries,
and Art Forms,” Opening keynote of Symposium on Interactive 3D Graphics and Games,
Mar. 2013. Cited on p. 284, 289
[758] Hoffman, Naty, “Background: Physics and Math of Shading,” SIGGRAPH Physically Based
Shading in Theory and Practice course, July 2013. Cited on p. 315
[759] Holbert, Daniel, “Normal Offset Shadows,” Dissident Logic blog, Aug. 27, 2010. Cited on
p. 238
[760] Holbert, Daniel, “Saying ‘Goodbye’ to Shadow Acne,” Game Developers Conference poster,
Mar. 2011. Cited on p. 238
[761] Hollemeersch, C.-F., B. Pieters, P. Lambert, and R. Van de Walle, “Accelerating Virtual
Texturing Using CUDA,” in Wolfgang Engel, ed., GPU Pro, A K Peters, Ltd., pp. 623–642,
2010. Cited on p. 868
[762] Holzschuch, Nicolas, and Romain Pacanowski, “Identifying Diffraction Effects in Measured
Reflectances,” Eurographics Workshop on Material Appearance Modeling, June 2015. Cited
on p. 361
[763] Holzschuch, Nicolas, and Romain Pacanowski, “A Two-Scale Microfacet Reflectance Model
Combining Reflection and Diffraction,” ACM Transactions on Graphics (SIGGRAPH 2017),
vol. 36, no. 4, pp. 66:1–66:12, July 2017. Cited on p. 331, 343, 361
[764] Hoobler, Nathan, “High Performance Post-Processing,” Game Developers Conference, Mar.
2011. Cited on p. 54, 536
[765] Hoobler, Nathan, “Fast, Flexible, Physically-Based Volumetric Light Scattering,” Game De-
velopers Conference, Mar. 2016. Cited on p. 608
[766] Hooker, JT, “Volumetric Global Illumination at Treyarch,” SIGGRAPH Advances in Real-
Time Rendering in Games course, July 2016. Cited on p. 395, 478, 488, 489
[767] Hoppe, H., T. DeRose, T. Duchamp, M. Halstead, H. Jin, J. McDonald, J. Schweitzer, and
W. Stuetzle, “Piecewise Smooth Surface Reconstruction,” in SIGGRAPH ’94: Proceedings
of the 21st Annual Conference on Computer Graphics and Interactive Techniques, ACM,
pp. 295–302, July 1994. Cited on p. 758, 760, 763
[768] Hoppe, Hugues, “Progressive Meshes,” in SIGGRAPH ’96: Proceedings of the 23rd Annual
Conference on Computer Graphics and Interactive Techniques, ACM, pp. 99–108, Aug. 1996.
Cited on p. 706, 707, 710, 859
[769] Hoppe, Hugues, “View-Dependent Refinement of Progressive Meshes,” in SIGGRAPH ’97:
Proceedings of the 24th Annual Conference on Computer Graphics and Interactive Tech-
niques, ACM Press/Addison-Wesley Publishing Co., pp. 189–198, Aug. 1997. Cited on p. 772
[770] Hoppe, Hugues, “Efficient Implementation of Progressive Meshes,” Computers and Graphics,
vol. 22, no. 1, pp. 27–36, 1998. Cited on p. 707, 710
[771] Hoppe, Hugues, “Optimization of Mesh Locality for Transparent Vertex Caching,” in SIG-
GRAPH ’99: Proceedings of the 26th Annual Conference on Computer Graphics and Interac-
tive Techniques, ACM Press/Addison-Wesley Publishing Co., pp. 269–276, Aug. 1999. Cited
on p. 700
[772] Hoppe, Hugues, “New Quadric Metric for Simplifying Meshes with Appearance Attributes,”
in Proceedings of Visualization ’99, IEEE Computer Society, pp. 59–66, Oct. 1999. Cited on
p. 709
[773] Hormann, K., and M. Floater, ‘Mean Value Coordinates for Arbitrary Planar Polygons,” ACM
Transactions on Graphics, vol. 25, no. 4, pp. 1424–1441, Oct. 2006. Cited on p. 970
Bibliography 1091

[774] Hormann, Kai, Bruno Lévy, and Alla Sheffer, SIGGRAPH Mesh Parameterization: Theory
and Practice course, Aug. 2007. Cited on p. 173
[775] Hornus, Samuel, Jared Hoberock, Sylvain Lefebvre, and John Hart, “ZP+: Correct Z-Pass
Stencil Shadows,” in Proceedings of the 2005 Symposium on Interactive 3D Graphics and
Games, ACM, pp. 195–202, Apr. 2005. Cited on p. 232
[776] Horvath, Helmuth, “Gustav Mie and the Scattering and Absorption of Light by Particles: His-
toric Developments and Basics,” Journal of Quantitative Spectroscopy and Radiative Transfer,
vol. 110, no. 11, pp. 787–799, 2009. Cited on p. 597
[777] Hoschek, Josef, and Dieter Lasser, Fundamentals of Computer Aided Geometric Design, A K
Peters, Ltd., 1993. Cited on p. 718, 721, 725, 732, 734, 738, 742, 749, 754, 781
[778] Hosek, Lukas, and Alexander Wilkie, “An Analytic Model for Full Spectral Sky-Dome Radi-
ance,” ACM Transaction on Graphics, vol. 31, no. 4, pp. 1–9, July 2012. Cited on p. 614
[779] Hu, Jinhui, Suya You, and Ulrich Neumann, “Approaches to Large-Scale Urban Modeling,”
IEEE Computer Graphics and Applications, vol. 23, no. 6, pp. 62–69, Nov./Dec. 2003. Cited
on p. 573
[780] Hu, L., P. Sander, and H. Hoppe, “Parallel View-Dependent Level-of-Detail Control,” IEEE
Transactions on Visualization and Computer Graphics, vol. 16, no. 5, pp. 718–728, 2010.
Cited on p. 475, 859
[781] Hu, Liwen, Chongyang Ma, Linjie Luo, and Hao Li, “Single-View Hair Modeling Using a
Hairstyle Database,” ACM Transaction on Graphics, vol. 34, no. 4, pp. 1–9, July 2015. Cited
on p. 645
[782] Hubbard, Philip M., “Approximating Polyhedra with Spheres for Time-Critical Collision De-
tection,” ACM Transactions on Graphics, vol. 15, no. 3, pp. 179–210, 1996. Cited on p. 976
[783] Hughes, James, Reza Nourai, and Ed Hutchins, “Understanding, Measuring, and Analyzing
VR Graphics Performance,” in Wolfgang Engel, ed., GPU Zen, Black Cat Publishing, pp. 253–
274, 2017. Cited on p. 785, 815, 937, 938, 940
[784] Hughes, John F., and Tomas Möller, “Building an Orthonormal Basis from a Unit Vector,”
journal of graphics tools, vol. 4, no. 4, pp. 33–35, 1999. Also collected in [112]. Cited on p. 75,
552
[785] Hughes, John F., Andries van Dam, Morgan McGuire, David F. Sklar, James D. Foley, Steven
K. Feiner, and Kurt Akeley, Computer Graphics: Principles and Practice, Third Edition,
Addison-Wesley, 2013. Cited on p. 102, 278
[786] Hullin, Matthias, Elmar Eisemann, Hans-Peter Seidel, and Sungkil Lee, “Physically-Based
Real-Time Lens Flare Rendering,” ACM Transactions on Graphics (SIGGRAPH 2011),
vol. 30, no. 4, pp. 108:1–108:10, July 2011. Cited on p. 524, 526
[787] Humphreys, Greg, Mike Houston, Ren Ng, Randall Frank, Sean Ahern, Peter D. Kirchner, and
James t. Klosowski, “Chromium: A Stream-Processing Framework for Interactive Rendering
on Clusters,” ACM Transactions on Graphics, vol. 21, no. 3, pp. 693–702, July 2002. Cited
on p. 1020
[788] Hunt, R. W. G., The Reproduction of Colour, Sixth Edition, John Wiley & Sons, Inc., 2004.
Cited on p. 291
[789] Hunt, R. W. G., and M. R. Pointer, Measuring Colour, Fourth Edition, John Wiley & Sons,
Inc., 2011. Cited on p. 276, 291
[790] Hunt, Warren, “Real-Time Ray-Casting for Virtual Reality,” Hot 3D Session, High-
Performance Graphics, July 2017. Cited on p. 939
[791] Hunter, Biver, and Paul Fuqua, Light Science and Magic: An Introduction to Photographic
Lighting, Fourth Edition, Focal Press, 2011. Cited on p. 436
1092 Bibliography

[792] Hurlburt, Stephanie, “Improving Texture Compression in Games,” Game Developers Confer-
ence AMD Capsaicin & Cream Developer Sessions, Feb. 2017. Cited on p. 870
[793] Hwu, Wen-Mei, and David Kirk, “Programming Massively Parallel Processors,” Course ECE
498 AL1 Notes, Department of Electrical and Computer Engineering, University of Illinois,
Fall 2007. Cited on p. 1040
[794] Igehy, Homan, Matthew Eldridge, and Kekoa Proudfoot, “Prefetching in a Texture Cache Ar-
chitecture,” in Proceedings of the ACM SIGGRAPH/EUROGRAPHICS Workshop on Graph-
ics Hardware, ACM, pp. 133–142, Aug. 1998. Cited on p. 1017
[795] Igehy, Homan, Matthew Eldridge, and Pat Hanrahan, “Parallel Texture Caching,” in Proceed-
ings of the ACM SIGGRAPH/EUROGRAPHICS Workshop on Graphics Hardware, ACM,
pp. 95–106, Aug. 1999. Cited on p. 1017
[796] Iglesias-Guitian, Jose A., Bochang Moon, Charalampos Koniaris, Eric Smolikowski, and
Kenny Mitchell, “Pixel History Linear Models for Real-Time Temporal Filtering,” Computer
Graphics Forum (Pacific Graphics 2016), vol. 35, no. 7, pp. 363–372, 2016. Cited on p. 143
[797] Ikits, Milan, Joe Kniss, Aaron Lefohn, and Charles Hansen, “Volume Rendering Techniques,”
in Randima Fernando, ed., GPU Gems, Addison-Wesley, pp. 667–692, 2004. Cited on p. 605,
607
[798] Iourcha, Konstantine, and Jason C. Yang, “A Directionally Adaptive Edge Anti-Aliasing
Filter,” in Proceedings of the Conference on High-Performance Graphics 2009, ACM, pp. 127–
133, Aug. 2009. Cited on p. 147
[799] Isenberg, Tobias, Bert Freudenberg, Nick Halper, Stefan Schlechtweg, and Thomas Strothotte,
“A Developer’s Guide to Silhouette Algorithms for Polygonal Models,” IEEE Computer
Graphics and Applications, vol. 23, no. 4, pp. 28–37, July/Aug. 2003. Cited on p. 678
[800] Isenberg, M., and P. Alliez, “Compressing Polygon Mesh Geometry with Parallelogram Pre-
diction,” in Proceedings of the Conference on Visualization ’02, IEEE Computer Society,
pp. 141–146, 2002. Cited on p. 92
[801] Isensee, Pete, “C++ Optimization Strategies and Techniques,” Pete Isensee website, 2007.
Cited on p. 815
[802] Isidoro, John, Alex Vlachos, and Chris Brennan, “Rendering Ocean Water,” in Wolfgang En-
gel, ed., Direct3D ShaderX: Vertex & Pixel Shader Tips and Techniques, Wordware, pp. 347–
356, May 2002. Cited on p. 43
[803] Isidoro, John, “Next Generation Skin Rendering,” Game Tech Conference, 2004. Cited on
p. 635
[804] Isidoro, John, “Shadow Mapping: GPU-Based Tips and Techniques,” Game Developers Con-
ference, Mar. 2006. Cited on p. 250
[805] Iwanicki, Michal, “Normal Mapping with Low-Frequency Precomputed Visibility,” in SIG-
GRAPH 2009 Talks, ACM, article no. 52, Aug. 2009. Cited on p. 466, 471
[806] Iwanicki, Michal, “Lighting Technology of The Last of Us,” in ACM SIGGRAPH 2013 Talks,
ACM, article no. 20, July 2013. Cited on p. 229, 289, 467, 476, 486, 498
[807] Iwanicki, Michal, and Angelo Pesce, “Approximate Models for Physically Based Rendering,”
SIGGRAPH Physically Based Shading in Theory and Practice course, Aug. 2015. Cited on
p. 386, 387, 423, 425, 502
[808] Iwanicki, Michal, and Peter-Pike Sloan, “Ambient Dice,” Eurographics Symposium on
Rendering—Experimental Ideas & Implementations, June 2017. Cited on p. 395, 478, 488
[809] Iwanicki, Michal, and Peter-Pike Sloan, “Precomputed Lighting in Call of Duty: Infinite
Warfare,” SIGGRAPH Advances in Real-Time Rendering in Games course, Aug. 2017. Cited
on p. 403, 471, 476, 490, 491
Bibliography 1093

[810] Jakob, Wenzel, Miloš Hašan, Ling-Qi Yan, Jason Lawrence, Ravi Ramamoorthi, and Steve
Marschner, “Discrete Stochastic Microfacet Models,” ACM Transactions on Graphics (SIG-
GRAPH 2014), vol. 33, no. 4, pp. 115:1–115:9, July 2014. Cited on p. 372
[811] Jakob, Wenzel, Eugene d’Eon, Otto Jakob, and Steve Marschner, “A Comprehensive Frame-
work for Rendering Layered Materials,” ACM Transactions on Graphics (SIGGRAPH 2014),
vol. 33, no. 4, pp. 118:1–118:14, July 2014. Cited on p. 346, 364
[812] Jakob, Wenzel, “layerlab: A Computational Toolbox for Layered Materials,” SIGGRAPH
Physically Based Shading in Theory and Practice course, Aug. 2015. Cited on p. 364
[813] James, Doug L., and Christopher D. Twigg, “Skinning Mesh Animations,” ACM Transactions
on Graphics, vol. 23, no. 3, pp. 399–407, Aug. 2004. Cited on p. 85
[814] James, Greg, “Operations for Hardware Accelerated Procedural Texture Animation,” in Mark
DeLoura, ed., Game Programming Gems 2, Charles River Media, pp. 497–509, 2001. Cited
on p. 521
[815] James, Greg, and John O’Rorke, “Real-Time Glow,” in Randima Fernando, ed., GPU Gems,
Addison-Wesley, pp. 343–362, 2004. Cited on p. 517, 518, 527
[816] Jansen, Jon, and Louis Bavoil, “Fast Rendering of Opacity-Mapped Particles Using DirectX
11 Tessellation and Mixed Resolutions,” NVIDIA White Paper, Feb. 2011. Cited on p. 520,
569, 570, 571, 609, 612
[817] Jarosz, Wojciech, “Fast Image Convolutions,” SIGGRAPH Workshop at University of Illinois
at Urbana-Champaign, 2001. Cited on p. 518
[818] Jarosz, Wojciech, Efficient Monte Carlo Methods for Light Transport in Scattering Media,
PhD Thesis, University of California, San Diego, Sept. 2008. Cited on p. 589
[819] Jarosz, Wojciech, Nathan A. Carr, and Henrik Wann Jensen, “Importance Sampling Spherical
Harmonics,” Computer Graphics Forum, vol. 28, no. 2, pp. 577–586, 2009. Cited on p. 420
[820] Jendersie, Johannes, David Kuri, and Thorsten Grosch, “Precomputed Illuminance Com-
position for Real-Time Global Illumination,” in Proceedings of the 20th ACM SIGGRAPH
Symposium on Interactive 3D Graphics and Games, ACM, pp. 129–137, 2016. Cited on p. 483
[821] Jensen, Henrik Wann, Justin Legakis, and Julie Dorsey, “Rendering of Wet Materials,” in
Rendering Techniques ’99, Springer, pp. 273–282, June 1999. Cited on p. 349
[822] Jensen, Henrik Wann, Realistic Image Synthesis Using Photon Mapping, A K Peters, Ltd.,
2001. Cited on p. 630
[823] Jensen, Henrik Wann, Stephen R. Marschner, Marc Levoy, and Pat Hanrahan, “A Practical
Model for Subsurface Light Transport,” in SIGGRAPH ’01 Proceedings of the 28th Annual
Conference on Computer Graphics and Interactive Techniques, ACM, pp. 511–518, Aug. 2001.
Cited on p. 634, 638
[824] Jeschke, Stefan, Stephan Mantler, and Michael Wimmer, “Interactive Smooth and Curved
Shell Mapping,” in Rendering Techniques, Eurographics Association, pp. 351–360, June 2007.
Cited on p. 220
[825] Jiang, Yibing, “The Process of Creating Volumetric-Based Materials in Uncharted 4,” SIG-
GRAPH Advances in Real-Time Rendering in Games course, July 2016. Cited on p. 356,
357, 358, 359
[826] Jiménez, J. J., F. R. Feito, and R. J. Segura, “Robust and Optimized Algorithms for the
Point-in-Polygon Inclusion Test without Pre-processing,” Computer Graphics Forum, vol. 28,
no. 8, pp. 2264–2274, 2009. Cited on p. 970
[827] Jiménez, J. J., David Whelan, Veronica Sundstedt, and Diego Gutierrez, “Real-Time Realistic
Skin Translucency,” Computer Graphics and Applications, vol. 30, no. 4, pp. 32–41, 2010.
Cited on p. 637
1094 Bibliography

[828] Jimenez, Jorge, Belen Masia, Jose I. Echevarria, Fernando Navarro, and Diego Gutierrez,
“Practical Morphological Antialiasing,” in Wolfgang Engel, ed., GPU Pro2 , A K Peters/CRC
Press, pp. 95–113, 2011. Cited on p. 148
[829] Jimenez, Jorge, Diego Gutierrez, et al., SIGGRAPH Filtering Approaches for Real-Time
Anti-Aliasing course, Aug. 2011. Cited on p. 147, 165
[830] Jimenez, Jorge, Jose I. Echevarria, Tiago Sousa, and Diego Gutierrez, “SMAA: Enhanced
Subpixel Morphological Antialiasing,” Computer Graphics Forum, vol. 31, no. 2, pp. 355–
364, 2012. Cited on p. 146, 148
[831] Jimenez, Jorge, “Next Generation Character Rendering,” Game Developers Conference, Mar.
2013. Cited on p. 636, 637
[832] Jimenez, Jorge, “Next Generation Post Processing in Call of Duty Advanced Warfare,” SIG-
GRAPH Advances in Real-Time Rendering in Games course, Aug. 2014. Cited on p. 251,
527, 534, 535, 537, 540, 542, 543
[833] Jimenez, Jorge, Karoly Zsolnai, Adrian Jarabo, Christian Freude, Thomas Auzinger, Xian-
Chun Wu, Javier von der Pahlen, Michael Wimmer, and Diego Gutierrez, “Separable Sub-
surface Scattering,” Computer Graphics Forum, vol. 34, no. 6, pp. 188–197, 2015. Cited on
p. 637
[834] Jimenez, Jorge, “Filmic SMAA: Sharp Morphological and Temporal Antialiasing,” SIG-
GRAPH Advances in Real-Time Rendering in Games course, July 2016. Cited on p. 148
[835] Jimenez, Jorge, Xianchun Wu, Angelo Pesce, and Adrian Jarabo, “Practical Real-Time Strate-
gies for Accurate Indirect Occlusion,” SIGGRAPH Physically Based Shading in Theory and
Practice course, July 2016. Cited on p. 451, 461, 462, 468, 472
[836] Jimenez, Jorge, “Dynamic Temporal Antialiasing in Call of Duty: Infinite Warfare,” SIG-
GRAPH Advances in Real-Time Rendering in Games course, Aug. 2017. Cited on p. 142,
143, 145, 146, 148, 166, 805
[837] Jin, Shuangshuang, Robert R. Lewis, and David West, “A Comparison of Algorithms for
Vertex Normal Computation,” The Visual Computer, vol. 21, pp. 71–82, 2005. Cited on
p. 695
[838] Johansson, Mikael, “Efficient Stereoscopic Rendering of Building Information Models (BIM),”
Journal of Computer Graphics Techniques, vol. 5, no. 3, pp. 1–17, 2016. Cited on p. 927
[839] Johnson, G. S., J. Lee, C. A. Burns, and W. R. Mark, “The Irregular Z-Buffer: Hardware
Acceleration for Irregular Data Structures,” ACM Transactions on Graphics, vol. 24, no. 4,
pp. 1462–1482, Oct. 2005. Cited on p. 260
[840] Johnsson, Björn, Per Ganestam, Michael Doggett, and Tomas Akenine-Möller, “Power Effi-
ciency for Software Algorithms Running on Graphics Processors,” in Proceedings of the Fourth
ACM SIGGRAPH / Eurographics Conference on High-Performance Graphics, Eurographics
Association, pp. 67–75, June 2012. Cited on p. 790
[841] Jones, James L., “Efficient Morph Target Animation Using OpenGL ES 3.0,” in Wolfgang
Engel, ed., GPU Pro5 , CRC Press, pp. 289–295, 2014. Cited on p. 90
[842] Jönsson, Daniel, Erik Sundén, Anders Ynnerman, and Timo Ropinski, “A Survey of Volumet-
ric Illumination Techniques for Interactive Volume Rendering,” Computer Graphics Forum,
vol. 33, no. 1, pp. 27–51, 2014. Cited on p. 605
[843] Joy, Kenneth I., On-Line Geometric Modeling Notes, http://graphics.idav.ucdavis.edu/
education/CAGDNotes/homepage.html, 1996. Cited on p. 756
[844] Junkins, S., “The Compute Architecture of Intel Processor Graphics Gen9,” Intel White Paper
v1.0, Aug. 2015. Cited on p. 1006, 1007
[845] Kajiya, James T., “Anisotropic Reflection Models,” Computer Graphics (SIGGRAPH ’85
Proceedings), vol. 19, no. 3, pp. 15–21, July 1985. Cited on p. 853
Bibliography 1095

[846] Kajiya, James T., “The Rendering Equation,” Computer Graphics (SIGGRAPH ’86 Proceed-
ings), vol. 20, no. 4, pp. 143–150, Aug. 1986. Cited on p. 315, 437, 444
[847] Kajiya, James T., and Timothy L. Kay, “Rendering Fur with Three Dimensional Textures,”
Computer Graphics (SIGGRAPH ’89 Proceedings), vol. 17, no. 3, pp. 271–280, July 1989.
Cited on p. 359, 642
[848] Kalnins, Robert D., Philip L. Davidson, Lee Markosian, and Adam Finkelstein, “Coherent
Stylized Silhouettes,” ACM Transactions on Graphics (SIGGRAPH 2003), vol. 22, no. 3,
pp. 856–861, 2003. Cited on p. 667
[849] Kämpe, Viktor, Fast, Memory-Efficient Construction of Voxelized Shadows, PhD Thesis,
Chalmers University of Technology, 2016. Cited on p. 586
[850] Kämpe, Viktor, Erik Sintorn, Ola Olsson, and Ulf Assarsson, “Fast, Memory-Efficient Con-
struction of Voxelized Shadows,” IEEE Transactions on Visualization and Computer Graph-
ics, vol. 22, no. 10, pp. 2239–2248, Oct. 2016. Cited on p. 264, 586
[851] Kaneko, Tomomichi, Toshiyuki Takahei, Masahiko Inami, Naoki Kawakami, Yasuyuki
Yanagida, Taro Maeda, and Susumu Tachi, “Detailed Shape Representation with Parallax
Mapping,” International Conference on Artificial Reality and Telexistence 2001, Dec. 2001.
Cited on p. 215
[852] Kang, H., H. Jang, C.-S. Cho, and J. Han, “Multi-Resolution Terrain Rendering with GPU
Tessellation,” The Visual Computer, vol. 31, no. 4, pp. 455–469, 2015. Cited on p. 567, 876
[853] Kaplan, Matthew, Bruce Gooch, and Elaine Cohen, “Interactive Artistic Rendering,” in Pro-
ceedings of the 1st International Symposium on Non-photorealistic Animation and Rendering,
ACM, pp. 67–74, June 2000. Cited on p. 670, 672
[854] Kaplanyan, Anton, “Light Propagation Volumes in CryEngine 3,” SIGGRAPH Advances in
Real-Time Rendering in Games course, Aug. 2009. Cited on p. 493
[855] Kaplanyan, Anton, and Carsten Dachsbacher, “Cascaded Light Propagation Volumes for Real-
Time Indirect Illumination,” in Proceedings of the 2010 ACM SIGGRAPH Symposium on
Interactive 3D Graphics and Games, ACM, pp. 99–107, Feb. 2010. Cited on p. 494, 496
[856] Kaplanyan, Anton, “CryENGINE 3: Reaching the Speed of Light,” SIGGRAPH Advances in
Real-Time Rendering in Games course, July 2010. Cited on p. 196, 289, 290, 848, 849, 887,
892
[857] Kaplanyan, Anton, Stephen Hill, Anjul Patney, and Aaron Lefohn, “Filtering Distributions
of Normals for Shading Antialiasing,” in Proceedings of High-Performance Graphics, Euro-
graphics Association, pp. 151–162, June 2016. Cited on p. 371
[858] Kapoulkine, Arseny, “Optimal Grid Rendering Is Not Optimal,” Bits, pixels, cycles and more
blog, July 31, 2017. Cited on p. 700, 701
[859] Karabassi, Evaggelia-Aggeliki, Georgios Papaioannou, and Theoharis Theoharis, “A Fast
Depth-Buffer-Based Voxelization Algorithm,” journal of graphics tools, vol. 4, no. 4, pp. 5–10,
1999. Cited on p. 580
[860] Karis, Brian, “Tiled Light Culling,” Graphic Rants blog, Apr. 9, 2012. Cited on p. 113, 882
[861] Karis, Brian, “Real Shading in Unreal Engine 4,” SIGGRAPH Physically Based Shading in
Theory and Practice course, July 2013. Cited on p. 111, 113, 116, 325, 336, 340, 342, 352,
355, 383, 385, 388, 422, 424
[862] Karis, Brian, “High Quality Temporal Supersampling,” SIGGRAPH Advances in Real-Time
Rendering in Games course, Aug. 2014. Cited on p. 142, 143, 144, 620
[863] Karis, Brian, “Physically Based Hair Shading in Unreal,” SIGGRAPH Physically Based Shad-
ing in Theory and Practice course, July 2016. Cited on p. 641, 644, 646
1096 Bibliography

[864] Kass, Michael, Aaron Lefohn, and John Owens, “Interactive Depth of Field Using Simulated
Diffusion on a GPU,” Technical memo, Pixar Animation Studios, 2006. Cited on p. 535
[865] Kasyan, Nikolas, “Playing with Real-Time Shadows,” SIGGRAPH Efficient Real-Time Shad-
ows course, July 2013. Cited on p. 54, 234, 245, 251, 264, 585
[866] Kautz, Jan, Wolfgang Heidrich, and Katja Daubert, “Bump Map Shadows for OpenGL
Rendering,” Technical Report MPI-I-2000–4-001, Max-Planck-Institut für Informatik,
Saarbrücken, Germany, Feb. 2000. Cited on p. 466
[867] Kautz, Jan, and M. D. McCool, “Approximation of Glossy Reflection with Prefiltered En-
vironment Maps,” in Graphics Interface 2000, Canadian Human-Computer Communications
Society, pp. 119–126, May 2000. Cited on p. 424
[868] Kautz, Jan, P.-P. Vázquez, W. Heidrich, and H.-P. Seidel, “A Unified Approach to Prefiltered
Environment Maps,” in Rendering Techniques 2000, Springer, pp. 185–196, June 2000. Cited
on p. 421
[869] Kautz, Jan, Peter-Pike Sloan, and John Snyder, “Fast, Arbitrary BRDF Shading for Low-
Frequency Lighting Using Spherical Harmonics,” in Proceedings of the 13th Eurographics
Workshop on Rendering, Eurographics Association, pp. 291–296, June 2002. Cited on p. 401,
432
[870] Kautz, Jan, Jaakko Lehtinen, and Peter-Pike Sloan, SIGGRAPH Precomputed Radiance
Transfer: Theory and Practice course, Aug. 2005. Cited on p. 481
[871] Kautz, Jan, “SH Light Representations,” SIGGRAPH Precomputed Radiance Transfer: The-
ory and Practice course, Aug. 2005. Cited on p. 431
[872] Kavan, Ladislav, Steven Collins, Jiřı́ Žára, and Carol O’Sullivan, “Skinning with Dual Quater-
nions,” in Proceedings of the 2007 Symposium on Interactive 3D Graphics and Games, ACM,
pp. 39–46, Apr.–May 2007. Cited on p. 87
[873] Kavan, Ladislav, Steven Collins, Jiřı́ Žára, and Carol O’Sullivan, “Geometric Skinning with
Approximate Dual Quaternion Blending,” ACM Transactions on Graphics, vol. 27, no. 4,
pp. 105:1–105:23, 2008. Cited on p. 87
[874] Kavan, Ladislav, Simon Dobbyn, Steven Collins, Jiřı́ Žára, and Carol O’Sullivan, “Polypostors:
2D Polygonal Impostors for 3D Crowds,” in Proceedings of the 2008 Symposium on Interactive
3D Graphics and Games, ACM, pp. 149–156, 2008. Cited on p. 562
[875] Kavan, Ladislav, Adam W. Bargteil, and Peter-Pike Sloan, “Least Squares Vertex Baking,”
Computer Graphics Forum, vol. 30, no. 4, pp. 1319–1326, 2011. Cited on p. 452
[876] Kay, L., “SceneJS: A WebGL-Based Scene Graph Engine,” in Patrick Cozzi & Christophe
Riccio, eds., OpenGL Insights, CRC Press, pp. 571–582, 2012. Cited on p. 829
[877] Kay, T. L., and J. T. Kajiya, “Ray Tracing Complex Scenes,” Computer Graphics (SIG-
GRAPH ’86 Proceedings), vol. 20, no. 4, pp. 269–278, Aug. 1986. Cited on p. 959, 961
[878] Kelemen, Csaba, and Lázló Szirmay-Kalos, “A Microfacet Based Coupled Specular-Matte
BRDF Model with Importance Sampling,” in Eurographics 2001—Short Presentations, Eu-
rographics Association, pp. 25–34, Sept. 2001. Cited on p. 346, 352, 420
[879] Keller, Alexander, “Instant Radiosity,” in SIGGRAPH ’97: Proceedings of the 24th Annual
Conference on Computer Graphics and Interactive Techniques, ACM Press/Addison-Wesley
Publishing Co., pp. 49–56, Aug. 1997. Cited on p. 491
[880] Keller, Alexander, and Wolfgang Heidrich, “Interleaved Sampling,” in Rendering Techniques
2001, Springer, pp. 266–273, June 2001. Cited on p. 145
[881] Kemen, B., “Logarithmic Depth Buffer Optimizations & Fixes,” Outerra blog, July 18, 2013.
Cited on p. 101
Bibliography 1097

[882] Kensler, Andrew, and Peter Shirley, “Optimizing Ray-Triangle Intersection via Automated
Search,” in 2006 IEEE Symposium on Interactive Ray Tracing, IEEE Computer Society,
pp. 33–38, 2006. Cited on p. 962
[883] Kent, James R., Wayne E. Carlson, and Richard E. Parent, “Shape Transformation for Poly-
hedral Objects,” Computer Graphics (SIGGRAPH ’92 Proceedings), vol. 26, no. 2, pp. 47–54,
1992. Cited on p. 87
[884] Kershaw, Kathleen, A Generalized Texture-Mapping Pipeline, MSc thesis, Program of Com-
puter Graphics, Cornell University, Ithaca, New York, 1992. Cited on p. 169, 170
[885] Kessenich, John, Graham Sellers, and Dave Shreiner, OpenGL Programming Guide: The Of-
ficial Guide to Learning OpenGL, Version 4.5 with SPIR-V, Ninth Edition, Addison-Wesley,
2016. Cited on p. 27, 39, 41, 55, 96, 173, 174
[886] Kettlewell, Richard, “Rendering in Codemasters’ GRID2 and beyond,” Game Developers
Conference, Mar. 2014. Cited on p. 258
[887] Kharlamov, Alexander, Iain Cantlay, and Yury Stepanenko, “Next-Generation SpeedTree
Rendering,” in Hubert Nguyen, ed., GPU Gems 3, Addison-Wesley, pp. 69–92, 2007. Cited
on p. 207, 560, 564, 646, 856
[888] Kihl, Robert, “Destruction Masking in Frostbite 2 Using Volume Distance Fields,” SIG-
GRAPH Advances in Real-Time Rendering in Games course, July 2010. Cited on p. 889,
890
[889] Kilgard, Mark J., “Realizing OpenGL: Two Implementations of One Architecture,” in Proceed-
ings of the ACM SIGGRAPH/EUROGRAPHICS Workshop on Graphics Hardware, ACM,
pp. 45–55, Aug. 1997. Cited on p. 1007
[890] Kilgard, Mark J., “Creating Reflections and Shadows Using Stencil Buffers,” Game Developers
Conference, Mar. 1999. Cited on p. 805
[891] Kilgard, Mark J., “A Practical and Robust Bump-Mapping Technique for Today’s GPUs,”
Game Developers Conference, Mar. 2000. Cited on p. 212, 214
[892] Kim, Pope, and Daniel Barrero, “Rendering Tech of Space Marine,” Korea Game Conference,
Nov. 2011. Cited on p. 892, 900, 905
[893] Kim, Pope, “Screen Space Decals in Warhammer 40,000: Space Marine,” in ACM SIG-
GRAPH 2012 Talks, article no. 6, Aug. 2012. Cited on p. 889
[894] Kim, Tae-Yong, and Ulrich Neumann, “Opacity Shadow Maps,” in Rendering Techniques
2001, Springer, pp. 177–182, 2001. Cited on p. 257, 570, 571, 612
[895] King, Gary, and William Newhall, “Efficient Omnidirectional Shadow Maps,” in Wolfgang
Engel, ed., ShaderX3 , Charles River Media, pp. 435–448, 2004. Cited on p. 234
[896] King, Gary, “Shadow Mapping Algorithms,” GPU Jackpot presentation, Oct. 2004. Cited on
p. 235, 240
[897] King, Gary, “Real-Time Computation of Dynamic Irradiance Environment Maps,” in Matt
Pharr, ed., GPU Gems 2, Addison-Wesley, pp. 167–176, 2005. Cited on p. 427, 429, 431
[898] King, Yossarian, “Never Let ’Em See You Pop—Issues in Geometric Level of Detail Selection,”
in Mark DeLoura, ed., Game Programming Gems, Charles River Media, pp. 432–438, 2000.
Cited on p. 861, 864
[899] King, Yossarian, “2D Lens Flare,” in Mark DeLoura, ed., Game Programming Gems, Charles
River Media, pp. 515–518, 2000. Cited on p. 524
[900] Kircher, Scott, “Lighting & Simplifying Saints Row: The Third,” Game Developers Confer-
ence, Mar. 2012. Cited on p. 889, 892
1098 Bibliography

[901] Kirk, David B., and Douglas Voorhies, “The Rendering Architecture of the DN-10000VS,”
Computer Graphics (SIGGRAPH ’90 Proceedings), vol. 24, no. 4, pp. 299–307, Aug. 1990.
Cited on p. 185
[902] Kirk, David, ed., Graphics Gems III, Academic Press, 1992. Cited on p. 102, 991
[903] Kirk, David B., and Wen-mei W. Hwu, Programming Massively Parallel Processors: A Hands-
on Approach, Third Edition, Morgan Kaufmann, 2016. Cited on p. 55, 1040
[904] Klehm, Oliver, Tobias Ritschel, Elmar Eisemann, and Hans-Peter Seidel, “Bent Normals and
Cones in Screen Space,” in Vision, Modeling, and Visualization, Eurographics Association,
pp. 177–182, 2011. Cited on p. 467, 471
[905] Klein, Allison W., Wilmot Li, Michael M. Kazhdan, Wagner T. Corrêa, Adam Finkelstein,
and Thomas A. Funkhouser, “Non-Photorealistic Virtual Environments,” in SIGGRAPH ’00:
Proceedings of the 27th Annual Conference on Computer Graphics and Interactive Tech-
niques, ACM Press/Addison-Wesley Publishing Co., pp. 527–534, July 2000. Cited on p. 670,
671
[906] Klein, R., G. Liebich, and W. Strasser, “Mesh Reduction with Error Control,” in Proceedings
of the 7th Conference on Visualization ’96, IEEE Computer Society, pp. 311–318, 1996. Cited
on p. 875
[907] Kleinhuis, Christian, “Morph Target Animation Using DirectX,” in Wolfgang Engel, ed.,
ShaderX4 , Charles River Media, pp. 39–45, 2005. Cited on p. 89
[908] Klint, Josh, “Vegetation Management in Leadwerks Game Engine 4,” in Eric Lengyel, ed.,
Game Engine Gems 3, CRC Press, pp. 53–71, 2016. Cited on p. 560
[909] Kloetzli, J., “D3D11 Software Tessellation,” Game Developers Conference, Mar. 2013. Cited
on p. 879
[910] Klosowski, J. T., M. Held, J. S. B. Mitchell, H. Sowizral, and K. Zikan, “Efficient Collision De-
tection Using Bounding Volume Hierarchies of k-DOPs,” IEEE Transactions on Visualization
and Computer Graphics, vol. 4, no. 1, pp. 21–36, 1998. Cited on p. 979
IEEE Transactions on Visualization and Computer Graphics, vol. 6, no. 2, pp. 108–123,
Apr./June 2000.
[911] Knight, Balor, Matthew Ritchie, and George Parrish, “Screen-Space Classification for Efficient
Deferred Shading,” Eric Lengyel, ed., Game Engine Gems 2, A K Peters, Ltd., pp. 55–73,
2011. Cited on p. 898
[912] Kniss, Joe, G. Kindlmann, and C. Hansen, “Multi-Dimensional Transfer Functions for In-
teractive Volume Rendering,” IEEE Transactions on Visualization and Computer Graphics,
vol. 8, no. 3, pp. 270–285, 2002. Cited on p. 606
[913] Kniss, Joe, S. Premoze, C.Hansen, P. Shirley, and A. McPherson, “A Model for Volume
Lighting and Modeling,” IEEE Transactions on Visualization and Computer Graphics, vol. 9,
no. 2, pp. 150–162, 2003. Cited on p. 607
[914] Knowles, Pyarelal, Geoff Leach, and Fabio Zambetta, “Efficient Layered Fragment Buffer
Techniques,” in Patrick Cozzi & Christophe Riccio, eds., OpenGL Insights, CRC Press,
pp. 279–292, 2012. Cited on p. 155

[915] Kobbelt, Leif, “ 3-Subdivision,” in SIGGRAPH ’00: Proceedings of the 27th Annual Con-
ference on Computer Graphics and Interactive Techniques, ACM Press/Addison-Wesley Pub-
lishing Co., pp. 103–112, July 2000. Cited on p. 756, 761
[916] Kobbelt, Leif, and Mario Botsch, “A Survey of Point-Based Techniques in Computer Graph-
ics,” Computers & Graphics, vol. 28, no. 6, pp. 801–814, Dec. 2004. Cited on p. 578
[917] Kochanek, Doris H. U., and Richard H. Bartels, “Interpolating Splines with Local Tension,
Continuity, and Bias Control,” Computer Graphics (SIGGRAPH ’84 Proceedings), vol. 18,
no. 3, pp. 33–41, July 1984. Cited on p. 730, 731
Bibliography 1099

[918] Koenderink, Jan J., Andrea J. van Doorn, and Marigo Stavridi, “Bidirectional Reflection
Distribution Function Expressed in Terms of Surface Scattering Modes,” Proceedings of ECCV
2001, vol. 2, pp. 28–39, 1996. Cited on p. 404
[919] Koenderink, Jan J., and Sylvia Pont, “The Secret of Velvety Skin,” Journal of Machine Vision
and Applications, vol. 14, no. 4, pp. 260–268, 2002. Cited on p. 356
[920] Köhler, Johan, “Practical Order Independent Transparency,” Technical Report ATVI-TR-16-
02, Activision Research, 2016. Cited on p. 569
[921] Kojima, Hideo, Hideki Sasaki, Masayuki Suzuki, and Junji Tago, “Photorealism Through the
Eyes of a FOX: The Core of Metal Gear Solid Ground Zeroes,” Game Developers Conference,
Mar. 2013. Cited on p. 289
[922] Kolchin, Konstantin, “Curvature-Based Shading of Translucent Materials, such as Human
Skin,” in Proceedings of the 5th International Conference on Computer Graphics and Inter-
active Techniques in Australia and Southeast Asia, ACM, pp. 239–242, Dec. 2007. Cited on
p. 634
[923] Koltun, Vladlen, Yiorgos Chrysanthou, and Daniel Cohen-Or, “Hardware-Accelerated From-
Region Visibility Using a Dual Ray Space,” in Rendering Techniques 2001, Springer, pp. 204–
214, June 2001. Cited on p. 843
[924] Kontkanen, Janne, and Samuli Laine, “Ambient Occlusion Fields,” in Wolfgang Engel, ed.,
ShaderX4 , Charles River Media, pp. 101–108, 2005. Cited on p. 452
[925] Kontkanen, Janne, and Samuli Laine, “Ambient Occlusion Fields,” in Proceedings of the 2005
Symposium on Interactive 3D Graphics and Games, ACM, pp. 41–48, Apr. 2005. Cited on
p. 452
[926] Kontkanen, Janne, and Samuli Laine, “Sampling Precomputed Volumetric Lighting,” journal
of graphics tools, vol. 11, no. 3, pp. 1–16, 2006. Cited on p. 489, 491
[927] Koonce, Rusty, “Deferred Shading in Tabula Rasa,” in Hubert Nguyen, ed., GPU Gems 3,
Addison-Wesley, pp. 429–457, 2007. Cited on p. 239, 886, 887
[928] Kopta, D., T. Ize, J. Spjut, E. Brunvand, A. Davis, and A. Kensler, “Fast, Effective BVH
Updates for Animated Scenes,” in Proceedings of the ACM SIGGRAPH Symposium on In-
teractive 3D Graphics and Games, ACM, pp. 197–204, 2012. Cited on p. 821
[929] Kopta, D., K. Shkurko, J. Spjut, E. Brunvand, and A. Davis, “An Energy and Bandwidth
Efficient Ray Tracing Architecture,” Proceedings of the 5th High-Performance Graphics Con-
ference, ACM, pp. 121–128, July 2013. Cited on p. 1039
[930] Kotfis, Dave, and Patrick Cozzi, “Octree Mapping from a Depth Camera,” in Wolfgang Engel,
ed., GPU Pro7 , CRC Press, pp. 257–273, 2016. Cited on p. 573, 580, 919
[931] Kovacs, D., J. Mitchell, S. Drone, and D. Zorin, “Real-Time Creased Approximate Subdivision
Surfaces with Displacements,” IEEE Transactions on Visualization and Computer Graphics,
vol. 16, no. 5, pp. 742–751, 2010. Cited on p. 777
[932] Kovalèı́k, Vı́t, and Jiřı́ Sochor, “Occlusion Culling with Statistically Optimized Occlusion
Queries,” International Conference in Central Europe on Computer Graphics, Visualization
and Computer Vision (WSCG), Jan.–Feb. 2005. Cited on p. 845
[933] Krajcevski, P., Adam Lake, and D. Manocha, “FasTC: Accelerated Fixed-Rate Texture En-
coding,” in Proceedings of the ACM SIGGRAPH Symposium on Interactive 3D Graphics and
Games, ACM, pp. 137–144, Mar. 2013. Cited on p. 870
[934] Krajcevski, P., and D. Manocha, “Fast PVRTC Compression Using Intensity Dilation,” Jour-
nal of Computer Graphics Techniques, vol. 3, no. 4, pp. 132–145, 2014. Cited on p. 870
[935] Krajcevski, P., and D. Manocha, “SegTC: Fast Texture Compression Using Image Segmen-
tation,” in Proceedings of High-Performance Graphics, Eurographics Association, pp. 71–77,
June 2014. Cited on p. 870
1100 Bibliography

[936] Krassnigg, Jan, “A Deferred Decal Rendering Technique,” in Eric Lengyel, ed., Game Engine
Gems, Jones and Bartlett, pp. 271–280, 2010. Cited on p. 889
[937] Kraus, Martin, and Magnus Strengert, “Pyramid Filters based on Bilinear Interpolation,” in
GRAPP 2007, Proceedings of the Second International Conference on Computer Graphics
Theory and Applications, INSTICC, pp. 21–28, 2007. Cited on p. 518
[938] Krishnamurthy, V., and M. Levoy, “Fitting Smooth Surfaces to Dense Polygon Meshes,” in
SIGGRAPH ’96: Proceedings of the 23rd Annual Conference on Computer Graphics and
Interactive Techniques, ACM, pp. 313–324, Aug. 1996. Cited on p. 765
[939] Krishnan, S., M. Gopi, M. Lin, D. Manocha, and A. Pattekar, “Rapid and Accurate Contact
Determination between Spline Models Using ShellTrees,” Computer Graphics Forum, vol. 17,
no. 3, pp. 315–326, 1998. Cited on p. 718
[940] Krishnan, S., A. Pattekar, M. C. Lin, and D. Manocha, “Spherical Shell: A Higher Order
Bounding Volume for Fast Proximity Queries,” in Proceedings of Third International Work-
shop on the Algorithmic Foundations of Robotics, A K Peters, Ltd, pp. 122–136, 1998. Cited
on p. 718
[941] Kristensen, Anders Wang, Tomas Akenine-Mller, and Henrik Wann Jensen, “Precomputed
Local Radiance Transfer for Real-Time Lighting Design,” ACM Transactions on Graphics
(SIGGRAPH 2005), vol. 24, no. 3, pp. 1208–1215, Aug. 2005. Cited on p. 481
[942] Kronander, Joel, Francesco Banterle, Andrew Gardner, Ehsan Miandji, and Jonas Unger,
“Photorealistic Rendering of Mixed Reality Scenes,” Computer Graphics Forum, vol. 34, no. 2,
pp. 643–665, 2015. Cited on p. 935
[943] Kryachko, Yuri, “Using Vertex Texture Displacement for Realistic Water Rendering,” in Matt
Pharr, ed., GPU Gems 2, Addison-Wesley, pp. 283–294, 2005. Cited on p. 43
[944] Kubisch, Christoph, and Markus Tavenrath, “OpenGL 4.4 Scene Rendering Techniques,”
NVIDIA GPU Technology Conference, Mar. 2014. Cited on p. 795, 849, 851
[945] Kubisch, Christoph, “Life of a Triangle—NVIDIA’s Logical Pipeline,” NVIDIA GameWorks
blog, Mar. 16, 2015. Cited on p. 32
[946] Kubisch, Christoph, “Transitioning from OpenGL to Vulkan,” NVIDIA GameWorks blog,
Feb. 11, 2016. Cited on p. 40, 41, 796, 814
[947] Kulla, Christopher, and Alejandro Conty, “Revisiting Physically Based Shading at Image-
works,” SIGGRAPH Physically Based Shading in Theory and Practice course, Aug. 2017.
Cited on p. 321, 336, 343, 346, 347, 352, 353, 358, 363, 364
[948] Kyprianidis, Jan Eric, Henry Kang, and Jürgen Döllner, “Anisotropic Kuwahara Filtering on
the GPU,” in Wolfgang Engel, ed., GPU Pro, A K Peters, Ltd., pp. 247–264, 2010. Cited on
p. 665
[949] Kyprianidis, Jan Eric, John Collomosse, Tinghuai Wang, and Tobias Isenberg, “State of the
‘Art’: A Taxonomy of Artistic Stylization Techniques for Images and Video,” IEEE Transac-
tions on Visualization and Computer Graphics, vol. 19, no. 5, pp. 866–885, May 2013. Cited
on p. 665, 678
[950] Lacewell, Dylan, Dave Edwards, Peter Shirley, and William B. Thompson, “Stochastic Bill-
board Clouds for Interactive Foliage Rendering,” journal of graphics tools, vol. 11, no. 1,
pp. 1–12, 2006. Cited on p. 563, 564
[951] Lacewell, Dylan, “Baking With OptiX,” NVIDIA GameWorks blog, June 7, 2016. Cited on
p. 452
[952] Lachambre, Sébastian, Sébastian Lagarde, and Cyril Jover, Unity Photogrammetry Workflow,
Unity Technologies, 2017. Cited on p. 349
[953] Lacroix, Jason, “Casting a New Light on a Familiar Face: Light-Based Rendering in Tomb
Raider,” Game Developers Conference, Mar. 2013. Cited on p. 114, 116
Bibliography 1101

[954] Lafortune, Eric P. F., Sing-Choong Foo, Kenneth E. Torrance, and Donald P. Greenberg,
“Non-Linear Approximation of Reflectance Functions,” in SIGGRAPH ’97: Proceedings
of the 24th Annual Conference on Computer Graphics and Interactive Techniques, ACM
Press/Addison-Wesley Publishing Co., pp. 117–126, Aug. 1997. Cited on p. 425
[955] Lagae, Ares, and Philip Dutré, “An Efficient Ray-Quadrilateral Intersection Test,” journal of
graphics tools, vol. 10, no. 4, pp. 23–32, 2005. Cited on p. 967
[956] Lagae, A., S. Lefebvre, R. Cook, T. DeRose, G. Drettakis, D. S. Ebert, J. P. Lewis, K.
Perlin, and M. Zwicker, “State of the Art in Procedural Noise Functions,” in Eurographics
2010—State of the Art Reports, Eurographics Association, pp. 1–19, 2010. Cited on p. 199
[957] Lagarde, Sébastian, “Relationship Between Phong and Blinn Lighting Models,” Sébastian
Lagarde blog, Mar. 29, 2012. Cited on p. 422
[958] Lagarde, Sébastian, and Antoine Zanuttini, “Local Image-Based Lighting with Parallax-
Corrected Cubemap,” in ACM SIGGRAPH 2012 Talks, ACM, article no. 36, Aug. 2012.
Cited on p. 500
[959] Lagarde, Sébastian, “Memo on Fresnel Equations,” Sébastian Lagarde blog, Apr. 29, 2013.
Cited on p. 321
[960] Lagarde, Sébastian, and Charles de Rousiers, “Moving Frostbite to Physically Based Render-
ing,” SIGGRAPH Physically Based Shading in Theory and Practice course, Aug. 2014. Cited
on p. 111, 113, 115, 116, 312, 325, 336, 340, 341, 354, 371, 423, 427, 436, 503, 890
[961] Lagarde, Sébastian, “IES Light Format: Specification and Reader,” Sébastian Lagarde blog,
Nov. 5, 2014. Cited on p. 116, 436
[962] Laine, Samuli, Hannu Saransaari, Janne Kontkanen, Jaakko Lehtinen, and Timo Aila, “In-
cremental Instant Radiosity for Real-Time Indirect Illumination,” in Proceedings of the 18th
Eurographics Symposium on Rendering Techniques, Eurographics Association, pp. 277–286,
June 2007. Cited on p. 492
[963] Laine, Samuli, and Tero Karras, “‘Efficient Sparse Voxel Octrees—Analysis, Extensions, and
Implementation,” Technical Report, NVIDIA, 2010. Cited on p. 579, 580, 586
[964] Laine, Samuli, “A Topological Approach to Voxelization,” Computer Graphics Forum, vol. 32,
no. 4, pp. 77–86, 2013. Cited on p. 581
[965] Laine, Samuli, and Tero Karras, “Apex Point Map for Constant-Time Bounding Plane Ap-
proximation,” in Eurographics Symposium on Rendering—Experimental Ideas & Implemen-
tations, Eurographics Association, pp. 51–55, 2015. Cited on p. 980
[966] Lake, Adam, Carl Marshall, Mark Harris, and Marc Blackstein, “Stylized Rendering Tech-
niques for Scalable Real-Time Animation,” in International Symposium on Non-Photorealistic
Animation and Rendering, ACM, pp. 13–20, June 2000. Cited on p. 670
[967] Lambert, J. H., Photometria, 1760. English translation by D. L. DiLaura, Illuminating Engi-
neering Society of North America, 2001. Cited on p. 109, 389, 390, 469
[968] Lander, Jeff, “Skin Them Bones: Game Programming for the Web Generation,” Game De-
veloper, vol. 5, no. 5, pp. 11–16, May 1998. Cited on p. 86
[969] Lander, Jeff, “Under the Shade of the Rendering Tree,” Game Developer, vol. 7, no. 2, pp. 17–
21, Feb. 2000. Cited on p. 657, 670
[970] Lander, Jeff, “That’s a Wrap: Texture Mapping Methods,” Game Developer, vol. 7, no. 10,
pp. 21–26, Oct. 2000. Cited on p. 170, 173
[971] Lander, Jeff, “Haunted Trees for Halloween,” Game Developer, vol. 7, no. 11, pp. 17–21, Nov.
2000. Cited on p. 942
[972] Lander, Jeff, “Images from Deep in the Programmer’s Cave,” Game Developer, vol. 8, no. 5,
pp. 23–28, May 2001. Cited on p. 654, 666, 672
1102 Bibliography

[973] Lander, Jeff, “The Era of Post-Photorealism,” Game Developer, vol. 8, no. 6, pp. 18–22, June
2001. Cited on p. 670
[974] Landis, Hayden, “Production-Ready Global Illumination,” SIGGRAPH RenderMan in Pro-
duction course, July 2002. Cited on p. 446, 448, 465
[975] Langlands, Anders, “Render Color Spaces,” alShaders blog, June 23, 2016. Cited on p. 278
[976] Lanman, Douglas, and David Luebke, “Near-Eye Light Field Displays,” ACM Transactions
on Graphics, vol. 32, no. 6, pp. 220:1–220:10, Nov. 2013. Cited on p. 549, 923
[977] Lanza, Stefano, “Animation and Rendering of Underwater God Rays,” in Wolfgang Engel,
ed., ShaderX5 , Charles River Media, pp. 315–327, 2006. Cited on p. 626, 631
[978] Lapidous, Eugene, and Guofang Jiao, “Optimal Depth Buffer for Low-Cost Graphics Hard-
ware,” in Proceedings of the ACM SIGGRAPH/EUROGRAPHICS Workshop on Graphics
Hardware, ACM, pp. 67–73, Aug. 1999. Cited on p. 100
[979] Larsen, E., S. Gottschalk, M. Lin, and D. Manocha, “Fast Proximity Queries with Swept
Sphere Volumes,” Technical Report TR99-018, Department of Computer Science, University
of North Carolina, 1999. Cited on p. 976
[980] Larsson, Thomas, and Tomas Akenine-Möller, “Collision Detection for Continuously Deform-
ing Bodies,” in Eurographics 2001—Short Presentations, Eurographics Association, pp. 325–
333, Sept. 2001. Cited on p. 821
[981] Larsson, Thomas, and Tomas Akenine-Möller, “A Dynamic Bounding Volume Hierarchy for
Generalized Collision Detection,” Computers & Graphics, vol. 30, no. 3, pp. 451–460, 2006.
Cited on p. 821
[982] Larsson, Thomas, Tomas Akenine-Möller, and Eric Lengyel, “On Faster Sphere-Box Overlap
Testing,” journal of graphics tools, vol. 12, no. 1, pp. 3–8, 2007. Cited on p. 977
[983] Larsson, Thomas, “An Efficient Ellipsoid-OBB Intersection Test,” journal of graphics tools,
vol. 13, no. 1, pp. 31–43, 2008. Cited on p. 978
[984] Larsson, Thomas, and Linus Källberg, “Fast Computation of Tight-Fitting Oriented Bounding
Boxes,” Eric Lengyel, ed., Game Engine Gems 2, A K Peters, Ltd., pp. 3–19, 2011. Cited on
p. 951, 952
[985] Lathrop, Olin, David Kirk, and Doug Voorhies, “Accurate Rendering by Subpixel Addressing,”
IEEE Computer Graphics and Applications, vol. 10, no. 5, pp. 45–53, Sept. 1990. Cited on
p. 689
[986] Latta, Lutz, “Massively Parallel Particle Systems on the GPU,” in Wolfgang Engel, ed.,
ShaderX3 , Charles River Media, pp. 119–133, 2004. Also presented at GDC 2004 and published
as “Building a Million-Particle System,” Gamasutra, July 28, 2004. Cited on p. 568, 571
[987] Latta, Lutz, “Everything about Particle Effects,” Game Developers Conference, Mar. 2007.
Cited on p. 568, 569, 571
[988] Lauritzen, Andrew, “Summed-Area Variance Shadow Maps,” in Hubert Nguyen, ed., GPU
Gems 3, Addison-Wesley, pp. 157–182, 2007. Cited on p. 188, 252, 253, 255
[989] Lauritzen, Andrew, and Michael McCool, “Layered Variance Shadow Maps,” in Graphics
Interface 2008, Canadian Human-Computer Communications Society, pp. 139–146, May 2008.
Cited on p. 257
[990] Lauritzen, Andrew, “Deferred Rendering for Current and Future Rendering Pipelines,” SIG-
GRAPH Beyond Programmable Shading course, July 2010. Cited on p. 888, 893, 895, 896,
914
[991] Lauritzen, Andrew, Marco Salvi, and Aaron Lefohn, “Sample Distribution Shadow Maps,” in
Symposium on Interactive 3D Graphics and Games, ACM, pp. 97–102, Feb. 2011. Cited on
p. 54, 101, 244, 245
Bibliography 1103

[992] Lauritzen, Andrew, “Intersecting Lights with Pixels: Reasoning about Forward and Deferred
Rendering,” SIGGRAPH Beyond Programmable Shading course, Aug. 2012. Cited on p. 882,
887, 896
[993] Lauritzen, Andrew, “Future Directions for Compute-for-Graphics,” SIGGRAPH Open Prob-
lems in Real-Time Rendering course, Aug. 2017. Cited on p. 32, 812, 908
[994] LaValle, Steve, “The Latent Power of Prediction,” Oculus Developer Blog, July 12, 2013.
Cited on p. 915, 920, 936, 939
[995] LaValle, Steven M., Anna Yershova, Max Katsev, and Michael Antonov, “Head Tracking for
the Oculus Rift,” in IEEE International Conference Robotics and Automation (ICRA), IEEE
Computer Society, pp. 187–194, May–June 2014. Cited on p. 915, 916, 936
[996] Laven, Philip, MiePlot website and software, 2015. Cited on p. 597, 599
[997] Lax, Peter D., Linear Algebra and Its Applications, Second Edition, John Wiley & Sons, Inc.,
2007. Cited on p. 61
[998] Lazarov, Dimitar, “Physically-Based lighting in Call of Duty: Black Ops,” SIGGRAPH Ad-
vances in Real-Time Rendering in Games course, Aug. 2011. Cited on p. 340, 370, 371, 422,
476
[999] Lazarov, Dimitar, “Getting More Physical in Call of Duty: Black Ops II,” SIGGRAPH Phys-
ically Based Shading in Theory and Practice course, July 2013. Cited on p. 352, 422, 502
[1000] Lazarus, F., and A. Verroust, “Three-Dimensional Metamorphosis: A Survey,” The Visual
Computer, vol. 14, no. 8, pp. 373–389, 1998. Cited on p. 87, 102
[1001] Le, Binh Huy, and Jessica K. Hodgins, “Real-Time Skeletal Skinning with Optimized Centers
of Rotation,” ACM Transactions on Graphics, vol. 35, no. 4, pp. 37:1–37:10, 2016. Cited on
p. 87
[1002] Leadbetter, Richard, “The Making of Forza Horizon 2,” Eurogamer.net, Oct. 11, 2014. Cited
on p. 141, 900
[1003] Lecocq, Pascal, Pascal Gautron, Jean-Eudes Marvie, and Gael Sourimant, “Sub-Pixel Shadow
Mapping,” in Proceedings of the 18th Meeting of the ACM SIGGRAPH Symposium on In-
teractive 3D Graphics and Games, ACM, pp. 103–110, 2014. Cited on p. 259
[1004] Lecocq, Pascal, Arthur Dufay, Gael Sourimant, and Jean-Eude Marvie, “Analytic Approxima-
tions for Real-Time Area Light Shading,” IEEE Transactions on Visualization and Computer
Graphics, vol. 23, no. 5, pp. 1428–1441, 2017. Cited on p. 389
[1005] Lee, Aaron W. F., David Dobkin, Wim Sweldens, and Peter Schröder, “Multiresolution mesh
morphing,” in SIGGRAPH ’99: Proceedings of the 26th Annual Conference on Computer
Graphics and Interactive Techniques, ACM Press/Addison-Wesley Publishing Co., pp. 343–
350, 1999. Cited on p. 87
[1006] Lee, Aaron, Henry Moreton, and Hugues Hoppe, “Displaced Subdivision Surfaces,” in SIG-
GRAPH ’00: Proceedings of the 27th Annual Conference on Computer Graphics and Inter-
active Techniques, ACM Press/Addison-Wesley Publishing Co., pp. 85–94, July 2000. Cited
on p. 706, 765, 766
[1007] Lee, Aaron, “Building Your Own Subdivision Surfaces,” Gamasutra, Sept. 8, 2000. Cited on
p. 706
[1008] Lee, Hyunho, and Min-Ho Kyung, “Parallel Mesh Simplification Using Embedded Tree Col-
lapsing,” The Visual Computer, vol. 32, no. 6, pp. 967–976, 2016. Cited on p. 709
[1009] Lee, Hyunjun, Sungtae Kwon, and Seungyong Lee, “Real-Time Pencil Rendering,” in Proceed-
ings of the 4th International Symposium on Non-Photorealistic Animation and Rendering,
ACM, pp. 37–45, 2006. Cited on p. 672
1104 Bibliography

[1010] Lee, Jongseok, Sungyul Choe, and Seungyong Lee, “Mesh Geometry Compression for Mobile
Graphics,” in 2010 7th IEEE Consumer Communications and Networking Conference, IEEE
Computer Society, pp. 1–5, 2010. Cited on p. 714
[1011] Lee, Mark, “Pre-lighting in Resistance 2,” Game Developers Conference, Mar. 2009. Cited
on p. 892
[1012] Lee, Sungkil, and Elmar Eisemann, “Practical Real-Time Lens-Flare Rendering,” Computer
Graphics Forum, vol. 32, no. 4, pp. 1–6, 2013. Cited on p. 526
[1013] Lee, W.-J., Y. Youngsam, J. Lee, J.-W. Kim, J.-H. Nah, S. Jung, S. Lee, H.-S. Park, and
T.-D. Han, “SGRT: A Mobile GPU Architecture for Real-Time Ray Tracing,” in Proceedings
of the 5th High-Performance Graphics Conference, ACM, pp. 109–119, July 2013. Cited on
p. 1039
[1014] Lee, Yunjin, Lee Markosian, Seungyong Lee, and John F. Hughes, “Line Drawings via
Abstracted Shading,” ACM Transactions on Graphics (SIGGRAPH 2007), vol. 26, no. 3,
pp. 18:1–18:6, July 2007. Cited on p. 656
[1015] Lee-Steere, J., and J. Harmon, “Football at 60 FPS: The Challenges of Rendering Madden
NFL 10,” Game Developers Conference, Mar. 2010. Cited on p. 198
[1016] Lefebvre, Sylvain, and Fabrice Neyret, “Pattern Based Procedural Textures,” Proceedings of
the 2003 Symposium on Interactive 3D Graphics, ACM, pp. 203–212, 2003. Cited on p. 175
[1017] Lefebvre, Sylvain, Samuel Hornus, and Fabrice Neyret, “Octree Textures on the GPU,” in
Matt Pharr, ed., GPU Gems 2, Addison-Wesley, pp. 595–613, 2005. Cited on p. 190
[1018] Lefebvre, Sylvain, and Hugues Hoppe, “Perfect Spatial Hashing,” ACM Transactions on
Graphics, vol. 25, no. 3, pp. 579–588, July 2006. Cited on p. 190
[1019] Lehtinen, Jaakko, “A Framework for Precomputed and Captured Light Transport,” ACM
Transactions on Graphics, vol. 26, no. 4, pp. 13:1–13:22, 2007. Cited on p. 481
[1020] Lehtinen, Jaakko, Theory and Algorithms for Efficient Physically-Based Illumination, PhD
thesis, Helsinki University of Technology, Espoo, Finland, 2007. Cited on p. 481
[1021] Lehtinen, Jaakko, Matthias Zwicker, Emmanuel Turquin, Janne Kontkanen, Frédo Durand,
François Sillion, and Timo Aila, “A Meshless Hierarchical Representation for Light Transport,”
ACM Transactions on Graphics, vol. 27, no. 3, pp. 37:1–37:9, 2008. Cited on p. 484
[1022] Lengyel, Eric, “Tweaking a Vertex’s Projected Depth Value,” in Mark DeLoura, ed., Game
Programming Gems, Charles River Media, pp. 361–365, 2000. Cited on p. 236, 657
[1023] Lengyel, Eric, “T-Junction Elimination and Retriangulation,” in Dante Treglia, ed., Game
Programming Gems 3, Charles River Media, pp. 338–343, 2002. Cited on p. 690
[1024] Lengyel, Eric, ed., Game Engine Gems 2, A K Peters, Ltd., 2011. Cited on p. 815
[1025] Lengyel, Eric, Mathematics for 3D Game Programming and Computer Graphics, Third Edi-
tion, Charles River Media, 2011. Cited on p. 102, 209, 210
[1026] Lengyel, Eric, “Game Math Case Studies,” Game Developers Conference, Mar. 2015. Cited
on p. 863
[1027] Lengyel, Eric, “Smooth Horizon Mapping,” in Eric Lengyel, ed., Game Engine Gems 3, CRC
Press, pp. 73–83, 2016. Cited on p. 214
[1028] Lengyel, Eric, “GPU-Friendly Font Rendering Directly from Glyph Outlines,” Journal of
Computer Graphics Techniques, vol. 6, no. 2, pp. 31–47, 2017. Cited on p. 677, 970
[1029] Lengyel, Jerome, “The Convergence of Graphics and Vision,” Computer, vol. 31, no. 7, pp. 46–
53, July 1998. Cited on p. 546
[1030] Lengyel, Jerome, “Real-Time Fur,” in Rendering Techniques 2000, Springer, pp. 243–256,
June 2000. Cited on p. 853
Bibliography 1105

[1031] Lengyel, Jerome, Emil Praun, Adam Finkelstein, and Hugues Hoppe, “Real-Time Fur over
Arbitrary Surfaces,” in Proceedings of the 2001 Symposium on Interactive 3D Graphics, ACM,
pp. 227–232, Mar. 2001. Cited on p. 646, 853
[1032] Lensch, Hendrik P. A., Michael Goesele, Philippe Bekaert, Jan Kautz, Marcus A. Magnor,
Jochen Lang, and Hans-Peter Seidel, “Interactive Rendering of Translucent Objects,” in Pa-
cific Conference on Computer Graphics and Applications 2002, IEEE Computer Society,
pp. 214–224, Oct. 2002. Cited on p. 635
[1033] Levoy, Marc, and Turner Whitted, “The Use of Points as a Display Primitive,” Technical
Report 85-022, Computer Science Department, University of North Carolina at Chapel Hill,
Jan. 1985. Cited on p. 572
[1034] Levoy, Marc, and Pat Hanrahan, “Light Field Rendering,” in SIGGRAPH ’96: Proceedings
of the 23rd Annual Conference on Computer Graphics and Interactive Techniques, ACM,
pp. 31–42, Aug. 1996. Cited on p. 549
[1035] Levoy, Marc, Kari Pulli, Brian Curless, Szymon Rusinkiewicz, David Koller, Lucas Pereira,
Matt Ginzton, Sean Anderson, James Davis, Jeremy Ginsberg, and Jonathan Shade, “The
Digital Michelangelo Project: 3D Scanning of Large Statues,” in SIGGRAPH ’00: Proceedings
of the 27th Annual Conference on Computer Graphics and Interactive Techniques, ACM
Press/Addison-Wesley Publishing Co., pp. 131–144, July 2000. Cited on p. 573
[1036] Lévy, Bruno, Sylvain Petitjean, Nicolas Ray, and Jérome Maillot, “Least Squares Conformal
Maps for Automatic Texture Atlas Generation,” ACM Transaction on Graphics, vol. 21, no. 3,
pp. 362–371, July 2002. Cited on p. 485, 486
[1037] Lewis, J. P., Matt Cordner, and Nickson Fong, “Pose Space Deformation: A Unified Approach
to Shape Interpolation and Skeleton-Driven Deformation,” in SIGGRAPH ’00: Proceedings
of the 27th Annual Conference on Computer Graphics and Interactive Techniques, ACM
Press/Addison-Wesley Publishing Co., pp. 165–172, July 2000. Cited on p. 84, 87, 90, 102
[1038] Leyendecker, Felix, “Crafting the World of Crysis 3,” Game Developers Conference Europe,
Aug. 2013. Cited on p. 366
[1039] Li, Xin, “To Slerp, or Not to Slerp,” Game Developer, vol. 13, no. 7, pp. 17–23, Aug. 2006.
Cited on p. 82
[1040] Li, Xin, “iSlerp: An Incremental Approach of Slerp,” journal of graphics tools, vol. 12, no. 1,
pp. 1–6, 2007. Cited on p. 82
[1041] Licea-Kane, Bill, “GLSL: Center or Centroid? (Or When Shaders Attack!)” The OpenGL
Pipeline Newsletter, vol. 3, 2007. Cited on p. 141
[1042] Liktor, Gábor, and Carsten Dachsbacher, “Decoupled Deferred Shading for Hardware Ras-
terization,” in Proceedings of the ACM SIGGRAPH Symposium on Interactive 3D Graphics
and Games, ACM, pp. 143–150, 2012. Cited on p. 910
[1043] Liktor, Gábor, and Carsten Dachsbacher, “Decoupled Deferred Shading on the GPU,” in
Wolfgang Engel, ed., GPU Pro4 , CRC Press, pp. 81–98, 2013. Cited on p. 910
[1044] Liktor, G., M. Pan, and C. Dachsbacher, “Fractional Reyes-Style Adaptive Tessellation for
Continuous Level of Detail,” Computer Graphics Forum, vol. 33, no. 7, pp. 191–198, 2014.
Cited on p. 774, 775
[1045] Liktor, G., and K. Vaidyanathan, “Bandwidth-Efficient BVH Layout for Incremental Hard-
ware Traversal,” in Proceedings of High-Performance Graphics, Eurographics Association,
pp. 51–61, June 2016. Cited on p. 1039
[1046] Lilley, Sean, “Shadows and Cesium Implementation,” Cesium website, Nov. 2016. Cited on
p. 265
[1047] Lin, Gang, and Thomas P.-Y. Yu, “An Improved Vertex Caching Scheme for 3D Mesh Ren-
dering,” IEEE Trans. on Visualization and Computer Graphics, vol. 12, no. 4, pp. 640–648,
2006. Cited on p. 701
1106 Bibliography

[1048] Lindbloom, Bruce, “RGB/XYZ Matrices,” Bruce Lindbloom website, Apr. 7, 2017. Cited on
p. 278
[1049] Lindholm, Erik, Mark Kilgard, and Henry Moreton, “A User-Programmable Vertex Engine,”
in SIGGRAPH ’01 Proceedings of the 28th Annual Conference on Computer Graphics and
Interactive Techniques, ACM, pp. 149–158, Aug. 2001. Cited on p. 15, 38
[1050] Lindholm, E., J. Nickolls, S. Oberman, and J. Montrym, “NVIDIA Tesla: A Unified Graphics
and Computing Architecture,” IEEE Micro, vol. 28, no. 2, pp. 39–55, 2008. Cited on p. 1004,
1029, 1031
[1051] Lindstrom, P., and J. D. Cohen, “On-the-Fly Decompression and Rendering of Multiresolu-
tion Terrain,” in Proceedings of the 2010 ACM SIGGRAPH Symposium on Interactive 3D
Graphics and Games, ACM, pp. 65–73, 2010. Cited on p. 879
[1052] Ling-Qi, Yan, Chi-Wei Tseng, Henrik Wann Jensen, and Ravi Ramamoorthi, “Physically-
Accurate Fur Reflectance: Modeling, Measurement and Rendering,” ACM Transactions on
Graphics (SIGGRAPH Asia 2015), vol. 34, no. 6, article no. 185, 2015. Cited on p. 640, 641,
647
[1053] Lira, Felipe, Felipe Chaves, Flávio Villalva, Jesus Sosa, Kléverson Paião, and Teófilo Dutra,
“Mobile Toon Shading,” in Wolfgang Engel, ed., GPU Zen, Black Cat Publishing, pp. 115–122,
2017. Cited on p. 659
[1054] Liu, Albert Julius, Zhao Dong, Miloš Hašan, and Steve Marschner, “Simulating the Structure
and Texture of Solid Wood,” ACM Transactions on Graphics, vol. 35, no. 6, article no. 170,
2016. Cited on p. 199
[1055] Liu, Edward, “Lens Matched Shading and Unreal Engine 4 Integration Part 3,” NVIDIA
GameWorks blog, Jan. 18, 2017. Cited on p. 930, 940
[1056] Liu, Fang, Meng-Cheng Huang, Xue-Hui Liu, and En-Hua Wu, “Efficient Depth Peeling via
Bucket Sort,” in Proceedings of the Conference on High-Performance Graphics, ACM, pp. 51–
57, Aug. 2009. Cited on p. 155
[1057] Liu, Ligang, Lei Zhang, Yin Xu, Craig Gotsman, and Steven J. Gortler, “A Local/Global Ap-
proach to Mesh Parameterization,” in Proceedings of the Symposium on Geometry Processing,
Eurographics Association, pp. 1495–1504, 2008. Cited on p. 485
[1058] Liu, Songrun, Zachary Ferguson, Alec Jacobson, and Yotam Gingold, “Seamless: Seam Era-
sure and Seam-Aware Decoupling of Shape from Mesh Resolution,” ACM Transactions on
Graphics, vol. 36, no. 6, pp. 216:1–216:15, 2017. Cited on p. 486
[1059] Liu, Xinguo, Peter-Pike Sloan, Heung-Yeung Shum, and John Snyder, “All-Frequency Pre-
computed Radiance Transfer for Glossy Objects,” in Proceedings of the Fifteenth Eurograph-
ics Conference on Rendering Techniques, Eurographics Association, pp. 337–344, June 2004.
Cited on p. 433
[1060] Llopis, Noel, “High-Performance Programming with Data-Oriented Design,” in Eric Lengyel,
ed., Game Engine Gems 2, A K Peters, Ltd., pp. 251–261, 2011. Cited on p. 791, 812
[1061] Lloyd, Brandon, Jeremy Wendt, Naga Govindaraju, and Dinesh Manocha, “CC Shadow Vol-
umes,” in Proceedings of the 15th Eurographics Workshop on Rendering Techniques, Euro-
graphics Association, pp. 197–206, June 2004. Cited on p. 233
[1062] Lloyd, Brandon, David Tuft, Sung-Eui Yoon, and Dinesh Manocha, “Warping and Partition-
ing for Low Error Shadow Maps,” in Eurographics Symposium on Rendering, Eurographics
Association, pp. 215–226, June 2006. Cited on p. 241, 242, 244
[1063] Lloyd, Brandon, Logarithmic Perspective Shadow Maps, PhD thesis, Dept. of Computer Sci-
ence, University of North Carolina at Chapel Hill, Aug. 2007. Cited on p. 101, 241, 242
[1064] Lobanchikov, Igor A., and Holger Gruen, “GSC Game World’s S.T.A.L.K.E.R: Clear Sky—A
Showcase for Direct3D 10.0/1,” Game Developers Conference, Mar. 2009. Cited on p. 252,
887, 888
Bibliography 1107

[1065] Löfstedt, Marta, and Tomas Akenine-Möller, “An Evaluation Framework for Ray-Triangle
Intersection Algorithms,” journal of graphics tools, vol. 10, no. 2, pp. 13–26, 2005. Cited on
p. 962
[1066] Lokovic, Tom, and Eric Veach, “Deep Shadow Maps,” in SIGGRAPH ’00: Proceedings
of the 27th Annual Conference on Computer Graphics and Interactive Techniques, ACM
Press/Addison-Wesley Publishing Co., pp. 385–392, July 2000. Cited on p. 257, 258, 570, 638
[1067] Loop, C., Smooth Subdivision Based on Triangles, MSc thesis, Department of Mathematics,
University of Utah, Aug. 1987. Cited on p. 758, 759, 760, 761
[1068] Loop, Charles, and Jim Blinn, “Resolution Independent Curve Rendering Using Pro-
grammable Graphics Hardware,” ACM Transactions on Graphics, vol. 24, no. 3, pp. 1000–
1009, 2005. Cited on p. 677, 725
[1069] Loop, Charles, and Jim Blinn, “Rendering Vector Art on the GPU,” in Hubert Nguyen, ed.,
GPU Gems 3, Addison-Wesley, pp. 543–561, 2007. Cited on p. 677, 725
[1070] Loop, Charles, and Scott Schaefer, “Approximating Catmull-Clark Subdivision Surfaces with
Bicubic Patches,” ACM Transactions on Graphics, vol. 27, no. 1, pp. 8:1–8:11, 2008. Cited
on p. 767, 775, 776, 777, 779
[1071] Loop, Charles, Cha Zhang, and Zhengyou Zhang, “Real-Time High-Resolution Sparse Vox-
elization with Application to Image-Based Modeling,” in Proceedings of the 5th High-
Performance Graphics Conference, ACM, pp. 73–79, July 2013. Cited on p. 580
[1072] Loos, Bradford, and Peter-Pike Sloan, “Volumetric Obscurance,” in Proceedings of the 2010
ACM SIGGRAPH Symposium on Interactive 3D Graphics, ACM, pp. 151–156, Feb. 2010.
Cited on p. 459
[1073] Loos, Bradford J., Lakulish Antani, Kenny Mitchell, Derek Nowrouzezahrai, Wojciech Jarosz,
and Peter-Pike Sloan, “Modular Radiance Transfer,” ACM Transactions on Graphics, vol. 30,
no. 6, pp. 178:1–178:10, 2011. Cited on p. 484
[1074] Lorach, Tristan, “DirectX 10 Blend Shapes: Breaking the Limits,” in Hubert Nguyen, ed.,
GPU Gems 3, Addison-Wesley, pp. 53–67, 2007. Cited on p. 90
[1075] Lorach, Tristan, “Soft Particles,” NVIDIA White Paper, Jan. 2007. Cited on p. 558
[1076] Lord, Kieren, and Ross Brown, “Using Genetic Algorithms to Optimise Triangle Strips,”
in Proceedings of the 3rd International Conference on Computer Graphics and Interactive
Techniques in Australasia and South East Asia (GRAPHITE 2005), ACM, pp. 169–176,
2005. Cited on p. 699
[1077] Lorensen, William E., and Harvey E. Cline, “Marching Cubes: A High Resolution 3D Surface
Construction Algorithm,” Computer Graphics (SIGGRAPH ’87 Proceedings), vol. 21, no. 4,
pp. 163–169, July 1987. Cited on p. 583
[1078] Losasso, F., and H. Hoppe, “Geometry Clipmaps: Terrain Rendering Using Nested Regular
Grids,” ACM Transactions on Graphics, vol. 23, no. 3, pp. 769–776, 2004. Cited on p. 872,
873
[1079] Lottes, Timothy, “FXAA,” NVIDIA White Paper, Feb. 2009. Cited on p. 148
[1080] Lottes, Timothy, “FXAA 3.11 in 15 Slides,” SIGGRAPH Filtering Approaches for Real-Time
Anti-Aliasing course, Aug. 2011. Cited on p. 148
[1081] Lottes, Timothy, “Advanced Techniques and Optimization of -HDR- VDR Color Pipelines,”
Game Developers Conference, Mar. 2016. Cited on p. 281, 286, 1010
[1082] Lottes, Timothy, “VDR Follow Up—Tonemapping for HDR Signals,” GPUOpen website, Oct.
5, 2016. Cited on p. 281
[1083] Lottes, Timothy, “Technical Evaluation of Traditional vs New ‘HDR’ Encoding Crossed with
Display Capability,” Timothy Lottes blog, Oct. 12, 2016. Cited on p. 283
1108 Bibliography

[1084] Lottes, Timothy, “FXAA Pixel Width Contrast Reduction,” Timothy Lottes blog, Oct. 27,
2016. Cited on p. 148
[1085] Loviscach, Jörn, “Silhouette Geometry Shaders,” in Wolfgang Engel, ed., ShaderX3 , Charles
River Media, pp. 49–56, 2004. Cited on p. 853
[1086] Loviscach, Jörn, “Care and Feeding of Normal Vectors,” in Wolfgang Engel, ed., ShaderX6 ,
Charles River Media, pp. 45–56, 2008. Cited on p. 366
[1087] Loviscach, Jörn, “Care and Feeding of Normal Vectors,” Game Developers Conference, Mar.
2008. Cited on p. 366
[1088] Low, Kok-Lim, and Tiow-Seng Tan, “Model Simplification Using Vertex-Clustering,” in Pro-
ceedings of the 1997 Symposium on Interactive 3D Graphics, ACM, pp. 75–81, Apr. 1997.
Cited on p. 709
[1089] Ludwig, Joe, “Lessons Learned Porting Team Fortress 2 to Virtual Reality,” Game Developers
Conference, Mar. 2013. Cited on p. 920, 932, 940
[1090] Luebke, David P., and Chris Georges, “Portals and Mirrors: Simple, Fast Evaluation of
Potentially Visible Sets,” in Proceedings of the 1995 Symposium on Interactive 3D Graphics,
ACM, pp. 105–106, Apr. 1995. Cited on p. 838
[1091] Luebke, David P., “A Developer’s Survey of Polygonal Simplification Algorithms,” IEEE
Computer Graphics & Applications, vol. 21, no. 3, pp. 24–35, May–June 2001. Cited on
p. 706, 716
[1092] Luebke, David, Level of Detail for 3D Graphics, Morgan Kaufmann, 2003. Cited on p. 706,
708, 709, 716, 854, 879
[1093] Luksch, C., R. F. Tobler, T. Mühlbacher, M. Schwärzler, and M. Wimmer, “Real-Time Ren-
dering of Glossy Materials with Regular Sampling,” The Visual Computer, vol. 30, no. 6-8,
pp. 717–727, 2014. Cited on p. 424
[1094] Lysenko, Mikola, “Meshing in a Minecraft Game,” 0 FPS blog, June 30, 2012. Cited on
p. 582, 583
[1095] Ma, Wan-Chun, Tim Hawkins, Pieter Peers, Charles-Félix Chabert, Malte Weiss, and Paul
Debevec, “Rapid Acquisition of Specular and Diffuse Normal Maps from Polarized Spherical
Gradient Illumination,” in Proceedings of the 18th Eurographics Symposium on Rendering
Techniques, Eurographics Association, pp. 183–194, June 2007. Cited on p. 634, 635
[1096] MacDonald, J. D., and K. S. Booth, “Heuristics for Ray Tracing Using Space Subdivision,”
Visual Computer, vol. 6, no. 6, pp. 153–165, 1990. Cited on p. 953
[1097] Maciel, P., and P. Shirley, “Visual Navigation of Large Environments Using Textured Clus-
ters,” in Proceedings of the 1995 Symposium on Interactive 3D Graphics, ACM, pp. 96–102,
1995. Cited on p. 561, 853, 866
[1098] Macklin, Miles, “Faster Fog,” Miles Macklin blog, June 10, 2010. Cited on p. 603
[1099] Maglo, Adrien, Guillaume Lavoué, Florent Dupont, and Céline Hudelot, “3D Mesh Compres-
sion: Survey, Comparisons, and Emerging Trends,” ACM Computing Surveys, vol. 47, no. 3,
pp. 44:1–44:41, Apr. 2015. Cited on p. 712, 714
[1100] Magnenat-Thalmann, Nadia, Richard Laperrière, and Daniel Thalmann, “Joint-Dependent
Local Deformations for Hand Animation and Object Grasping,” in Graphics Interface ’88,
Canadian Human-Computer Communications Society, pp. 26–33, June 1988. Cited on p. 85
[1101] Magnusson, Kenny, “Lighting You Up with Battlefield 3,” Game Developers Conference, Mar.
2011. Cited on p. 482
[1102] Mah, Layla, and Stephan Hodes, “DirectCompute for Gaming: Supercharge Your Engine with
Compute Shaders,” Game Developers Conference, Mar. 2013. Cited on p. 54, 518, 535
Bibliography 1109

[1103] Mah, Layla, “Powering the Next Generation Graphics: AMD GCN Architecture,” Game
Developers Conference, Mar. 2013. Cited on p. 1035
[1104] Mah, Layla, “Low Latency and Stutter-Free Rendering in VR and Graphics Applications,”
Game Developers Conference, Mar. 2015. Cited on p. 922, 928, 938, 939
[1105] Maillot, Patrick-Giles, “Using Quaternions for Coding 3D Transformations,” in Andrew S.
Glassner, ed., Graphics Gems, Academic Press, pp. 498–515, 1990. Cited on p. 77
[1106] Maillot, Jérôme, and Jos Stam, “A Unified Subdivision Scheme for Polygonal Modeling,”
Computer Graphics Forum, vol. 20, no. 3, pp. 471–479, 2001. Cited on p. 761
[1107] Maı̈m, Jonathan, and Daniel Thalmann, “Improved Appearance Variety for Geometry In-
stancing,” in Wolfgang Engel, ed., ShaderX6 , Charles River Media, pp. 17–28, 2008. Cited
on p. 798, 800
[1108] Maı̈m, Jonathan, Barbara Yersin, and Daniel Thalmann, “Unique Instances for Crowds,”
IEEE Computer Graphics & Applications, vol. 29, no. 6, pp. 82–90, 2009. Cited on p. 798,
800
[1109] Malan, Hugh, “Graphics Techniques in Crackdown,” in Wolfgang Engel, ed., ShaderX7 ,
Charles River Media, pp. 189–215, 2009. Cited on p. 561
[1110] Malan, Hugh, “Real-Time Global Illumination and Reflections in Dust 514,” SIGGRAPH
Advances in Real-Time Rendering in Games course, Aug. 2012. Cited on p. 142, 143, 493
[1111] Malmer, Mattias, Fredrik Malmer, Ulf Assarsson, and Nicolas Holzschuch, “Fast Precomputed
Ambient Occlusion for Proximity Shadows,” journal of graphics tools, vol. 12, no. 2, pp. 59–71,
2007. Cited on p. 452
[1112] Malvar, Henrique S., Gary J. Sullivan, and Sridhar Srinivasan, “Lifting-Based Reversible Color
Transformations for Image Compression,” in Applications of Digital Image Processing XXXI,
SPIE, 2008. Cited on p. 197
[1113] Malvar, R., “Fast Progressive Image Coding Without Wavelets,” Data Compression Confer-
ence, Mar. 2000. Cited on p. 870
[1114] Malyshau, Dzmitry, “A Quaternion-Based Rendering Pipeline,” in Wolfgang Engel, ed., GPU
Pro3 , CRC Press, pp. 265–273, 2012. Cited on p. 82, 210, 715
[1115] Mammen, Abraham, “Transparency and Antialiasing Algorithms Implemented with the Vir-
tual Pixel Maps Technique,” IEEE Computer Graphics & Applications, vol. 9, no. 4, pp. 43–55,
July 1989. Cited on p. 139, 154
[1116] Mamou, Khaled, Titus Zaharia, and Françoise Prêteux, “TFAN: A Low Complexity 3D Mesh
Compression Algorithm,” Computer Animation and Virtual Worlds, vol. 20, pp. 1–12, 2009.
Cited on p. 712
[1117] Mansencal, Thomas, “About Rendering Engines Colourspaces Agnosticism,” Colour Science
blog, Sept. 17, 2014. Cited on p. 278
[1118] Mansencal, Thomas, “About RGB Colourspace Models Performance,” Colour Science blog,
Oct. 9, 2014. Cited on p. 278
[1119] Manson, Josiah, and Scott Schaefer, “Parameterization-Aware MIP-Mapping,” Computer
Graphics Forum, vol. 31, no. 4, pp. 1455–1463, 2012. Cited on p. 191
[1120] Manson, Josiah, and Peter-Pike Sloan, “Fast Filtering of Reflection Probes,” Computer Graph-
ics Forum, vol. 35, no. 4, pp. 119–127, 2016. Cited on p. 421, 503, 518
[1121] Mantor, M., and M. Houston, “AMD Graphic Core Next—Low Power High Performance
Graphics & Parallel Compute,” AMD Fusion Developer Summit, June 2011. Cited on p. 1036
[1122] Mara, M., and M. McGuire, “2D Polyhedral Bounds of a Clipped, Perspective-Projected 3D
Sphere,” Journal of Computer Graphics Techniques, vol. 2, no. 2, pp. 70–83, 2013. Cited on
p. 863, 886, 894
1110 Bibliography

[1123] Mara, M., M. McGuire, D. Nowrouzezahrai, and D. Luebke, “Deep G-Buffers for Stable Global
Illumination Approximation,” in Proceedings of High Performance Graphics, Eurographics
Association, pp. 87–98, June 2016. Cited on p. 509
[1124] Mara, Michael, Morgan McGuire, Benedikt Bitterli, and Wojciech Jarosz, “An Efficient De-
noising Algorithm for Global Illumination,” High Performance Graphics, June 2017. Cited
on p. 511
[1125] Markosian, Lee, Michael A. Kowalski, Samuel J. Trychin, Lubomir D. Bourdev, Daniel Gold-
stein, and John F. Hughes, “Real-Time Nonphotorealistic Rendering,” in SIGGRAPH ’97:
Proceedings of the 24th Annual Conference on Computer Graphics and Interactive Tech-
niques, ACM Press/Addison-Wesley Publishing Co., pp. 415–420, Aug. 1997. Cited on p. 667
[1126] Markosian, Lee, Barbara J. Meier, Michael A. Kowalski, Loring S. Holden, J. D. Northrup,
and John F. Hughes, “Art-Based Rendering with Continuous Levels of Detail,” in Proceedings
of the 1st International Symposium on Non-Photorealistic Animation and Rendering, ACM,
pp. 59–66, June 2000. Cited on p. 670, 672
[1127] Marques, R., C. Bouville, M. Ribardière, L. P. Santos, and K. Bouatouch, “Spherical Fibonacci
Point Sets for Illumination Integrals,” Computer Graphics Forum, vol. 32, no. 8, pp. 134–143,
2013. Cited on p. 397
[1128] Marschner, Stephen R., Henrik Wann Jensen, Mike Cammarano, Steve Worley, and Pat Han-
rahan, “Light Scattering from Human Hair Fibers,” ACM Transactions on Graphics (SIG-
GRAPH 2003), vol. 22, no. 3, pp. 780–791, 2000. Cited on p. 359, 640, 641, 642, 643, 644
[1129] Marschner, Steve, and Peter Shirley, Fundamentals of Computer Graphics, Fourth Edition,
CRC Press, 2015. Cited on p. 102
[1130] Marshall, Carl S., “Cartoon Rendering: Real-Time Silhouette Edge Detection and Rendering,”
in Mark DeLoura, ed., Game Programming Gems 2, Charles River Media, pp. 436–443, 2001.
Cited on p. 666
[1131] Martin, Sam, and Per Einarsson, “A Real-Time Radiosity Architecture for Video Game,”
SIGGRAPH Advances in Real-Time Rendering in 3D Graphics and Games course, July
2010. Cited on p. 482
[1132] Martin, Tobias, and Tiow-Seng Tan, “Anti-aliasing and Continuity with Trapezoidal Shadow
Maps,” in 15th Eurographics Symposium on Rendering, Eurographics Association, pp. 153–
160, June 2004. Cited on p. 241
[1133] Martinez, Adam, “Faster Photorealism in Wonderland: Physically-Based Shading and Light-
ing at Sony Pictures Imageworks,” SIGGRAPH Physically-Based Shading Models in Film
and Game Production course, July 2010. Cited on p. 340
[1134] Mason, Ashton E. W., and Edwin H. Blake, “Automatic Hierarchical Level of Detail Opti-
mization in Computer Animation,” Computer Graphics Forum, vol. 16, no. 3, pp. 191–199,
1997. Cited on p. 866
[1135] Masserann, Arnaud, “Indexing Multiple Vertex Arrays,” in Patrick Cozzi & Christophe Riccio,
eds., OpenGL Insights, CRC Press, pp. 365–374, 2012. Cited on p. 691, 699, 703
[1136] Mattausch, Oliver, Jiřı́ Bittner, and Michael Wimmer, “CHC++: Coherent Hierarchical
Culling Revisited,” Computer Graphics Forum, vol. 27, no. 2, pp. 221–230, 2008. Cited
on p. 845
[1137] Mattausch, Oliver, Jiřı́ Bittner, Ari Silvennoinen, Daniel Scherzer, and Michael Wimmer,
“Efficient Online Visibility for Shadow Maps,” in Wolfgang Engel, ed., GPU Pro3 , CRC
Press, pp. 233–242, 2012. Cited on p. 247
[1138] Mattes, Ben, and Jean-Francois St-Amour, “Illustrative Rendering of Prince of Persia,” Game
Developers Conference, Mar. 2009. Cited on p. 658, 662
Bibliography 1111

[1139] Matusik, W., C. Buehler, R. Raskar, S. J. Gortler, and L. McMillan, “Image-Based Visual
Hulls,” in SIGGRAPH ’00: Proceedings of the 27th Annual Conference on Computer Graphics
and Interactive Techniques, ACM Press/Addison-Wesley Publishing Co., pp. 369–374, 2000.
Cited on p. 580
[1140] Maughan, Chris, “Texture Masking for Faster Lens Flare,” in Mark DeLoura, ed., Game
Programming Gems 2, Charles River Media, pp. 474–480, 2001. Cited on p. 524
[1141] Maule, Marilena, João L. D. Comba, Rafael Torchelsen, and Rui Bastos, “A Survey of Raster-
Based Transparency Techniques,” Computer and Graphics, vol. 35, no. 6, pp. 1023–1034,
2011. Cited on p. 159
[1142] Maule, Marilena, João Comba, Rafael Torchelsen, and Rui Bastos, “Hybrid Transparency,”
in Proceedings of the ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games,
ACM, pp. 103–118, 2013. Cited on p. 156
[1143] Mavridis, Pavlos, and Georgios Papaioannou, “High Quality Elliptical Texture Filtering on
GPU,” in Symposium on Interactive 3D Graphics and Games, ACM, pp. 23–30, Feb. 2011.
Cited on p. 189
[1144] Mavridis, P., and G. Papaioannou, “The Compact YCoCg Frame Buffer,” Journal of Com-
puter Graphics Techniques, vol. 1, no. 1, pp. 19–35, 2012. Cited on p. 804, 805
[1145] Max, Nelson L., “Horizon Mapping: Shadows for Bump-Mapped Surfaces,” The Visual Com-
puter, vol. 4, no. 2, pp. 109–117, 1988. Cited on p. 460, 466
[1146] Max, Nelson L., “Weights for Computing Vertex Normals from Facet Normals,” journal of
graphics tools, vol. 4, no. 2, pp. 1–6, 1999. Also collected in [112]. Cited on p. 695
[1147] Max, Nelson, “Improved Accuracy When Building an Orthonormal Basis,” Journal of Com-
puter Graphics Techniques, vol. 6, no. 1, pp. 9–16, 2017. Cited on p. 75
[1148] Maxima, a Computer Algebra System, http://maxima.sourceforge.net/, 2017. Cited on p. 991
[1149] Mayaux, Benoit, “Real-Time Volumetric Rendering,” Revision Demo Party, Mar.–Apr. 2013.
Cited on p. 620
[1150] McAllister, David K., Anselmo A. Lastra, and Wolfgang Heidrich, “Efficient Rendering of
Spatial Bi-directional Reflectance Distribution Functions,” in Graphics Hardware 2002, Eu-
rographics Association, pp. 79–88, Sept. 2002. Cited on p. 418, 425
[1151] McAllister, David, “Spatial BRDFs,” in Randima Fernando, ed., GPU Gems, Addison-Wesley,
pp. 293–306, 2004. Cited on p. 418, 425
[1152] McAnlis, Colt, “A Multithreaded 3D Renderer,” in Eric Lengyel, ed., Game Engine Gems,
Jones and Bartlett, pp. 149–165, 2010. Cited on p. 814
[1153] McAuley, Stephen, “Calibrating Lighting and Materials in Far Cry 3,” SIGGRAPH Physically
Based Shading in Theory and Practice course, Aug. 2012. Cited on p. 349
[1154] McAuley, Stephen, “Rendering the World of Far Cry 4,” Game Developers Conference, Mar.
2015. Cited on p. 143, 146, 210, 421, 425, 453, 481, 503, 715, 864
[1155] McCabe, Dan, and John Brothers, “DirectX 6 Texture Map Compression,” Game Developer,
vol. 5, no. 8, pp. 42–46, Aug. 1998. Cited on p. 1013
[1156] McCaffrey, Jon, “Exploring Mobile vs. Desktop OpenGL Performance,” in Patrick Cozzi &
Christophe Riccio, eds., OpenGL Insights, CRC Press, pp. 337–352, 2012. Cited on p. 814
[1157] McCloud, Scott, Understanding Comics: The Invisible Art, Harper Perennial, 1994. Cited
on p. 652, 678
[1158] McCombe, J. A., “PowerVR Graphics—Latest Developments and Future Plans,” Game De-
velopers Conference, Mar. 2015. Cited on p. 511, 1039, 1044
1112 Bibliography

[1159] McCool, Michael D., Chris Wales, and Kevin Moule, “Incremental and Hierarchical Hilbert
Order Edge Equation Polygon Rasterization,” in Graphics Hardware 2001, Eurographics As-
sociation, pp. 65–72, Aug. 2001. Cited on p. 996, 1001
[1160] McCormack, J., R. McNamara, C. Gianos, L. Seiler, N. P. Jouppi, and Ken Corell, “Neon:
A Single-Chip 3D Workstation Graphics Accelerator,” in Proceedings of the ACM SIG-
GRAPH/EUROGRAPHICS Workshop on Graphics Hardware, ACM, pp. 123–123, Aug.
1998. Cited on p. 185, 1010, 1034
[1161] McCormack, Joel, Ronald Perry, Keith I. Farkas, and Norman P. Jouppi, “Feline: Fast El-
liptical Lines for Anisotropic Texture Mapping,” in SIGGRAPH ’99: Proceedings of the 26th
Annual Conference on Computer Graphics and Interactive Techniques, ACM Press/Addison-
Wesley Publishing Co., pp. 243–250, Aug. 1999. Cited on p. 189
[1162] McCormack, Joel, and Robert McNamara, “Tiled Polygon Traversal Using Half-Plane Edge
Functions,” in Graphics Hardware 2000, Eurographics Association, pp. 15–22, Aug. 2000.
Cited on p. 22, 996, 997
[1163] McDermott, Wes, The Comprehensive PBR Guide by Allegorithmic, vol. 2, Allegorithmic,
2016. Cited on p. 325, 349
[1164] McDonald, J., and M. Kilgard, “Crack-Free Point-Normal Triangles Using Adjacent Edge
Normals,” Technical Report, NVIDIA, Dec. 2010. Cited on p. 747
[1165] McDonald, J., “Don’t Throw It All Away: Efficient Buffer Management,” Game Developers
Conference, Mar. 2012. Cited on p. 117
[1166] McDonald, John, “Alpha Blending: To Pre or Not To Pre,” NVIDIA GameWorks blog, Jan.
31, 2013. Cited on p. 208
[1167] McDonald, John, “Avoiding Catastrophic Performance Loss: Detecting CPU-GPU Sync
Points,” Game Developers Conference, Mar. 2014. Cited on p. 790, 794, 805
[1168] McEwan, Ian, David Sheets, Mark Richardson, and Stefan Gustavson, “Efficient Computa-
tional Noise in GLSL,” journal of graphics tools, vol. 16, no. 2, pp. 85–94, 2012. Cited on
p. 199
[1169] McGuire, Morgan, and John F. Hughes, “Hardware-Determined Feature Edges,” in Proceed-
ings of the 3rd International Symposium on Non-Photorealistic Animation and Rendering,
ACM, pp. 35–47, June 2004. Cited on p. 668
[1170] McGuire, Morgan, “The SuperShader,” in Wolfgang Engel, ed., ShaderX4 , Charles River
Media, pp. 485–498, 2005. Cited on p. 128
[1171] McGuire, Morgan, and Max McGuire, “Steep Parallax Mapping,” Symposium on Interactive
3D Graphics and Games poster, Apr. 2005. Cited on p. 215, 216, 217, 218, 933
[1172] McGuire, Morgan, Computer Graphics Archive, http://graphics.cs.williams.edu/data, Aug.
2011. Cited on p. 105, 118
[1173] McGuire, Morgan, Padraic Hennessy, Michael Bukowski, and Brian Osman, “A Reconstruc-
tion Filter for Plausible Motion Blur,” Symposium on Interactive 3D Graphics and Games,
Feb. 2012. Cited on p. 537, 540, 541, 542, 543
[1174] McGuire, Morgan, Michael Mara, and David Luebke, “Scalable Ambient Obscurance,” High
Performance Graphics, June 2012. Cited on p. 459
[1175] McGuire, M., D. Evangelakos, J. Wilcox, S. Donow, and M. Mara, “Plausible Blinn-Phong
Reflection of Standard Cube MIP-Maps,” Technical Report CSTR201301, Department of
Computer Science, Williams College, 2013. Cited on p. 420
[1176] McGuire, Morgan, and Louis Bavoil, “Weighted Blended Order-Independent Transparency,”
Journal of Computer Graphics Techniques, vol. 2, no. 2, pp. 122–141, 2013. Cited on p. 158
Bibliography 1113

[1177] McGuire, Morgan, “Z-Prepass Considered Irrelevant,” Casual Effects blog, Aug. 14, 2013.
Cited on p. 803, 882
[1178] McGuire, Morgan, “The Skylanders SWAP Force Depth-of-Field Shader,” Casual Effects blog,
Sept. 13, 2013. Cited on p. 529, 530, 532, 533, 536
[1179] McGuire, Morgan, and Michael Mara, “Efficient GPU Screen-Space Ray Tracing,” Journal of
Computer Graphics Techniques, vol. 3, no. 4, pp. 73–85, 2014. Cited on p. 506
[1180] McGuire, Morgan, “Implementing Weighted, Blended Order-Independent Transparency,” Ca-
sual Effects blog, Mar. 26, 2015. Cited on p. 158, 569
[1181] McGuire, Morgan, “Fast Colored Transparency,” Casual Effects blog, Mar. 27, 2015. Cited
on p. 158
[1182] McGuire, Morgan, “Peering Through a Glass, Darkly at the Future of Real-Time Trans-
parency,” SIGGRAPH Open Problems in Real-Time Rendering course, July 2016. Cited on
p. 159, 165, 623, 649
[1183] McGuire, Morgan, “Strategies for Avoiding Motion Sickness in VR Development,” Casual
Effects blog, Aug. 12, 2016. Cited on p. 920
[1184] McGuire, Morgan, Mike Mara, Derek Nowrouzezahrai, and David Luebke, “Real-Time Global
Illumination Using Precomputed Light Field Probes,” in Proceedings of the 21st ACM SIG-
GRAPH Symposium on Interactive 3D Graphics and Games, ACM, pp. 2:1–2:11, Feb. 2017.
Cited on p. 490, 502
[1185] McGuire, Morgan, and Michael Mara, “Phenomenological Transparency,” IEEE Transactions
of Visualization and Computer Graphics, vol. 23, no.5, pp. 1465–1478, May 2017. Cited on
p. 158, 623, 624, 629, 632, 649
[1186] McGuire, Morgan, “The Virtual Frontier: Computer Graphics Challenges in Virtual Reality
& Augmented Reality,” SIGGRAPH NVIDIA talks, July 31, 2017. Cited on p. 923, 939, 940
[1187] McGuire, Morgan, “How NVIDIA Research is Reinventing the Display Pipeline for the Future
of VR, Part 2,” Road to VR website, Nov. 30, 2017. Cited on p. 919, 940, 1046
[1188] McGuire, Morgan, The Graphics Codex, Edition 2.14, Casual Effects Publishing, 2018. Cited
on p. 372, 512, 1047
[1189] McGuire, Morgan, “Ray Marching,” in The Graphics Codex, Edition 2.14, Casual Effects
Publishing, 2018. Cited on p. 752
[1190] McLaren, James, “The Technology of The Tomorrow Children,” Game Developers Conference,
Mar. 2015. Cited on p. 496, 504, 569
[1191] McNabb, Doug, “Sparse Procedural Volume Rendering,” in Wolfgang Engel, ed., GPU Pro6 ,
CRC Press, pp. 167–180, 2015. Cited on p. 611, 934
[1192] McReynolds, Tom, and David Blythe, Advanced Graphics Programming Using OpenGL, Mor-
gan Kaufmann, 2005. Cited on p. 152, 153, 199, 200, 221, 222, 229, 538, 551, 674, 675, 678
[1193] McTaggart, Gary, “Half-Life 2/Valve Source Shading,” Game Developers Conference, Mar.
2004. Cited on p. 127, 395, 403, 478, 488, 499
[1194] McVoy, Larry, and Carl Staelin, “lmbench: Portable Tools for Performance Analysis,” in
Proceedings of the USENIX Annual Technical Conference, USENIX, pp. 120–133, Jan. 1996.
Cited on p. 792
[1195] Mehra, Ravish, and Subodh Kumar, “Accurate and Efficient Rendering of Detail Using Direc-
tional Distance Maps,” in Proceedings of the Eighth Indian Conference on Vision, Graphics
and Image Processing, ACM, pp. 34:1–34:8, Dec. 2012. Cited on p. 219
[1196] Melax, Stan, “A Simple, Fast, and Effective Polygon Reduction Algorithm,” Game Developer,
vol. 5, no. 11, pp. 44–49, Nov. 1998. Cited on p. 707, 860
1114 Bibliography

[1197] Melax, Stan, “The Shortest Arc Quaternion,” in Mark DeLoura, ed., Game Programming
Gems, Charles River Media, pp. 214–218, 2000. Cited on p. 83
[1198] Meneveaux, Daniel, Benjamin Bringier, Emmanuelle Tauzia, Mickaël Ribardière, and Li-
onel Simonot, “Rendering Rough Opaque Materials with Interfaced Lambertian Microfacets,”
IEEE Transactions on Visualization and Computer Graphics, vol. 24, no. 3, pp. 1368–1380,
2018. Cited on p. 331
[1199] Meng, Johannes, Florian Simon, Johannes Hanika, and Carsten Dachsbacher, “Physically
Meaningful Rendering Using Tristimulus Colours,” Computer Graphics Forum, vol. 34, no. 4,
pp. 31–40, 2015. Cited on p. 349
[1200] Merry, Bruce, “Performance Tuning for Tile-Based Architectures,” in Patrick Cozzi &
Christophe Riccio, eds., OpenGL Insights, CRC Press, pp. 323–335, 2012. Cited on p. 790,
814
[1201] Mertens, Tom, Jan Kautz, Philippe Bekaert, Hans-Peter Seidel, and Frank Van Reeth, “Effi-
cient Rendering of Local Subsurface Scattering,” in Proceedings of the 11th Pacific Conference
on Computer Graphics and Applications, IEEE Computer Society, pp. 51–58, Oct. 2003. Cited
on p. 639
[1202] Meshkin, Houman, “Sort-Independent Alpha Blending,” Game Developers Conference, Mar.
2007. Cited on p. 156
[1203] Meyer, Alexandre, and Fabrice Neyret, “Interactive Volumetric Textures,” in Rendering Tech-
niques ’98, Springer, pp. 157–168, July 1998. Cited on p. 565, 646
[1204] Meyer, Alexandre, Fabrice Neyret, and Pierre Poulin, “Interactive Rendering of Trees with
Shading and Shadows,” in Rendering Techniques 2001, Springer, pp. 183–196, June 2001.
Cited on p. 202
[1205] Meyer, Quirin, Jochen Süßner, Gerd Sußner, Marc Stamminger, and Günther Greiner, “On
Floating-Point Normal Vectors,” Computer Graphics Forum, vol. 29, no. 4, pp. 1405–1409,
2010. Cited on p. 222
[1206] Meyers, Scott, “CPU Caches and Why You Care,” code::dive conference, Nov. 5, 2014. Cited
on p. 791, 792
[1207] Microsoft, “Coordinate Systems,” Windows Mixed Reality website, 2017. Cited on p. 918, 932
[1208] Microsoft, “Direct3D 11 Graphics,” Windows Dev Center. Cited on p. 42, 233, 525
[1209] Mikkelsen, Morten S., “Bump Mapping Unparametrized Surfaces on the GPU,” Technical
Report, Naughty Dog, 2010. Cited on p. 210
[1210] Mikkelsen, Morten S., “Fine Pruned Tiled Light Lists,” in Wolfgang Engel, ed., GPU Pro7 ,
CRC Press, pp. 69–81, 2016. Cited on p. 897, 914
[1211] Miller, Gavin, “Efficient Algorithms for Local and Global Accessibility Shading,” in SIG-
GRAPH ’94: Proceedings of the 21st Annual Conference on Computer Graphics and Inter-
active Techniques, ACM, pp. 319–326, July 1994. Cited on p. 449
[1212] Miller, Gene S., and C. Robert Hoffman, “Illumination and Reflection Maps: Simulated Ob-
jects in Simulated and Real Environments,” SIGGRAPH Advanced Computer Graphics Ani-
mation course, July 1984. Cited on p. 408, 425
[1213] Miller, Scott, “A Perceptual EOTF for Extended Dynamic Range Imagery,” SMPTE Stan-
dards Update presentation, May 6, 2014. Cited on p. 281
[1214] Mitchell, D., and A. Netravali, “Reconstruction Filters in Computer Graphics,” Computer
Graphics (SIGGRAPH ’88 Proceedings), vol. 22, no. 4, pp. 239–246, Aug. 1988. Cited on
p. 136
[1215] Mitchell, Jason L., Michael Tatro, and Ian Bullard, “Multitexturing in DirectX 6,” Game
Developer, vol. 5, no. 9, pp. 33–37, Sept. 1998. Cited on p. 200
Bibliography 1115

[1216] Mitchell, Jason L., “Advanced Vertex and Pixel Shader Techniques,” European Game Devel-
opers Conference, Sept. 2001. Cited on p. 521
[1217] Mitchell, Jason L., “Image Processing with 1.4 Pixel Shaders in Direct3D,” in Wolfgang Engel,
ed., Direct3D ShaderX: Vertex & Pixel Shader Tips and Techniques, Wordware, pp. 258–269,
2002. Cited on p. 521, 662
[1218] Mitchell, Jason L., Marwan Y. Ansari, and Evan Hart, “Advanced Image Processing with
DirectX 9 Pixel Shaders,” in Wolfgang Engel, ed., ShaderX2 : Shader Programming Tips and
Tricks with DirectX 9, Wordware, pp. 439–468, 2004. Cited on p. 515, 517, 521
[1219] Mitchell, Jason L., “Light Shaft Rendering,” in Wolfgang Engel, ed., ShaderX3 , Charles River
Media, pp. 573–588, 2004. Cited on p. 604
[1220] Mitchell, Jason L., and Pedro V. Sander, “Applications of Explicit Early-Z Culling,” SIG-
GRAPH Real-Time Shading course, Aug. 2004. Cited on p. 53, 1016
[1221] Mitchell, Jason, “Motion Blurring Environment Maps,” in Wolfgang Engel, ed., ShaderX4 ,
Charles River Media, pp. 263–268, 2005. Cited on p. 538
[1222] Mitchell, Jason, Gary McTaggart, and Chris Green, “Shading in Valve’s Source Engine,”
SIGGRAPH Advanced Real-Time Rendering in 3D Graphics and Games course, Aug. 2006.
Cited on p. 289, 382, 403, 499
[1223] Mitchell, Jason L., Moby Francke, and Dhabih Eng, “Illustrative Rendering in Team Fortress
2,” Proceedings of the 5th International Symposium on Non-Photorealistic Animation and
Rendering, ACM, pp. 71–76, Aug. 2007. Collected in [1746]. Cited on p. 678
[1224] Mitchell, Jason, “ Stylization with a Purpose: The Illustrative World of Team Fortress 2,”
Game Developers Conference, Mar. 2008. Cited on p. 652, 654
[1225] Mitchell, Kenny, “Volumetric Light Scattering as a Post-Process,” in Hubert Nguyen, ed.,
GPU Gems 3, Addison-Wesley, pp. 275–285, 2007. Cited on p. 604
[1226] Mittring, Martin, “Triangle Mesh Tangent Space Calculation,” in Wolfgang Engel, ed.,
ShaderX4 , Charles River Media, pp. 77–89, 2005. Cited on p. 210
[1227] Mittring, Martin, “Finding Next Gen—CryEngine 2,” SIGGRAPH Advanced Real-Time Ren-
dering in 3D Graphics and Games course, Aug. 2007. Cited on p. 43, 195, 239, 242, 255, 457,
476, 559, 856, 860, 861
[1228] Mittring, Martin, and Byran Dudash, “The Technology Behind the DirectX 11 Unreal Engine
‘Samaritan’ Demo,” Game Developers Conference, Mar. 2011. Cited on p. 389, 502, 531, 641,
642
[1229] Mittring, Martin, “The Technology Behind the ‘Unreal Engine 4 Elemental Demo’,” Game
Developers Conference, Mar. 2012. Cited on p. 288, 371, 383, 495, 526, 536, 571
[1230] Mohr, Alex, and Michael Gleicher, “Building Efficient, Accurate Character Skins from Exam-
ples,” ACM Transactions on Graphics (SIGGRAPH 2003), vol. 22, no. 3, pp. 562–568, 2003.
Cited on p. 85
[1231] Möller, Tomas, and Ben Trumbore, “Fast, Minimum Storage Ray-Triangle Intersection,” jour-
nal of graphics tools, vol. 2, no. 1, pp. 21–28, 1997. Also collected in [112]. Cited on p. 962,
965
[1232] Möller, Tomas, “A Fast Triangle-Triangle Intersection Test,” journal of graphics tools, vol. 2,
no. 2, pp. 25–30, 1997. Cited on p. 972
[1233] Möller, Tomas, and John F. Hughes, “Efficiently Building a Matrix to Rotate One Vector to
Another,” journal of graphics tools, vol. 4, no. 4, pp. 1–4, 1999. Also collected in [112]. Cited
on p. 83, 84
[1234] Molnar, Steven, “Efficient Supersampling Antialiasing for High-Performance Architectures,”
Technical Report TR91-023, Department of Computer Science, University of North Carolina
at Chapel Hill, 1991. Cited on p. 145, 547
1116 Bibliography

[1235] Molnar, S., J. Eyles, and J. Poulton, “PixelFlow: High-Speed Rendering Using Image Compo-
sition,” Computer Graphics (SIGGRAPH ’92 Proceedings), vol. 26, no. 2, pp. 231–240, July
1992. Cited on p. 883, 1022
[1236] Molnar, S., M. Cox, D. Ellsworth, and H. Fuchs, “A Sorting Classification of Parallel Render-
ing,” IEEE Computer Graphics and Applications, vol. 14, no. 4, pp. 23–32, July 1994. Cited
on p. 1020, 1023
[1237] Montesdeoca, S. E., H. S. Seah, and H.-M. Rall, “Art-Directed Watercolor Rendered Anima-
tion,” in Expressive 2016, Eurographics Association, pp. 51–58, May 2016. Cited on p. 665
[1238] Morein, Steve, “ATI Radeon HyperZ Technology,” Graphics Hardware Hot3D session, Aug.
2000. Cited on p. 1009, 1015, 1016, 1038
[1239] Moreton, Henry P., and Carlo H. Séquin, “Functional Optimization for Fair Surface Design,”
Computer Graphics (SIGGRAPH ’92 Proceedings), vol. 26, no. 2, pp. 167–176, July 1992.
Cited on p. 761
[1240] Moreton, Henry, “Watertight Tessellation Using Forward Differencing,” in Graphics Hardware
2001, Eurographics Association, pp. 25–132, Aug. 2001. Cited on p. 768, 769
[1241] Morovič, Ján, Color Gamut Mapping, John Wiley & Sons, 2008. Cited on p. 278
[1242] Mortenson, Michael E., Geometric Modeling, Third Edition, John Wiley & Sons, 2006. Cited
on p. 718, 781
[1243] Morton, G. M., “A Computer Oriented Geodetic Data Base and a New Technique in File
Sequencing,” Technical Report, IBM, Ottawa, Ontario, Mar. 1, 1966. Cited on p. 1018
[1244] Mueller, Carl, “Architectures of Image Generators for Flight Simulators,” Technical Report
TR95-015, Department of Computer Science, University of North Carolina at Chapel Hill,
1995. Cited on p. 149
[1245] Mulde, Jurriaan D., Frans C. A. Groen, and Jarke J. van Wijk, “Pixel Masks for Screen-Door
Transparency,” in Visualization ’98, IEEE Computer Society, pp. 351–358, Oct. 1998. Cited
on p. 149
[1246] Munkberg, Jacob, and Tomas Akenine-Möller, “Backface Culling for Motion Blur and Depth
of Field,” Journal of Graphics, GPU, and Game Tools, vol. 15, no. 2, pp. 123–139, 2011.
Cited on p. 835
[1247] Munkberg, Jacob, Karthik Vaidyanathan, Jon Hasselgren, Petrik Clarberg, and Tomas
Akenine-Möller, “Layered Reconstruction for Defocus and Motion Blur,” Computer Graphics
Forum, vol. 33, no. 4, pp. 81–92, 2014. Cited on p. 542
[1248] Munkberg, J., J. Hasselgren, P. Clarberg, M. Andersson, and T. Akenine-Möller, “Texture
Space Caching and Reconstruction for Ray Tracing,” ACM Transactions on Graphics, vol. 35,
no. 6, pp. 249:1–249:13, 2016. Cited on p. 934
[1249] Museth, Ken, “VDB: High-Resolution Sparse Volumes with Dynamic Topology,” ACM Trans-
actions on Graphics, vol. 32, no. 2, article no. 27, June 2013. Cited on p. 578, 584
[1250] Myers, Kevin, “Alpha-to-Coverage in Depth,” in Wolfgang Engel, ed., ShaderX5 , Charles
River Media, pp. 69–74, 2006. Cited on p. 207
[1251] Myers, Kevin, “Variance Shadow Mapping,” NVIDIA White Paper, 2007. Cited on p. 253
[1252] Myers, Kevin, Randima (Randy) Fernando, and Louis Bavoil, “Integrating Realistic Soft
Shadows into Your Game Engine,” NVIDIA White Paper, Feb. 2008. Cited on p. 250
[1253] Myers, Kevin, “Sparse Shadow Trees,” in ACM SIGGRAPH 2016 Talks, ACM, article no. 14,
July 2016. Cited on p. 239, 246, 263
[1254] Nagy, Gabor, “Real-Time Shadows on Complex Objects,” in Mark DeLoura, ed., Game Pro-
gramming Gems, Charles River Media, pp. 567–580, 2000. Cited on p. 229
Bibliography 1117

[1255] Nagy, Gabor, “Convincing-Looking Glass for Games,” in Mark DeLoura, ed., Game Program-
ming Gems, Charles River Media, pp. 586–593, 2000. Cited on p. 153
[1256] Nah, J.-H., H.-J. Kwon, D.-S. Kim, C.-H. Jeong, J. Park, T.-D. Han, D. Manocha, and
W.-C. Park, “RayCore: A Ray-Tracing Hardware Architecture for Mobile Devices,” ACM
Transactions on Graphics, vol. 33, no. 5, pp. 162:1–162:15, 2014. Cited on p. 1039
[1257] Naiman, Avi C., “Jagged Edges: When Is Filtering Needed?,” ACM Transactions on Graph-
ics, vol. 14, no. 4, pp. 238–258, 1998. Cited on p. 143
[1258] Narasimhan, Srinivasa G., Mohit Gupta, Craig Donner, Ravi Ramamoorthi, Shree K. Nayar,
and Henrik Wann Jensen, “Acquiring Scattering Properties of Participating Media by Dilu-
tion,” ACM Transactions on Graphics (SIGGRAPH 2006), vol. 25, no. 3, pp. 1003–1012,
Aug. 2006. Cited on p. 591, 592
[1259] Narkowicz, Krzysztof, Real-Time BC6H Compression on GPU, in Wolfgang Engel, ed., GPU
Pro5 , CRC Press, pp. 219–230, 2014. Cited on p. 503, 870
[1260] Narkowicz, Krzysztof, “ACES Filmic Tone Mapping Curve,” Krzysztof Narkowicz blog, Jan.
6, 2016. Cited on p. 287
[1261] Narkowicz, Krzysztof, “HDR Display—First Steps,” Krzysztof Narkowicz blog, Aug. 31, 2016.
Cited on p. 287
[1262] Nassau, Kurt, The Physics and Chemistry of Color: The Fifteen Causes of Color, Second
Edition, John Wiley & Sons, Inc., 2001. Cited on p. 373
[1263] Navarro, Fernando, Francisco J. Serón, and Diego Gutierrez, “Motion Blur Rendering: State
of the Art,” Computer Graphics Forum, vol. 30, no. 1, pp. 3–26, 2011. Cited on p. 543
[1264] Nehab, D., P. Sander, J. Lawrence, N. Tatarchuk, and J. Isidoro, “Accelerating Real-Time
Shading with Reverse Reprojection Caching,” in Graphics Hardware 2007, Eurographics As-
sociation, pp. 25–35, Aug. 2007. Cited on p. 522, 523
[1265] Nelson, Scott R., “Twelve Characteristics of Correct Antialiased Lines,” journal of graphics
tools, vol. 1, no. 4, pp. 1–20, 1996. Cited on p. 165
[1266] Neubelt, D., and M. Pettineo, “Crafting a Next-Gen Material Pipeline for The Order: 1886,”
SIGGRAPH Physically Based Shading in Theory and Practice course, July 2013. Cited on
p. 357, 365, 370
[1267] Neubelt, D., and M. Pettineo, “Crafting a Next-Gen Material Pipeline for The Order: 1886,”
Game Developers Conference, Mar. 2014. Cited on p. 365, 370, 466, 896
[1268] Neubelt, D., and M. Pettineo, “Advanced Lighting R&D at Ready At Dawn Studios,” SIG-
GRAPH Physically Based Shading in Theory and Practice course, Aug. 2015. Cited on p. 398,
477, 488, 498
[1269] Ng, Ren, Ravi Ramamoorthi, and Pat Hanrahan, “All-Frequency Shadows Using Non-linear
Wavelet Lighting Approximation,” ACM Transactions on Graphics (SIGGRAPH 2003),
vol. 22, no. 3, pp. 376–281, 2003. Cited on p. 434
[1270] Ng, Ren, Ravi Ramamoorthi, and Pat Hanrahan, “Triple Product Wavelet Integrals for All-
Frequency Relighting,” ACM Transactions on Graphics (SIGGRAPH 2004), vol. 23, no. 3,
pp. 477–487, Aug. 2004. Cited on p. 402, 434, 470
[1271] Ngan, Addy, Frédo Durand, and Wojciech Matusik, “Experimental Analysis of BRDF Mod-
els,” in 16th Eurographics Symposium on Rendering, Eurographics Association, pp. 117–126,
June–July 2005. Cited on p. 338, 343
[1272] Nguyen, Hubert, “Casting Shadows on Volumes,” Game Developer, vol. 6, no. 3, pp. 44–53,
Mar. 1999. Cited on p. 229
[1273] Nguyen, Hubert, “Fire in the ‘Vulcan’ Demo,” in Randima Fernando, ed., GPU Gems,
Addison-Wesley, pp. 87–105, 2004. Cited on p. 152, 521, 554
1118 Bibliography

[1274] Nguyen, Hubert, and William Donnelly, “Hair Animation and Rendering in the ‘Nalu’ Demo,”
in Matt Pharr, ed., GPU Gems 2, Addison-Wesley, pp. 361–380, 2005. Cited on p. 257, 644,
719, 730
[1275] Ni, T., I. Castaño, J. Peters, J. Mitchell, P. Schneider, and V. Verma, SIGGRAPH Efficient
Substitutes for Subdivision Surfaces course, Aug. 2009. Cited on p. 767, 781
[1276] Nichols, Christopher, “The Truth about Unbiased Rendering,” Chaosgroup Labs blog, Sept.
29, 2016. Cited on p. 1043
[1277] Nicodemus, F. E., J. C. Richmond, J. J. Hsia, I. W. Ginsberg, and T. Limperis, “Geometric
Considerations and Nomenclature for Reflectance,” National Bureau of Standards (US), Oct.
1977. Cited on p. 310, 634
[1278] Nienhuys, Han-Wen, Jim Arvo, and Eric Haines, “Results of Sphere in Box Ratio Contest,”
Ray Tracing News, vol. 10, no. 1, Jan. 1997. Cited on p. 953
[1279] Nießner, M., C. Loop, M. Meyer, and T. DeRose, “Feature-Adaptive GPU Rendering of
Catmull-Clark Subdivision Surfaces,” ACM Transactions on Graphics, vol. 31, no. 1, pp. 6:1–
6:11, Jan. 2012. Cited on p. 771, 774, 777, 778, 779
[1280] Nießner, M., C. Loop, and G. Greiner, “Efficient Evaluation of Semi-Smooth Creases in
Catmull-Clark Subdivision Surfaces,” in Eurographics 2012—Short Papers, Eurographics As-
sociation, pp. 41–44, May 2012. Cited on p. 777
[1281] Nießner, M., and C. Loop, “Analytic Displacement Mapping Using Hardware Tessellation,”
ACM Transactions on Graphics, vol. 32, no. 3, pp. 26:1–26:9, 2013. Cited on p. 766, 773
[1282] Nießner, M., Rendering Subdivision Surfaces Using Hardware Tessellation, PhD thesis,
Friedrich-Alexander-Universität Erlangen-Nürnberg, 2013. Cited on p. 777, 779, 781
[1283] Nießner, M., B. Keinert, M. Fisher, M. Stamminger, C. Loop, and H. Schäfer, “Real-Time
Rendering Techniques with Hardware Tessellation,” Computer Graphics Forum, vol. 35, no. 1,
pp. 113–137, 2016. Cited on p. 773, 781, 879
[1284] Nishita, Tomoyuki, Thomas W. Sederberg, and Masanori Kakimoto, “Ray Tracing Trimmed
Rational Surface Patches,” Computer Graphics (SIGGRAPH ’90 Proceedings), vol. 24, no. 4,
pp. 337–345, Aug. 1990. Cited on p. 967
[1285] Nishita, Tomoyuki, Takao Sirai, Katsumi Tadamura, and Eihachiro Nakamae, “Display of
the Earth Taking into Account Atmospheric Scattering,” in SIGGRAPH ’93: Proceedings
of the 20th Annual Conference on Computer Graphics and Interactive Techniques, ACM,
pp. 175–182, Aug. 1993. Cited on p. 614
[1286] Nöll, Tobias, and Didier Stricker, “Efficient Packing of Arbitrarily Shaped Charts for Auto-
matic Texture Atlas Generation,” in Proceedings of the Twenty-Second Eurographics Confer-
ence on Rendering, Eurographics Association, pp. 1309–1317, 2011. Cited on p. 191
[1287] Northrup, J. D., and Lee Markosian, “Artistic Silhouettes: A Hybrid Approach,” in Proceed-
ings of the 1st International Symposium on Non-photorealistic Animation and Rendering,
ACM, pp. 31–37, June 2000. Cited on p. 668
[1288] Novák, J., and C. Dachsbacher, “Rasterized Bounding Volume Hierarchies,” Computer Graph-
ics Forum, vol. 31, no. 2, pp. 403–412, 2012. Cited on p. 565
[1289] Novosad, Justin, “Advanced High-Quality Filtering,” in Matt Pharr, ed., GPU Gems 2,
Addison-Wesley, pp. 417–435, 2005. Cited on p. 136, 517, 521
[1290] Nowrouzezahrai, Derek, Patricio Simari, and Eugene Fiume, “Sparse Zonal Harmonic Fac-
torization for Efficient SH Rotation,” ACM Transactions on Graphics, vol. 31, no. 3, article
no. 23, 2012. Cited on p. 401
[1291] Nuebel, Markus, “Hardware-Accelerated Charcoal Rendering,” in Wolfgang Engel, ed.,
ShaderX3 , Charles River Media, pp. 195–204, 2004. Cited on p. 671
Bibliography 1119

[1292] Nummelin, Niklas, “Frostbite on Mobile,” SIGGRAPH Moving Mobile Graphics course, Aug.
2015. Cited on p. 903
[1293] NVIDIA Corporation, “Improve Batching Using Texture Atlases,” SDK White Paper, 2004.
Cited on p. 191
[1294] NVIDIA Corporation, “GPU Programming Exposed: The Naked Truth Behind NVIDIA’s
Demos,” SIGGRAPH Exhibitor Tech Talk, Aug. 2005. Cited on p. 531
[1295] NVIDIA Corporation, “Solid Wireframe,” White Paper, WP-03014-001 v01, Feb. 2007. Cited
on p. 673, 675
[1296] NVIDIA Corporation, “NVIDIA GF100—World’s Fastest GPU Delivering Great Gaming Per-
formance with True Geometric Realism,” White Paper, 2010. Cited on p. 1031
[1297] NVIDIA Corporation, “NVIDIA GeForce GTX 1080—Gaming Perfected,” White Paper, 2016.
Cited on p. 929, 1029, 1030, 1032, 1033
[1298] NVIDIA Corporation, “NVIDIA Tesla P100—The Most Advanced Datacenter Accelerator
Ever Built,” White Paper, 2016. Cited on p. 1029, 1030, 1034
[1299] NVIDIA GameWorks DirectX Samples, https://developer.nvidia.com/gameworks-directx
-samples. Cited on p. 888, 914
[1300] NVIDIA SDK 10, http://developer.download.nvidia.com/SDK/10/direct3d/samples.html,
2008. Cited on p. 48, 255, 558, 647
[1301] NVIDIA SDK 11, https://developer.nvidia.com/dx11-samples. Cited on p. 46, 55, 150
[1302] Nystad, J., A. Lassen, A. Pomianowski, S. Ellis, and T. Olson, “Adaptive Scalable Texture
Compression,” in Proceedings of the Fourth ACM SIGGRAPH / Eurographics Conference on
High-Performance Graphics, Eurographics Association, pp. 105–114, June 2012. Cited on
p. 196
[1303] Oat, Chris, “A Steerable Streak Filter,” in Wolfgang Engel, ed., ShaderX3 , Charles River
Media, pp. 341–348, 2004. Cited on p. 520, 524, 525
[1304] Oat, Chris, “Irradiance Volumes for Games,” Game Developers Conference, Mar. 2005. Cited
on p. 487
[1305] Oat, Chris, “Irradiance Volumes for Real-Time Rendering,” in Wolfgang Engel, ed., ShaderX5 ,
Charles River Media, pp. 333–344, 2006. Cited on p. 487
[1306] Oat, Christopher, and Pedro V. Sander, “Ambient Aperture Lighting,” SIGGRAPH Advanced
Real-Time Rendering in 3D Graphics and Games course, Aug. 2006. Cited on p. 466
[1307] Oat, Christopher, and Pedro V. Sander, “Ambient Aperture Lighting,” in Proceedings of the
2007 Symposium on Interactive 3D Graphics and Games, ACM, pp. 61–64, Apr.–May 2007.
Cited on p. 466, 467, 470
[1308] Oat, Christopher, and Thorsten Scheuermann, “Computing Per-Pixel Object Thickness in
a Single Render Pass,” in Wolfgang Engel, ed., ShaderX6 , Charles River Media, pp. 57–62,
2008. Cited on p. 602
[1309] Obert, Juraj, J. M. P. van Waveren, and Graham Sellers, SIGGRAPH Virtual Texturing in
Software and Hardware course, Aug. 2012. Cited on p. 867
[1310] Ochiai, H., K. Anjyo, and A. Kimura, SIGGRAPH An Elementary Introduction to Matrix
Exponential for CG course, July 2016. Cited on p. 102
[1311] Oculus Best Practices, Oculus VR, LLC, 2017. Cited on p. 920, 923, 924, 925, 928, 932, 933,
935, 936, 937, 939
[1312] O’Donnell, Yuriy, and Matthäus G. Chajdas, “Tiled Light Trees,” Symposium on Interactive
3D Graphics and Games, Feb. 2017. Cited on p. 903
1120 Bibliography

[1313] O’Donnell, Yuriy, “FrameGraph: Extensible Rendering Architecture in Frostbite,” Game De-
velopers Conference, Feb.–Mar. 2017. Cited on p. 514, 520, 812, 814
[1314] Ofek, E., and A. Rappoport, “Interactive Reflections on Curved Objects,” in SIGGRAPH
’98: Proceedings of the 25th Annual Conference on Computer Graphics and Interactive Tech-
niques, ACM, pp. 333–342, July 1998. Cited on p. 505
[1315] Ohlarik, Deron, “Bounding Sphere,” AGI blog, Feb. 4, 2008. Cited on p. 950
[1316] Ohlarik, Deron, “Precisions, Precisions,” AGI blog, Sept. 3, 2008. Cited on p. 715
[1317] Olano, M., and T. Greer, “Triangle Scan Conversion Using 2D Homogeneous Coordinates,” in
Proceedings of the ACM SIGGRAPH/EUROGRAPHICS Workshop on Graphics Hardware,
ACM, pp. 89–95, Aug. 1997. Cited on p. 832, 999
[1318] Olano, Marc, Bob Kuehne, and Maryann Simmons, “Automatic Shader Level of Detail,” in
Graphics Hardware 2003, Eurographics Association, pp. 7–14, July 2003. Cited on p. 853
[1319] Olano, Marc, “Modified Noise for Evaluation on Graphics Hardware,” in Graphics Hardware
2005, Eurographics Association, pp. 105–110, July 2005. Cited on p. 199
[1320] Olano, Marc, and Dan Baker, “LEAN Mapping,” in Proceedings of the 2010 ACM SIG-
GRAPH Symposium on Interactive 3D Graphics and Games, ACM, pp. 181–188, 2010. Cited
on p. 370
[1321] Olano, Marc, Dan Baker, Wesley Griffin, and Joshua Barczak, “Variable Bit Rate GPU Tex-
ture Decompression,” in Proceedings of the Twenty-Second Eurographics Symposium on Ren-
dering Techniques, Eurographics Association, pp. 1299–1308, June 2011. Cited on p. 871
[1322] Olick, Jon, “Segment Buffering,” in Matt Pharr, ed., GPU Gems 2, Addison-Wesley, pp. 69–
73, 2005. Cited on p. 797
[1323] Olick, Jon, “Current Generation Parallelism in Games,” SIGGRAPH Beyond Programmable
Shading course, Aug. 2008. Cited on p. 584
[1324] Oliveira, Manuel M., Gary Bishop, and David McAllister, “Relief Texture Mapping,” in SIG-
GRAPH ’00: Proceedings of the 27th Annual Conference on Computer Graphics and Interac-
tive Techniques, ACM Press/Addison-Wesley Publishing Co., pp. 359–368, July 2000. Cited
on p. 565
[1325] Oliveira, Manuel M., and Fabio Policarpo, “An Efficient Representation for Surface Details,”
Technical Report RP-351, Universidade Federal do Rio Grande do Sul, Jan. 26, 2005. Cited
on p. 220
[1326] Oliveira, Manuel M., and Maicon Brauwers, “Real-Time Refraction Through Deformable Ob-
jects,” in Proceedings of the 2007 Symposium on Interactive 3D Graphics and Games, ACM,
pp. 89–96, Apr.–May 2007. Cited on p. 630
[1327] Olsson, O., and U. Assarsson, “Tiled Shading,” Journal of Graphics, GPU, and Game Tools,
vol. 15, no. 4, pp. 235–251, 2011. Cited on p. 882, 894, 895
[1328] Olsson, O., M. Billeter, and U. Assarsson, “Clustered Deferred and Forward Shading,” in
High-Performance Graphics 2012, Eurographics Association, pp. 87–96, June 2012. Cited on
p. 899, 900, 901, 903
[1329] Olsson, O., M. Billeter, and U. Assarsson, “Tiled and Clustered Forward Shading: Supporting
Transparency and MSAA,” in ACM SIGGRAPH 2012 Talks, ACM, article no. 37, Aug. 2012.
Cited on p. 899, 900
[1330] Olsson, Ola, Markus Billeter, and Erik Sintorn, “More Efficient Virtual Shadow Maps for
Many Lights,” IEEE Transactions on Visualization and Computer Graphics, vol. 21, no. 6,
pp. 701–713, June 2015. Cited on p. 247, 882, 904
[1331] Olsson, Ola, “Efficient Shadows from Many Lights,” SIGGRAPH Real-Time Many-Light
Management and Shadows with Clustered Shading course, Aug. 2015. Cited on p. 904, 914
Bibliography 1121

[1332] Olsson, Ola, “Introduction to Real-Time Shading with Many Lights,” SIGGRAPH Real-Time
Many-Light Management and Shadows with Clustered Shading course, Aug. 2015. Cited on
p. 886, 892, 893, 900, 904, 905, 914, 1042
[1333] O’Neil, Sean, “Accurate Atmospheric Scattering,” in Matt Pharr, ed., GPU Gems 2, Addison-
Wesley, pp. 253–268, 2005. Cited on p. 614
[1334] van Oosten, Jeremiah, “Volume Tiled Forward Shading,” 3D Game Engine Programming
website, July 18, 2017. Cited on p. 900, 914
[1335] Open 3D Graphics Compression, Khronos Group, 2013. Cited on p. 712
[1336] OpenVDB, http://openvdb.org, 2017. Cited on p. 578
[1337] Oren, Michael, and Shree K. Nayar, “Generalization of Lambert’s Reflectance Model,” in
SIGGRAPH ’94: Proceedings of the 21st Annual Conference on Computer Graphics and
Interactive Techniques, ACM, pp. 239–246, July 1994. Cited on p. 331, 354
[1338] O’Rourke, Joseph, “Finding Minimal Enclosing Boxes,” International Journal of Computer
& Information Sciences, vol. 14, no. 3, pp. 183–199, 1985. Cited on p. 951
[1339] O’Rourke, Joseph, Computational Geometry in C, Second Edition, Cambridge University
Press, 1998. Cited on p. 685, 686, 967
[1340] Örtegren, Kevin, and Emil Persson, “Clustered Shading: Assigning Lights Using Conservative
Rasterization in DirectX 12,” in Wolfgang Engel, ed., GPU Pro7 , CRC Press, pp. 43–68, 2016.
Cited on p. 901, 914
[1341] van Overveld, C. V. A. M., and B. Wyvill, “An Algorithm for Polygon Subdivision Based on
Vertex Normals,” in Computer Graphics International ’97, IEEE Computer Society, pp. 3–12,
June 1997. Cited on p. 744
[1342] van Overveld, C. V. A. M., and B. Wyvill, “Phong Normal Interpolation Revisited,” ACM
Transactions on Graphics, vol. 16, no. 4, pp. 397–419, Oct. 1997. Cited on p. 746
[1343] Ownby, John-Paul, Chris Hall, and Rob Hall, “Toy Story 3: The Video Game—Rendering
Techniques,” SIGGRAPH Advances in Real-Time Rendering in 3D Graphics and Games
course, July 2010. Cited on p. 230, 249, 519
[1344] Paeth, Alan W., ed., Graphics Gems V, Academic Press, 1995. Cited on p. 102, 991
[1345] Pagán, Tito, “Efficient UV Mapping of Complex Models,” Game Developer, vol. 8, no. 8,
pp. 28–34, Aug. 2001. Cited on p. 171, 173
[1346] Palandri, Rémi, and Simon Green, “Hybrid Mono Rendering in UE4 and Unity,” Oculus
Developer Blog, Sept. 30, 2016. Cited on p. 928
[1347] Pallister, Kim, “Generating Procedural Clouds Using 3D Hardware,” in Mark DeLoura, ed.,
Game Programming Gems 2, Charles River Media, pp. 463–473, 2001. Cited on p. 556
[1348] Pangerl, David, “Quantized Ring Clipping,” in Wolfgang Engel, ed., ShaderX6 , Charles River
Media, pp. 133–140, 2008. Cited on p. 873
[1349] Pangerl, David, “Practical Thread Rendering for DirectX 9,” in Wolfgang Engel, ed., GPU
Pro, A K Peters, Ltd., pp. 541–546, 2010. Cited on p. 814
[1350] Pantaleoni, Jacopo, “VoxelPipe: A Programmable Pipeline for 3D Voxelization,” in High-
Performance Graphics 2011, Eurographics Association, pp. 99–106, Aug. 2011. Cited on
p. 581
[1351] Papathanasis, Andreas, “Dragon Age II DX11 Technology,” Game Developers Conference,
Mar. 2011. Cited on p. 252, 892
[1352] Papavasiliou, D., “Real-Time Grass (and Other Procedural Objects) on Terrain,” Journal of
Computer Graphics Techniques, vol. 4, no. 1, pp. 26–49, 2015. Cited on p. 864
1122 Bibliography

[1353] Parberry, Ian, “Amortized Noise,” Journal of Computer Graphics Techniques, vol. 3, no. 2,
pp. 31–47, 2014. Cited on p. 199
[1354] Parent, R., Computer Animation: Algorithms & Techniques, Third Edition, Morgan Kauf-
mann, 2012. Cited on p. 102
[1355] Paris, Sylvain, Pierre Kornprobst, Jack Tumblin, and Frédo Durand, SIGGRAPH A Gentle
Introduction to Bilateral Filtering and Its Applications course, Aug. 2007. Cited on p. 518,
520, 543
[1356] Parker, Steven, William Martin, Peter-Pike J. Sloan, Peter Shirley, Brian Smits, and Charles
Hansen, “Interactive Ray Tracing,” in Proceedings of the 1999 Symposium on Interactive 3D
Graphics, ACM, pp. 119–134, 1999. Cited on p. 432
[1357] Patney, Anjul, Marco Salvi, Joohwan Kim, Anton Kaplanyan, Chris Wyman, Nir Benty, David
Luebke, and Aaron Lefohn, “Towards Foveated Rendering for Gaze-Tracked Virtual Reality,”
ACM Transactions on Graphics, vol. 35, no. 6, article no. 179, 2016. Cited on p. 143, 924,
931, 932
[1358] Patney, Anuj, SIGGRAPH Applications of Visual Perception to Virtual Reality course, Aug.
2017. Cited on p. 931, 940
[1359] Patry, Jasmin, “HDR Display Support in Infamous Second Son and Infamous First Light
(Part 1),” glowybits blog, Dec. 21, 2016. Cited on p. 287
[1360] Patry, Jasmin, “HDR Display Support in Infamous Second Son and Infamous First Light
(Part 2),” glowybits blog, Jan. 4, 2017. Cited on p. 283
[1361] Patterson, J. W., S. G. Hoggar, and J. R. Logie, “Inverse Displacement Mapping,” Computer
Graphics Forum, vol. 10 no. 2, pp. 129–139, 1991. Cited on p. 217
[1362] Paul, Richard P. C., Robot Manipulators: Mathematics, Programming, and Control, MIT
Press, 1981. Cited on p. 73
[1363] Peercy, Mark S., Marc Olano, John Airey, and P. Jeffrey Ungar, “Interactive Multi-Pass
Programmable Shading,” in SIGGRAPH ’00: Proceedings of the 27th Annual Conference on
Computer Graphics and Interactive Techniques, ACM Press/Addison-Wesley Publishing Co.,
pp. 425–432, July 2000. Cited on p. 38
[1364] Pegoraro, Vincent, Mathias Schott, and Steven G. Parker, “An Analytical Approach to Sin-
gle Scattering for Anisotropic Media and Light Distributions,” in Graphics Interface 2009,
Canadian Information Processing Society, pp. 71–77, 2009. Cited on p. 604
[1365] Pellacini, Fabio, “User-Configurable Automatic Shader Simplification,” ACM Transactions
on Graphics (SIGGRAPH 2005), vol. 24, no. 3, pp. 445–452, Aug. 2005. Cited on p. 853
[1366] Pellacini, Fabio, Miloš Hašan, and Kavita Bala, “Interactive Cinematic Relighting with Global
Illumination,” in Hubert Nguyen, ed., GPU Gems 3, Addison-Wesley, pp. 183–202, 2007.
Cited on p. 547
[1367] Pelzer, Kurt, “Rendering Countless Blades of Waving Grass,” in Randima Fernando, ed.,
GPU Gems, Addison-Wesley, pp. 107–121, 2004. Cited on p. 202
[1368] Penner, E., “Shader Amortization Using Pixel Quad Message Passing,” in Wolfgang Engel,
ed., GPU Pro2 , A K Peters/CRC Press, pp. 349–367, 2011. Cited on p. 1017, 1018
[1369] Penner, E., “Pre-Integrated Skin Shading,” SIGGRAPH Advances in Real-Time Rendering
in Games course, Aug. 2011. Cited on p. 634
[1370] Perlin, Ken, “An Image Synthesizer,” Computer Graphics (SIGGRAPH ’85 Proceedings),
vol. 19, no. 3, pp. 287–296, July 1985. Cited on p. 198, 199
[1371] Perlin, Ken, and Eric M. Hoffert, “Hypertexture,” Computer Graphics (SIGGRAPH ’89
Proceedings), vol. 23, no. 3, pp. 253–262, July 1989. Cited on p. 198, 199, 618
Bibliography 1123

[1372] Perlin, Ken, “Improving Noise,” ACM Transactions on Graphics (SIGGRAPH 2002), vol. 21,
no. 3, pp. 681–682, 2002. Cited on p. 181, 198, 199
[1373] Perlin, Ken, “Implementing Improved Perlin Noise,” in Randima Fernando, ed., GPU Gems,
Addison-Wesley, pp. 73–85, 2004. Cited on p. 199, 620
[1374] Persson, Emil, “Alpha to Coverage,” Humus blog, June 23, 2005. Cited on p. 204
[1375] Persson, Emil, “Post-Tonemapping Resolve for High-Quality HDR Anti-aliasing in D3D10,”
in Wolfgang Engel, ed., ShaderX6 , Charles River Media, pp. 161–164, 2008. Cited on p. 142
[1376] Persson, Emil, “GPU Texture Compression,” Humus blog, Apr. 12, 2008. Cited on p. 870
[1377] Persson, Emil, “Linearize Depth,” Humus blog, Aug. 2, 2008. Cited on p. 601
[1378] Persson, Emil, “Performance,” Humus blog, July 22, 2009. Cited on p. 790
[1379] Persson, Emil, “Making It Large, Beautiful, Fast, and Consistent: Lessons Learned Developing
Just Cause 2,” in Wolfgang Engel, ed., GPU Pro, A K Peters, Ltd., pp. 571–596, 2010. Cited
on p. 114, 556, 558, 715, 882
[1380] Persson, Emil, “Volume Decals,” in Wolfgang Engel, ed., GPU Pro2 , A K Peters/CRC Press,
pp. 115–120, 2011. Cited on p. 889, 890
[1381] Persson, Emil, “Creating Vast Game Worlds: Experiences from Avalanche Studios,” in ACM
SIGGRAPH 2012 Talks, ACM, article no. 32, Aug. 2012. Cited on p. 69, 210, 245, 714, 715,
796, 797
[1382] Persson, Emil, “Graphics Gems for Games: Findings from Avalanche Studios,” SIGGRAPH
Advances in Real-Time Rendering in Games course, Aug. 2012. Cited on p. 556, 797, 798
[1383] Persson, Emil, “Low-Level Thinking in High-Level Shading Languages,” Game Developers
Conference, Mar. 2013. Cited on p. 788
[1384] Persson, Emil, “Wire Antialiasing,” in Wolfgang Engel, ed., GPU Pro5 , CRC Press, pp. 211–
218, 2014. Cited on p. 139
[1385] Persson, Emil, “Low-Level Shader Optimization for Next-Gen and DX11,” Game Developers
Conference, Mar. 2014. Cited on p. 788
[1386] Persson, Emil, “Clustered Shading,” Humus blog, Mar. 24, 2015. Cited on p. 905, 914
[1387] Persson, Emil, “Practical Clustered Shading,” SIGGRAPH Real-Time Many-Light Manage-
ment and Shadows with Clustered Shading course, Aug. 2015. Cited on p. 883, 886, 888, 896,
897, 899, 900, 901, 914
[1388] Persson, Tobias, “Practical Particle Lighting,” Game Developers Conference, Mar. 2012. Cited
on p. 569
[1389] Pesce, Angelo, “Stable Cascaded Shadow Maps—Ideas,” C0DE517E blog, Mar. 27, 2011.
Cited on p. 245
[1390] Pesce, Angelo, “Current-Gen DOF and MB,” C0DE517E blog, Jan. 4, 2012. Cited on p. 532,
534, 542
[1391] Pesce, Angelo, “33 Milliseconds in the Life of a Space Marine...,” SCRIBD presentation, Oct.
8, 2012. Cited on p. 238, 245, 250, 518, 527, 542, 889
[1392] Pesce, Angelo, “Smoothen Your Functions,” C0DE517E blog, Apr. 26, 2014. Cited on p. 200
[1393] Pesce, Angelo, “Notes on Real-Time Renderers,” C0DE517E blog, Sept. 3, 2014. Cited on
p. 882, 884, 889, 913
[1394] Pesce, Angelo, “Notes on G-Buffer Normal Encodings,” C0DE517E blog, Jan. 24, 2015. Cited
on p. 715, 887
[1395] Pesce, Angelo, “Being More Wrong: Parallax Corrected Environment Maps,” C0DE517E
blog, Mar. 28, 2015. Cited on p. 502
1124 Bibliography

[1396] Pesce, Angelo, “Low-Resolution Effects with Depth-Aware Upsampling,” C0DE517E blog,
Feb. 6, 2016. Cited on p. 520
[1397] Pesce, Angelo, “The Real-Time Rendering Continuum: A Taxonomy,” C0DE517E blog, Aug.
6, 2016. Cited on p. 913
[1398] Peters, Christoph, and Reinhard Klein, “Moment Shadow Mapping,” in Proceedings of the
19th Symposium on Interactive 3D Graphics and Games, ACM, pp. 7–14, Feb.–Mar. 2015.
Cited on p. 256
[1399] Peters, Christoph, Cedrick Münstermann, Nico Wetzstein, and Reinhard Klein, “Improved
Moment Shadow Maps for Translucent Occluders, Soft Shadows and Single Scattering,” Jour-
nal of Computer Graphics Techniques, vol. 6, no. 1, pp. 17–67, 2017. Cited on p. 257
[1400] Pettineo, Matt, “How to Fake Bokeh (and Make It Look Pretty Good),” The Danger Zone
blog, Feb. 28, 2011. Cited on p. 536
[1401] Pettineo, Matt, “Light-Indexed Deferred Rendering,” The Danger Zone blog, Mar. 31, 2012.
Cited on p. 896, 905, 914
[1402] Pettineo, Matt, “Experimenting with Reconstruction Filters for MSAA Resolve,” The Danger
Zone blog, Oct. 28, 2012. Cited on p. 136, 142
[1403] Pettineo, Matt, “A Sampling of Shadow Techniques,” The Danger Zone blog, Sept. 10, 2013.
Cited on p. 54, 238, 245, 250, 265
[1404] Pettineo, Matt, “Shadow Sample Update,” The Danger Zone blog, Feb. 18, 2015. Cited on
p. 256, 265
[1405] Pettineo, Matt, “Rendering the Alternate History of The Order: 1886,” SIGGRAPH Advances
in Real-Time Rendering in Games course, Aug. 2015. Cited on p. 141, 142, 143, 245, 256,
257, 803, 896
[1406] Pettineo, Matt, “Stairway to (Programmable Sample Point) Heaven,” The Danger Zone blog,
Sept. 13, 2015. Cited on p. 142, 906
[1407] Pettineo, Matt, “Bindless Texturing for Deferred Rendering and Decals,” The Danger Zone
blog, Mar. 25, 2016. Cited on p. 192, 888, 900, 901, 907
[1408] Pettineo, Matt, “SG Series Part 6: Step into the Baking Lab,” The Danger Zone blog, Oct.
9, 2016. Cited on p. 398, 477, 536, 540
[1409] Pfister, Hans-Peter, Matthias Zwicker, Jeroen van Barr, and Markus Gross, “Surfels: Surface
Elements as Rendering Primitives,” in SIGGRAPH ’00: Proceedings of the 27th Annual
Conference on Computer Graphics and Interactive Techniques, ACM Press/Addison-Wesley
Publishing Co., pp. 335–342, July 2000. Cited on p. 573
[1410] Phail-Liff, Nathan, Scot Andreason, and Anthony Vitale, “Crafting Victorian London: The
Environment Art and Material Pipelines of The Order: 1886,” in ACM SIGGRAPH 2015
Talks, ACM, article no. 59, Aug. 2015. Cited on p. 365
[1411] Pharr, Matt, “Fast Filter Width Estimates with Texture Maps,” in Randima Fernando, ed.,
GPU Gems, Addison-Wesley, pp. 417–424, 2004. Cited on p. 185
[1412] Pharr, Matt, and Simon Green, “Ambient Occlusion,” in Randima Fernando, ed., GPU Gems,
Addison-Wesley, pp. 279–292, 2004. Cited on p. 452, 465
[1413] Pharr, Matt, Wenzel Jakob, and Greg Humphreys, Physically Based Rendering: From Theory
to Implementation, Third Edition, Morgan Kaufmann, 2016. Cited on p. 136, 144, 145, 165,
271, 442, 445, 512, 589, 623, 630
[1414] Phong, Bui Tuong, “Illumination for Computer Generated Pictures,” Communications of the
ACM, vol. 18, no. 6, pp. 311–317, June 1975. Cited on p. 118, 340, 417
[1415] Picott, Kevin P., “Extensions of the Linear and Area Lighting Models,” Computer Graphics,
vol. 18, no. 2, pp. 31–38, Mar. 1992. Cited on p. 385, 387
Bibliography 1125

[1416] Piegl, Les A., and Wayne Tiller, The NURBS Book, Second Edition, Springer-Verlag, 1997.
Cited on p. 781
[1417] Pineda, Juan, “A Parallel Algorithm for Polygon Rasterization,” Computer Graphics (SIG-
GRAPH ’88 Proceedings), vol. 22, no. 4, pp. 17–20, Aug. 1988. Cited on p. 994
[1418] Pines, Josh, “From Scene to Screen,” SIGGRAPH Color Enhancement and Rendering in
Film and Game Production course, July 2010. Cited on p. 285, 289
[1419] Piponi, Dan, and George Borshukov, “Seamless Texture Mapping of Subdivision Surfaces by
Model Pelting and Texture Blending,” in SIGGRAPH ’00: Proceedings of the 27th Annual
Conference on Computer Graphics and Interactive Techniques, ACM Press/Addison-Wesley
Publishing Co., pp. 471–478, July 2000. Cited on p. 767
[1420] Placeres, Frank Puig, “Overcoming Deferred Shading Drawbacks,” in Wolfgang Engel, ed.,
ShaderX5 , Charles River Media, pp. 115–130, 2006. Cited on p. 886, 887
[1421] Pletinckx, Daniel, “Quaternion Calculus as a Basic Tool in Computer Graphics,” The Visual
Computer, vol. 5, no. 1, pp. 2–13, 1989. Cited on p. 102
[1422] Pochanayon, Adisak, “Capturing and Visualizing RealTime GPU Performance in Mortal
Kombat X,” Game Developers Conference, Mar. 2016. Cited on p. 790
[1423] Pohl, Daniel, Gregory S. Johnson, and Timo Bolkart, “Improved Pre-Warping for Wide Angle,
Head Mounted Displays,” in Proceedings of the 19th ACM Symposium on Virtual Reality
Software and Technology, ACM, pp. 259–262, Oct. 2013. Cited on p. 628, 925, 926
[1424] Policarpo, Fabio, Manuel M. Oliveira, and João L. D. Comba, “Real-Time Relief Mapping
on Arbitrary Polygonal Surfaces,” in Proceedings of the 2005 Symposium on Interactive 3D
Graphics and Games, ACM, pp. 155–162, Apr. 2005. Cited on p. 217, 218
[1425] Policarpo, Fabio, and Manuel M. Oliveira, “Relief Mapping of Non-Height-Field Surface De-
tails,” in Proceedings of the 2006 Symposium on Interactive 3D Graphics and Games, ACM,
pp. 55–62, Mar. 2006. Cited on p. 566
[1426] Policarpo, Fabio, and Manuel M. Oliveira, “Relaxed Cone Stepping for Relief Mapping,” in
Hubert Nguyen, ed., GPU Gems 3, Addison-Wesley, pp. 409–428, 2007. Cited on p. 219
[1427] Pool, J., A. Lastra, and M. Singh, “Lossless Compression of Variable-Precision Floating-Point
Buffers on GPUs,” in Proceedings of the ACM SIGGRAPH Symposium on Interactive 3D
Graphics and Games, ACM, pp. 47–54, Mar. 2012. Cited on p. 1009, 1016
[1428] Porcino, Nick, “Lost Planet Parallel Rendering,” Meshula.net website, Oct. 2007. Cited on
p. 538, 647
[1429] Porter, Thomas, and Tom Duff, “Compositing Digital Images,” Computer Graphics (SIG-
GRAPH ’84 Proceedings), vol. 18, no. 3, pp. 253–259, July 1984. Cited on p. 149, 151,
153
[1430] Pötzsch, Christian, “Speeding up GPU Barrel Distortion Correction in Mobile VR,” Imagi-
nation Blog, June 15, 2016. Cited on p. 926
[1431] Poynton, Charles, Digital Video and HD: Algorithms and Interfaces, Second Edition, Morgan
Kaufmann, 2012. Cited on p. 161, 163, 166
[1432] Pranckevičius, Aras, “Compact Normal Storage for Small G-Buffers,” Aras’ blog, Mar. 25,
2010. Cited on p. 715
[1433] Pranckevičius, Aras, and Renaldas Zioma, “Fast Mobile Shaders,” SIGGRAPH Studio Talk,
Aug. 2011. Cited on p. 549, 803, 814
[1434] Pranckevičius, Aras, “Rough Sorting by Depth,” Aras’ blog, Jan. 16, 2014. Cited on p. 803
[1435] Pranckevičius, Aras, Jens Fursund, and Sam Martin, “Advanced Lighting Techniques in
Unity,” Unity DevDay, Game Developers Conference, Mar. 2014. Cited on p. 482
1126 Bibliography

[1436] Pranckevičius, Aras, “Cross Platform Shaders in 2014,” Aras’ blog, Mar. 28, 2014. Cited on
p. 129
[1437] Pranckevičius, Aras, “Shader Compilation in Unity 4.5,” Aras’ blog, May 5, 2014. Cited on
p. 129
[1438] Pranckevičius, Aras, “Porting Unity to New APIs,” SIGGRAPH An Overview of Next Gen-
eration APIs course, Aug. 2015. Cited on p. 40, 806, 814
[1439] Pranckevičius, Aras, “Every Possible Scalability Limit Will Be Reached,” Aras’ blog, Feb. 5,
2017. Cited on p. 128
[1440] Pranckevičius, Aras, “Font Rendering Is Getting Interesting,” Aras’ blog, Feb. 15, 2017. Cited
on p. 677, 679
[1441] Praun, Emil, Adam Finkelstein, and Hugues Hoppe, “Lapped Textures,” in SIGGRAPH ’00:
Proceedings of the 27th Annual Conference on Computer Graphics and Interactive Tech-
niques, ACM Press/Addison-Wesley Publishing Co., pp. 465–470, July 2000. Cited on p. 671
[1442] Praun, Emil, Hugues Hoppe, Matthew Webb, and Adam Finkelstein, “Real-Time Hatching,”
in SIGGRAPH ’01 Proceedings of the 28th Annual Conference on Computer Graphics and
Interactive Techniques, ACM, pp. 581–586, Aug. 2001. Cited on p. 670
[1443] Preetham, Arcot J., Peter Shirley, and Brian Smitsc, “A Practical Analytic Model for Day-
light,” in SIGGRAPH ’99: Proceedings of the 26th Annual Conference on Computer Graphics
and Interactive Techniques, ACM Press/Addison-Wesley Publishing Co., pp. 91–100, Aug.
1999. Cited on p. 614
[1444] Preparata, F. P., and M. I. Shamos, Computational Geometry: An Introduction, Springer-
Verlag, 1985. Cited on p. 686, 967
[1445] Preshing, Jeff, “How Ubisoft Montreal Develops Games for Multicore—Before and After
C++11,” CppCon 2014, Sept. 2014. Cited on p. 812, 815
[1446] Press, William H., Saul A. Teukolsky, William T. Vetterling, and Brian P. Flannery, Numerical
Recipes in C, Cambridge University Press, 1992. Cited on p. 948, 951, 957
[1447] Proakis, John G., and Dimitris G. Manolakis, Digital Signal Processing: Principles, Algo-
rithms, and Applications, Fourth Edition, Pearson, 2006. Cited on p. 130, 133, 135, 136
[1448] Purnomo, Budirijanto, Jonathan Bilodeau, Jonathan D. Cohen, and Subodh Kumar,
“Hardware-Compatible Vertex Compression Using Quantization and Simplification,” in
Graphics Hardware 2005, Eurographics Association, pp. 53–61, July 2005. Cited on p. 713
[1449] Quidam, Jade2 model, published by wismo, http://www.3dvia.com/wismo, 2017. Cited on
p. 653
[1450] Quı́lez, Íñigo, “Rendering Worlds with Two Triangles with Ray Tracing on the GPU in 4096
bytes,” NVScene, Aug. 2008. Cited on p. 454, 594, 752
[1451] Quı́lez, Íñigo, “Improved Texture Interpolation,” iquilezles.org, 2010. Cited on p. 180
[1452] Quı́lez, Íñigo, “Correct Frustum Culling,” iquilezles.org, 2013. Cited on p. 986
[1453] Quı́lez, Íñigo, “Efficient Stereo and VR Rendering,” in Wolfgang Engel, ed., GPU Zen, Black
Cat Publishing, pp. 241–251, 2017. Cited on p. 927, 928
[1454] Ragan-Kelley, Jonathan, Charlie Kilpatrick, Brian W. Smith, and Doug Epps, “The Light-
speed Automatic Interactive Lighting Preview System,” ACM Transactions on Graphics
(SIGGRAPH 2007), vol. 26, no. 3, 25:1–25:11, July 2007. Cited on p. 547
[1455] Ragan-Kelley, Jonathan, Jaakko Lehtinen, Jiawen Chen, Michael Doggett, and Frédo Durand,
“Decoupled Sampling for Graphics Pipelines,” ACM Transactions on Graphics, vol. 30, no. 3,
pp. 17:1–17:17, May 2011. Cited on p. 910
Bibliography 1127

[1456] Rákos, Daniel, “Massive Number of Shadow-Casting Lights with Layered Rendering,” in
Patrick Cozzi & Christophe Riccio, eds., OpenGL Insights, CRC Press, pp. 259–278, 2012.
Cited on p. 246
[1457] Rákos, Daniel, “Programmable Vertex Pulling,” in Patrick Cozzi & Christophe Riccio, eds.,
OpenGL Insights, CRC Press, pp. 293–301, 2012. Cited on p. 703
[1458] Ramamoorthi, Ravi, and Pat Hanrahan, “An Efficient Representation for Irradiance Environ-
ment Maps,” in SIGGRAPH ’01 Proceedings of the 28th Annual Conference on Computer
Graphics and Interactive Techniques, ACM, pp. 497–500, Aug. 2001. Cited on p. 426, 428,
429, 430, 431
[1459] Ramamoorthi, Ravi, and Pat Hanrahan, “Frequency Space Environment Map Rendering,”
ACM Transactions on Graphics, vol. 21, no. 3, pp. 517–526, 2002. Cited on p. 432
[1460] Raskar, Ramesh, and Michael Cohen, “Image Precision Silhouette Edges,” in Proceedings of
the 1999 Symposium on Interactive 3D Graphics, ACM, pp. 135–140, 1999. Cited on p. 657,
658
[1461] Raskar, Ramesh, “Hardware Support for Non-photorealistic Rendering,” in Graphics Hard-
ware 2001, Eurographics Association, pp. 41–46, Aug. 2001. Cited on p. 658, 660
[1462] Raskar, Ramesh, and Jack Tumblin, Computational Photography: Mastering New Techniques
for Lenses, Lighting, and Sensors, A K Peters, Ltd., 2007. Cited on p. 549
[1463] Rasmusson, J., J. Hasselgren, and T. Akenine-Möller, “Exact and Error-Bounded Approxi-
mate Color Buffer Compression and Decompression,” in Graphics Hardware 2007, Eurograph-
ics Association, pp. 41–48, Aug. 2007. Cited on p. 997, 1009
[1464] Rasmusson, J., J. Ström, and T. Akenine-Möller, “Error-Bounded Lossy Compression of
Floating-Point Color Buffers Using Quadtree Decomposition,” The Visual Computer, vol. 26,
no. 1, pp. 17–30, 2009. Cited on p. 1009
[1465] Ratcliff, John W., “Sphere Trees for Fast Visibility Culling, Ray Tracing, and Range Search-
ing,” in Mark DeLoura, ed., Game Programming Gems 2, Charles River Media, pp. 384–387,
2001. Cited on p. 821
[1466] Rauwendaal, Randall, and Mike Bailey, “Hybrid Computational Voxelization Using the
Graphics Pipeline,” Journal of Computer Graphics Techniques, vol. 2, no. 1, pp. 15–37, 2013.
Cited on p. 582
[1467] Ray, Nicolas, Vincent Nivoliers, Sylvain Lefebvre, and Bruno Lévy, “Invisible Seams,” in
Proceedings of the 21st Eurographics Conference on Rendering, Eurographics Association,
pp. 1489–1496, June 2010. Cited on p. 486
[1468] Reddy, Martin, Perceptually Modulated Level of Detail for Virtual Environments, PhD thesis,
University of Edinburgh, 1997. Cited on p. 864
[1469] Reed, Nathan, “Ambient Occlusion Fields and Decals in inFAMOUS 2,” Game Developers
Conference, Mar. 2012. Cited on p. 452
[1470] Reed, Nathan, “Quadrilateral Interpolation, Part 1,” Nathan Reed blog, May 26, 2012. Cited
on p. 688
[1471] Reed, Nathan, and Dean Beeler, “VR Direct: How NVIDIA Technology Is Improving the VR
Experience,” Game Developers Conference, Mar. 2015. Cited on p. 928, 936, 937, 938
[1472] Reed, Nathan, “Depth Precision Visualized,” Nathan Reed blog, July 3, 2015. Cited on p. 100,
1014
[1473] Reed, Nathan, “GameWorks VR,” SIGGRAPH, Aug. 2015. Cited on p. 927, 928, 929
[1474] Reeves, William T., “Particle Systems—A Technique for Modeling a Class of Fuzzy Objects,”
ACM Transactions on Graphics, vol. 2, no. 2, pp. 91–108, Apr. 1983. Cited on p. 567
1128 Bibliography

[1475] Reeves, William T., David H. Salesin, and Robert L. Cook, “Rendering Antialiased Shadows
with Depth Maps,” Computer Graphics (SIGGRAPH ’87 Proceedings), vol. 21, no. 4, pp. 283–
291, July 1987. Cited on p. 247
[1476] Rege, Ashu, “DX11 Effects in Metro 2033: The Last Refuge,” Game Developers Conference,
Mar. 2010. Cited on p. 535
[1477] Reimer, Jeremy, “Valve Goes Multicore,” ars technica website, Nov. 5, 2006. Cited on p. 812
[1478] Reinhard, Erik, Mike Stark, Peter Shirley, and James Ferwerda, “Photographic Tone Repro-
duction for Digital Images,” ACM Transactions on Graphics (SIGGRAPH 2002), vol. 21,
no. 3, pp. 267–276, July 2002. Cited on p. 286, 288
[1479] Reinhard, Erik, Greg Ward, Sumanta Pattanaik, and Paul Debevec, High Dynamic Range
Imaging: Acquisition, Display, and Image-Based Lighting, Morgan Kaufmann, 2006. Cited
on p. 406, 436
[1480] Reinhard, Erik, Erum Arif Khan, Ahmet Oguz Akyüz, and Garrett Johnson, Color Imaging:
Fundamentals and Applications, A K Peters, Ltd., 2008. Cited on p. 291
[1481] Reis, Aurelio, “Per-Pixel Lit, Light Scattering Smoke,” in Wolfgang Engel, ed., ShaderX5 ,
Charles River Media, pp. 287–294, 2006. Cited on p. 569
[1482] Ren, Zhong Ren, Rui Wang, John Snyder, Kun Zhou, Xinguo Liu, Bo Sun, Peter-Pike Sloan,
Hujun Bao, Qunsheng Peng, and Baining Guo, “Real-Time Soft Shadows in Dynamic Scenes
Using Spherical Harmonic Exponentiation,” ACM Transactions on Graphics (SIGGRAPH
2006), vol. 25, no. 3, pp. 977–986, July 2006. Cited on p. 456, 458, 467
[1483] Reshetov, Alexander, “Morphological Antialiasing,” in High-Performance Graphics 2009, Eu-
rographics Association, pp. 109–116, Aug. 2009. Cited on p. 146
[1484] Reshetov, Alexander, “Reducing Aliasing Artifacts through Resampling,” in High-Per-
formance Graphics 2012, Eurographics Association, pp. 77–86, June 2012. Cited on p. 148
[1485] Reshetov, Alexander, and David Luebke, “Infinite Resolution Textures,” in High-Performance
Graphics 2016, Eurographics Association, pp. 139–150, June 2016. Cited on p. 677
[1486] Reshetov, Alexander, and Jorge Jimenez, “MLAA from 2009 to 2017,” High-Performance
Graphics research impact retrospective, July 2017. Cited on p. 143, 146, 148, 165
[1487] Reuter, Patrick, Johannes Behr, and Marc Alexa, “An Improved Adjacency Data Structure
for Fast Triangle Stripping,” journal of graphics tools, vol. 10, no. 2, pp. 41–50, 2016. Cited
on p. 692
[1488] Revet, Burke, and Jon Riva, “Immense Zombie Horde Variety and Slicing,” Game Developers
Conference, Mar. 2014. Cited on p. 366
[1489] Revie, Donald, “Implementing Fur Using Deferred Shading,” in Wolfgang Engel, ed., GPU
Pro2 , A K Peters/CRC Press, pp. 57–75, 2011. Cited on p. 425
[1490] Rhodes, Graham, “Fast, Robust Intersection of 3D Line Segments,” in Mark DeLoura, ed.,
Game Programming Gems 2, Charles River Media, pp. 191–204, 2001. Cited on p. 990
[1491] Ribardière, Mickaël, Benjamin Bringier, Daniel Meneveaux, and Lionel Simonot, “STD: Stu-
dent’s t-Distribution of Slopes for Microfacet Based BSDFs,” Computer Graphics Forum,
vol. 36, no. 2, pp. 421–429, 2017. Cited on p. 343
[1492] Rideout, Philip, “Silhouette Extraction,” The Little Grasshopper blog, Oct. 24, 2010. Cited
on p. 47, 668
[1493] Rideout, Philip, and Dirk Van Gelder, “An Introduction to Tessellation Shaders,” in Patrick
Cozzi & Christophe Riccio, eds., OpenGL Insights, CRC Press, pp. 87–104, 2012. Cited on
p. 44, 46
[1494] Riguer, Guennadi, “Performance Optimization Techniques for ATI Graphics Hardware with
DirectX 9.0,” ATI White Paper, 2002. Cited on p. 702
Bibliography 1129

[1495] Riguer, Guennadi, “LiquidVRTM Today and Tomorrow,” Game Developers Conference, Mar.
2016. Cited on p. 928
[1496] Ring, Kevin, “Rendering the Whole Wide World on the World Wide Web,” Lecture at Ana-
lytical Graphics, Inc., Dec. 2013. Cited on p. 708
[1497] Risser, Eric, Musawir Shah, and Sumanta Pattanaik, “Faster Relief Mapping Using the Secant
Method,” journal of graphics tools, vol. 12, no. 3, pp. 17–24, 2007. Cited on p. 218
[1498] Ritschel, T., T. Grosch, M. H. Kim, H.-P. Seidel, C. Dachsbacher, and J. Kautz, “Imperfect
Shadow Maps for Efficient Computation of Indirect Illumination,” ACM Transactions on
Graphics, vol. 27, no. 5, pp. 129:1–129:8, 2008. Cited on p. 492, 578
[1499] Ritschel, Tobias, Thorsten Grosch, and Hans-Peter Seidel, “Approximating Dynamic Global
Illumination in Image Space,” in Proceedings of the 2009 Symposium on Interactive 3D Graph-
ics and Games, ACM, pp. 75–82, 2009. Cited on p. 496
[1500] Ritter, Jack, “An Efficient Bounding Sphere,” in Andrew S. Glassner, ed., Graphics Gems,
Academic Press, pp. 301–303, 1990. Cited on p. 950
[1501] Robbins, Steven, and Sue Whitesides, “On the Reliability of Triangle Intersection in 3D,” in
International Conference on Computational Science and Its Applications, Springer, pp. 923–
930, 2003. Cited on p. 974
[1502] Robinson, Alfred C., “On the Use of Quaternions in Simulation of Rigid-Body Motion,”
Technical Report 58-17, Wright Air Development Center, Dec. 1958. Cited on p. 76
[1503] Rockenbeck, Bill, “The inFAMOUS: Second Son Particle System Architecture,” Game De-
velopers Conference, Mar. 2014. Cited on p. 568, 569, 571
[1504] Rockwood, Alyn, and Peter Chambers, Interactive Curves and Surfaces: A Multimedia Tu-
torial on CAGD, Morgan Kaufmann, 1996. Cited on p. 718
[1505] Rogers, David F., Procedural Elements for Computer Graphics, Second Edition, McGraw-Hill,
1998. Cited on p. 685
[1506] Rogers, David F., An Introduction to NURBS: With Historical Perspective, Morgan Kauf-
mann, 2000. Cited on p. 781
[1507] Rohleder, Pawel, and Maciej Jamrozik, “Sunlight with Volumetric Light Rays,” in Wolfgang
Engel, ed., ShaderX6 , Charles River Media, pp. 325–330, 2008. Cited on p. 604
[1508] Rohlf, J., and J. Helman, “IRIS Performer: A High Performance Multiprocessing Toolkit for
Real-Time 3D Graphics,” in SIGGRAPH ’94: Proceedings of the 21st Annual Conference
on Computer Graphics and Interactive Techniques, ACM, pp. 381–394, July 1994. Cited on
p. 807, 809, 861
[1509] Rosado, Gilberto, “Motion Blur as a Post-Processing Effect,” in Hubert Nguyen, ed., GPU
Gems 3, Addison-Wesley, pp. 575–581, 2007. Cited on p. 538
[1510] Rossignac, J., and M. van Emmerik, M., “Hidden Contours on a Frame-Buffer,” in Proceedings
of the Seventh Eurographics Conference on Graphics Hardware, Eurographics Association,
pp. 188–204, Sept. 1992. Cited on p. 657
[1511] Rossignac, Jarek, and Paul Borrel, “Multi-resolution 3D Approximations for Rendering Com-
plex Scenes,” in Bianca Falcidieno & Tosiyasu L. Kunii, eds. Modeling in Computer Graphics:
Methods and Applications, Springer-Verlag, pp. 455–465, 1993. Cited on p. 709
[1512] Rost, Randi J., Bill Licea-Kane, Dan Ginsburg, John Kessenich, Barthold Lichtenbelt, Hugh
Malan, and Mike Weiblen, OpenGL Shading Language, Third Edition, Addison-Wesley, 2009.
Cited on p. 55, 200
[1513] Roth, Marcus, and Dirk Reiners, “Sorted Pipeline Image Composition,” in Eurographics Sym-
posium on Parallel Graphics and Visualization, Eurographics Association, pp. 119–126, 2006.
Cited on p. 1020, 1022
1130 Bibliography

[1514] Röttger, Stefan, Alexander Irion, and Thomas Ertl, “Shadow Volumes Revisited,” Journal of
WSCG (10th International Conference in Central Europe on Computer Graphics, Visualiza-
tion and Computer Vision), vol. 10, no. 1–3, pp. 373–379, Feb. 2002. Cited on p. 232
[1515] Rougier, Nicolas P., “Higher Quality 2D Text Rendering,” Journal of Computer Graphics
Techniques, vol. 1, no. 4, pp. 50–64, 2013. Cited on p. 676, 677
[1516] Rougier, Nicolas P., “Shader-Based Antialiased, Dashed, Stroked Polylines,” Journal of Com-
puter Graphics Techniques, vol. 2, no. 2, pp. 105–121, 2013. Cited on p. 669
[1517] de Rousiers, Charles, and Matt Pettineo, “Depth of Field with Bokeh Rendering,” in Patrick
Cozzi & Christophe Riccio, eds., OpenGL Insights, CRC Press, pp. 205–218, 2012. Cited on
p. 531, 536
[1518] Ruijters, Daniel, Bart M. ter Haar Romeny, and Paul Suetens, “Efficient GPU-Based Texture
Interpolation Using Uniform B-Splines,” Journal of Graphics, GPU, and Game Tools, vol. 13,
no. 4, pp. 61–69, 2008. Cited on p. 180, 733, 734
[1519] Rusinkiewicz, Szymon, and Marc Levoy, “QSplat: A Multiresolution Point Rendering Sys-
tem for Large Meshes,” in SIGGRAPH ’00: Proceedings of the 27th Annual Conference on
Computer Graphics and Interactive Techniques, ACM Press/Addison-Wesley Publishing Co.,
pp. 343–352, July 2000. Cited on p. 573
[1520] Rusinkiewicz, Szymon, Michael Burns, and Doug DeCarlo, “Exaggerated Shading for Depict-
ing Shape and Detail,” ACM Transactions on Graphics, vol. 25, no. 3, pp. 1199–1205, July
2006. Cited on p. 654
[1521] Rusinkiewicz, Szymon, Forrester Cole, Doug DeCarlo, and Adam Finkelstein, SIGGRAPH
Line Drawings from 3D Models course, Aug. 2008. Cited on p. 656, 678
[1522] Ruskin, Elan, “Streaming Sunset Overdrive’s Open World,” Game Developers Conference,
Mar. 2015. Cited on p. 871
[1523] Ryu, David, “500 Million and Counting: Hair Rendering on Ratatouille,” Pixar Technical
Memo 07-09, May 2007. Cited on p. 648
[1524] “S3TC DirectX 6.0 Standard Texture Compression,” S3 Inc. website, 1998. Cited on p. 192
[1525] Sadeghi, Iman, Heather Pritchett, Henrik Wann Jensen, and Rasmus Tamstorf, “An Artist
Friendly Hair Shading System,” in ACM SIGGRAPH 2010 Papers, ACM, article no. 56, July
2010. Cited on p. 359, 644
[1526] Sadeghi, Iman, Oleg Bisker, Joachim De Deken, and Henrik Wann Jensen, “A Practical
Microcylinder Appearance Model for Cloth Rendering,” ACM Transactions on Graphics,
vol. 32, no. 2, pp. 14:1–14:12, Apr. 2013. Cited on p. 359
[1527] Safdar, Muhammad, Guihua Cui, Youn Jin Kim, and Ming Ronnier Luo, “Perceptually Uni-
form Color Space for Image Signals Including High Dynamic Range and Wide Gamut,” Optics
Express, vol. 25, no. 13, pp. 15131–15151, June 2017. Cited on p. 276
[1528] Saito, Takafumi, and Tokiichiro Takahashi, “Comprehensible Rendering of 3-D Shapes,” Com-
puter Graphics (SIGGRAPH ’90 Proceedings), vol. 24, no. 4, pp. 197–206, Aug. 1990. Cited
on p. 661, 883, 884
[1529] Salvi, Marco, “Rendering Filtered Shadows with Exponential Shadow Maps,” in Wolfgang
Engel, ed., ShaderX6 , Charles River Media, pp. 257–274, 2008. Cited on p. 256
[1530] Salvi, Marco, “Probabilistic Approaches to Shadow Maps Filtering,” Game Developers Con-
ference, Feb. 2008. Cited on p. 256
[1531] Salvi, Marco, Kiril Vidimc̆e, Andrew Lauritzen, and Aaron Lefohn, “Adaptive Volumetric
Shadow Maps,” Computer Graphics Forum, vol. 29, no. 4, pp. 1289–1296, 2010. Cited on
p. 258, 570
Bibliography 1131

[1532] Salvi, Marco, and Karthik Vaidyanathan, “Multi-layer Alpha Blending,” in Proceedings of the
18th ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games, ACM, pp. 151–
158, 2014. Cited on p. 156, 642
[1533] Salvi, Marco, “An Excursion in Temporal Supersampling,” Game Developers Conference,
Mar. 2016. Cited on p. 143
[1534] Salvi, Marco, “Deep Learning: The Future of Real-Time Rendering?,” SIGGRAPH Open
Problems in Real-Time Rendering course, Aug. 2017. Cited on p. 1043
[1535] Samet, Hanan, Applications of Spatial Data Structures: Computer Graphics, Image Process-
ing and GIS, Addison-Wesley, 1989. Cited on p. 825
[1536] Samet, Hanan, The Design and Analysis of Spatial Data Structures, Addison-Wesley, 1989.
Cited on p. 825
[1537] Samosky, Joseph, SectionView: A System for Interactively Specifying and Visualizing Sec-
tions through Three-Dimensional Medical Image Data, MSc thesis, Department of Electrical
Engineering and Computer Science, Massachusetts Institute of Technology, 1993. Cited on
p. 969
[1538] Sanchez, Bonet, Jose Luis, and Tomasz Stachowiak, “Solving Some Common Problems in a
Modern Deferred Rendering Engine,” Develop conference, July 2012. Cited on p. 570
[1539] Sander, Pedro V., Xianfeng Gu, Steven J. Gortler, Hugues Hoppe, and John Snyder, “Silhou-
ette Clipping,” in SIGGRAPH ’00: Proceedings of the 27th Annual Conference on Computer
Graphics and Interactive Techniques, ACM Press/Addison-Wesley Publishing Co., pp. 327–
334, July 2000. Cited on p. 667
[1540] Sander, Pedro V., John Snyder, Steven J. Gortler, and Hugues Hoppe, “Texture Mapping Pro-
gressive Meshes,” in SIGGRAPH ’01 Proceedings of the 28th Annual Conference on Computer
Graphics and Interactive Techniques, ACM, pp. 409–416, Aug. 2001. Cited on p. 710
[1541] Sander, Pedro V., David Gosselin, and Jason L. Mitchell, “Real-Time Skin Rendering on
Graphics Hardware,” in ACM SIGGRAPH 2004 Sketches, ACM, p. 148, Aug. 2004. Cited
on p. 635
[1542] Sander, Pedro V., Natalya Tatarchuk, and Jason L. Mitchell, “Explicit Early-Z Culling for
Efficient Fluid Flow Simulation,” in Wolfgang Engel, ed., ShaderX5 , Charles River Media,
pp. 553–564, 2006. Cited on p. 53, 1016
[1543] Sander, Pedro V., and Jason L. Mitchell, “Progressive Buffers: View-Dependent Geometry
and Texture LOD Rendering,” SIGGRAPH Advanced Real-Time Rendering in 3D Graphics
and Games course, Aug. 2006. Cited on p. 860
[1544] Sander, Pedro V., Diego Nehab, and Joshua Barczak, “Fast Triangle Reordering for Vertex
Locality and Reduced Overdraw,” ACM Transactions on Graphics, vol. 26, no. 3, pp. 89:1–
89:9, 2007. Cited on p. 701
[1545] Sathe, Rahul P., “Variable Precision Pixel Shading for Improved Power Efficiency,” in Eric
Lengyel, ed., Game Engine Gems 3, CRC Press, pp. 101–109, 2016. Cited on p. 814
[1546] Scandolo, Leonardo, Pablo Bauszat, and Elmar Eisemann, “Merged Multiresolution Hierar-
chies for Shadow Map Compression,” Computer Graphics Forum, vol. 35, no. 7, pp. 383–390,
2016. Cited on p. 264
[1547] Schäfer, H., J. Raab, B. Keinert, M. Meyer, M. Stamminger, and M. Nießner, “Dynamic
Feature-Adaptive Subdivision,” in Proceedings of the 19th Symposium on Interactive 3D
Graphics and Games, ACM, pp. 31–38, 2014. Cited on p. 779
[1548] Schander, Thomas, and Clemens Musterle, “Real-Time Path Tracing Using a Hybrid Deferred
Approach,” GPU Technology Conference, Oct. 18, 2017. Cited on p. 510
[1549] Schaufler, G., and W. Stürzlinger, “A Three Dimensional Image Cache for Virtual Reality,”
Computer Graphics Forum, vol. 15, no. 3, pp. 227–236, 1996. Cited on p. 561, 562
1132 Bibliography

[1550] Schaufler, Gernot, “Nailboards: A Rendering Primitive for Image Caching in Dynamic
Scenes,” in Rendering Techniques ’97, Springer, pp. 151–162, June 1997. Cited on p. 564, 565
[1551] Schaufler, Gernot, “Per-Object Image Warping with Layered Impostors,” in Rendering Tech-
niques ’98, Springer, pp. 145–156, June–July 1998. Cited on p. 565
[1552] Scheib, Vincent, “Parallel Rendering with DirectX Command Buffers,” Beautiful Pixels blog,
July 22, 2008. Cited on p. 814
[1553] Scheiblauer, Claus, Interactions with Gigantic Point Clouds, PhD thesis, Vienna University
of Technology, 2016. Cited on p. 575
[1554] Schertenleib, Sebastien, “A Multithreaded 3D Renderer,” in Eric Lengyel, ed., Game Engine
Gems, Jones and Bartlett, pp. 139–147, 2010. Cited on p. 814
[1555] Scherzer, Daniel, “Robust Shadow Maps for Large Environments,” Central European Seminar
on Computer Graphics, May 2005. Cited on p. 242
[1556] Scherzer, D., S. Jeschke, and M. Wimmer, “Pixel-Correct Shadow Maps with Temporal Re-
projection and Shadow Test Confidence,” in Proceedings of the 18th Eurographics Symposium
on Rendering Techniques, Eurographics Association, pp. 45–50, 2007. Cited on p. 522, 523
[1557] Scherzer, D., and M. Wimmer, “Frame Sequential Interpolation for Discrete Level-of-Detail
Rendering,” Computer Graphics Forum, vol. 27, no. 4, 1175–1181, 2008. Cited on p. 856
[1558] Scherzer, Daniel, Michael Wimmer, and Werner Purgathofer, “A Survey of Real-Time Hard
Shadow Mapping Methods,” Computer Graphics Forum, vol. 30, no. 1, pp. 169–186, 2011.
Cited on p. 265
[1559] Scherzer, D., L. Yang, O. Mattausch, D. Nehab, P. Sander, M. Wimmer, and E. Eisemann,
“A Survey on Temporal Coherence Methods in Real-Time Rendering,” Computer Graphics
Forum, vol. 31, no. 8, pp. 2378–2408, 2011. Cited on p. 523
[1560] Scheuermann, Thorsten, “Practical Real-Time Hair Rendering and Shading,” in ACM SIG-
GRAPH 2004 Sketches, ACM, p. 147, Aug. 2004. Cited on p. 641, 644, 645
[1561] Schied, Christoph, and Carsten Dachsbacher, “Deferred Attribute Interpolation for Memory-
Efficient Deferred Shading,” in Proceedings of the 7th Conference on High-Performance
Graphics, ACM, pp. 43–49, Aug. 2015. Cited on p. 907
[1562] Schied, Christoph, and Carsten Dachsbacher, “Deferred Attribute Interpolation Shading,” in
Wolfgang Engel, ed., GPU Pro7 , CRC Press, pp. 83–96, 2016. Cited on p. 907
[1563] Schied, Christoph, Anton Kaplanyan, Chris Wyman, Anjul Patney, Chakravarty R. Alla Chai-
tanya, John Burgess, Shiqiu Liu, Carsten Dachsbacher, and Aaron Lefohn, “Spatiotemporal
Variance-Guided Filtering: Real-Time Reconstruction for Path-Traced Global Illumination,”
High Performance Graphics, July 2017. Cited on p. 511
[1564] Schilling, Andreas, G. Knittel, and Wolfgang Straßer, “Texram: A Smart Memory for Textur-
ing,” IEEE Computer Graphics and Applications, vol. 16, no. 3, pp. 32–41, May 1996. Cited
on p. 189
[1565] Schilling, Andreas, “Antialiasing of Environment Maps,” Computer Graphics Forum, vol. 20,
no. 1, pp. 5–11, 2001. Cited on p. 372
[1566] Schlag, John, “Using Geometric Constructions to Interpolate Orientations with Quaternions,”
in James Arvo, ed., Graphics Gems II, Academic Press, pp. 377–380, 1991. Cited on p. 102
[1567] Schlag, John, “Fast Embossing Effects on Raster Image Data,” in Paul S. Heckbert, ed.,
Graphics Gems IV, Academic Press, pp. 433–437, 1994. Cited on p. 211
[1568] Schlick, Christophe, “An Inexpensive BRDF Model for Physically Based Rendering,” Com-
puter Graphics Forum, vol. 13, no. 3, pp. 149–162, 1994. Cited on p. 320, 351
Bibliography 1133

[1569] Schmalstieg, Dieter, and Robert F. Tobler, “Fast Projected Area Computation for Three-
Dimensional Bounding Boxes,” journal of graphics tools, vol. 4, no. 2, pp. 37–43, 1999. Also
collected in [112]. Cited on p. 863
[1570] Schmalstieg, Dieter, and Tobias Hollerer, Augmented Reality: Principles and Practice,
Addison-Wesley, 2016. Cited on p. 917, 940
[1571] Schmittler, J. I. Wald, and P. Slusallek, “SaarCOR: A Hardware Architecture for Ray Trac-
ing,” in Graphics Hardware 2002, Eurographics Association, pp. 27–36, Sept. 2002. Cited on
p. 1039
[1572] Schneider, Andrew, and Nathan Vos, “Nubis: Authoring Realtime Volumetric Cloudscapes
with the Decima Engine,” SIGGRAPH Advances in Real-Time Rendering in Games course,
Aug. 2017. Cited on p. 619, 620
[1573] Schneider, Jens, and Rüdiger Westermann, “GPU-Friendly High-Quality Terrain Rendering,”
Journal of WSCG, vol. 14, no. 1-3, pp. 49–56, 2006. Cited on p. 879
[1574] Schneider, Philip, and David Eberly, Geometric Tools for Computer Graphics, Morgan Kauf-
mann, 2003. Cited on p. 685, 686, 716, 950, 966, 981, 987, 991
[1575] Schollmeyer, Andre, Andrey Babanin, and Bernd Fro, “Order-Independent Transparency for
Programmable Deferred Shading Pipelines,” Computer Graphics Forum, vol. 34, no. 7, pp. 67–
76, 2015. Cited on p. 887
[1576] Schorn, Peter, and Frederick Fisher, “Testing the Convexity of Polygon,” in Paul S. Heckbert,
ed., Graphics Gems IV, Academic Press, pp. 7–15, 1994. Cited on p. 686
[1577] Schott, Mathias, Vincent Pegoraro, Charles Hansen, Kévin Boulanger, and Kadi Bouatouch,
“A Directional Occlusion Shading Model for Interactive Direct Volume Rendering,” in Euro-
Vis’09, Eurographics Association, pp. 855–862, 2009. Cited on p. 607
[1578] Schott, Mathias, A. V. Pascal Grosset, Tobias Martin, Vincent Pegoraro, Sean T. Smith,
and Charles D. Hansen, “Depth of Field Effects for Interactive Direct Volume Rendering,”
Computer Graphics Forum, vol. 30, no. 3, pp. 941–950, 2011. Cited on p. 607
[1579] Schröder, Peter, and Wim Sweldens, “Spherical Wavelets: Efficiently Representing Functions
on the Sphere,” in SIGGRAPH ’95: Proceedings of the 22nd Annual Conference on Computer
Graphics and Interactive Techniques, ACM, pp. 161–172, Aug. 1995. Cited on p. 402
[1580] Schröder, Peter, “What Can We Measure?” SIGGRAPH Discrete Differential Geometry
course, Aug. 2006. Cited on p. 954
[1581] Schroders, M. F. A., and R. V. Gulik, “Quadtree Relief Mapping,” in Graphics Hardware
2006, Eurographics Association, pp. 61–66, Sept. 2006. Cited on p. 220
[1582] Schroeder, Tim, “Collision Detection Using Ray Casting,” Game Developer, vol. 8, no. 8,
pp. 50–56, Aug. 2001. Cited on p. 976
[1583] Schuetz, Markus, Potree: Rendering Large Point Clouds in Web Browsers, Diploma thesis in
Visual Computing, Vienna University of Technology, 2016. Cited on p. 574, 575, 576
[1584] Schüler, Christian, “Normal Mapping without Precomputed Tangents,” in Wolfgang Engel,
ed., ShaderX5 , Charles River Media, pp. 131–140, 2006. Cited on p. 210
[1585] Schüler, Christian, “Multisampling Extension for Gradient Shadow Maps,” in Wolfgang Engel,
ed., ShaderX5 , Charles River Media, pp. 207–218, 2006. Cited on p. 250
[1586] Schüler, Christian, “An Efficient and Physically Plausible Real Time Shading Model,” in
Wolfgang Engel, ed., ShaderX7 , Charles River Media, pp. 175–187, 2009. Cited on p. 325
[1587] Schüler, Christian, “An Approximation to the Chapman Grazing-Incidence Function for At-
mospheric Scattering,” in Wolfgang Engel, ed., GPU Pro3 , CRC Press, pp. 105–118, 2012.
Cited on p. 616
1134 Bibliography

[1588] Schüler, Christian, “Branchless Matrix to Quaternion Conversion,” The Tenth Planet blog,
Aug. 7, 2012. Cited on p. 81
[1589] Schulz, Nicolas, “Moving to the Next Generation—The Rendering Technology of Ryse,” Game
Developers Conference, Mar. 2014. Cited on p. 371, 506, 892, 893, 904
[1590] Schulz, Nicolas, and Theodor Mader, “Rendering Techniques in Ryse: Son of Rome,” SIG-
GRAPH Advances in Real-Time Rendering in Games course, Aug. 2014. Cited on p. 234,
245, 246, 251, 252, 569, 864
[1591] Schulz, Nicolas, CRYENGINE Manual, Crytek GmbH, 2016. Cited on p. 111, 113, 631
[1592] Schumacher, Dale A., “General Filtered Image Rescaling,” in David Kirk, ed., Graphics Gems
III, Academic Press, pp. 8–16, 1992. Cited on p. 184
[1593] Schwarz, Michael, and Marc Stamminger, “Bitmask Soft Shadows,” Computer Graphics Fo-
rum, vol. 26, no. 3, pp. 515–524, 2007. Cited on p. 252
[1594] Schwarz, Michael, and Hans-Peter Seidel, “Fast Parallel Surface and Solid Voxelization on
GPUs,” ACM Transactions on Graphics, vol. 29, no. 6, pp. 179:1–179:10, Dec. 2010. Cited
on p. 581
[1595] Schwarz, Michael, “Practical Binary Surface and Solid Voxelization with Direct3D 11,” in
Wolfgang Engel, ed., GPU Pro3 , CRC Press, pp. 337–352, 2012. Cited on p. 581, 582
[1596] Seetzen, Helge, Wolfgang Heidrich, Wolfgang Stuerzlinger, Greg Ward, Lorne Whitehead,
Matthew Trentacoste, Abhijeet Ghosh, and Andrejs Vorozcovs, “High Dynamic Range Display
Systems,” ACM Transactions on Graphics (SIGGRAPH 2004), vol. 23, no. 3, pp. 760–768,
Aug. 2004. Cited on p. 1011
[1597] Segal, M., C. Korobkin, R. van Widenfelt, J. Foran, and P. Haeberli, “Fast Shadows and
Lighting Effects Using Texture Mapping,” Computer Graphics (SIGGRAPH ’92 Proceedings),
vol. 26, no. 2, pp. 249–252, July 1992. Cited on p. 173, 221, 229
[1598] Segal, Mark, and Kurt Akeley, The OpenGL Graphics System: A Specification (Version 4.5),
The Khronos Group, June 2017. Editor (v1.1): Chris Frazier; Editor (v1.2–4.5): Jon Leech;
Editor (v2.0): Pat Brown. Cited on p. 845, 1033
[1599] Seiler, L. D. Carmean, E. Sprangle, T. Forsyth, M. Abrash, P. Dubey, S. Junkins, A. Lake,
J. Sugerman, R. Cavin, R. Espasa, E. Grochowski, T. Juan, and P. Hanrahan, “Larrabee: A
Many-Core x86 Architecture for Visual Computing,” ACM Transactions on Graphics, vol. 27,
no. 3, pp. 18:1–18:15, 2008. Cited on p. 230, 996, 1017
[1600] Sekulic, Dean, “Efficient Occlusion Culling,” in Randima Fernando, ed., GPU Gems, Addison-
Wesley, pp. 487–503, 2004. Cited on p. 524, 836
[1601] Selan, Jeremy, “Using Lookup Tables to Accelerate Color Transformations,” in Matt Pharr,
ed., GPU Gems 2, Addison-Wesley, pp. 381–408, 2005. Cited on p. 289, 290
[1602] Selan, Jeremy, “Cinematic Color: From Your Monitor to the Big Screen,” VES White Paper,
2012. Cited on p. 166, 283, 289, 290, 291
[1603] Selgrad, K., C. Dachsbacher, Q. Meyer, and M. Stamminger, “Filtering Multi-Layer Shadow
Maps for Accurate Soft Shadows,” Computer Graphics Forum, vol. 34, no. 1, pp. 205–215,
2015. Cited on p. 259
[1604] Selgrad, K., J. Müller, C. Reintges, and M. Stamminger, “Fast Shadow Map Rendering for
Many-Lights Settings,” in Eurographics Symposium on Rendering—Experimental Ideas &
Implementations, Eurographics Association, pp. 41–47, 2016. Cited on p. 247
[1605] Sellers, Graham, Patrick Cozzi, Kevin Ring, Emil Persson, Joel da Vahl, and J. M. P. van
Waveren, SIGGRAPH Rendering Massive Virtual Worlds course, July 2013. Cited on p. 102,
868, 874, 875, 876, 879
Bibliography 1135

[1606] Sellers, Graham, Richard S. Wright Jr., and Nicholas Haemel, OpenGL Superbible: Compre-
hensive Tutorial and Reference, Seventh Edition, Addison-Wesley, 2015. Cited on p. 55
[1607] Sen, Pradeep, Mike Cammarano, and Pat Hanrahan, “Shadow Silhouette Maps,” ACM Trans-
actions on Graphics (SIGGRAPH 2003), vol. 22, no. 3, pp. 521–526, 2003. Cited on p. 259
[1608] Senior, Andrew, “Facial Animation for Mobile GPUs,” in Wolfgang Engel, ed., ShaderX7 ,
Charles River Media, pp. 561–570, 2009. Cited on p. 90
[1609] Senior, Andrew, “iPhone 3GS Graphics Development and Optimization Strategies,” in Wolf-
gang Engel, ed., GPU Pro, A K Peters, Ltd., pp. 385–395, 2010. Cited on p. 702, 795, 804,
805
[1610] Seymour, Mike, “Manuka: Weta Digital’s New Renderer,” fxguide, Aug. 6, 2014. Cited on
p. 280
[1611] Shade, J., Steven Gortler, Li-Wei He, and Richard Szeliski, “Layered Depth Images,” in
SIGGRAPH ’98: Proceedings of the 25th Annual Conference on Computer Graphics and
Interactive Techniques, ACM, pp. 231–242, July 1998. Cited on p. 565
[1612] Shamir, Ariel, “A survey on Mesh Segmentation Techniques,” Computer Graphics Forum,
vol. 27, no. 6, pp. 1539–1556, 2008. Cited on p. 683
[1613] Shankel, Jason, “Rendering Distant Scenery with Skyboxes,” in Mark DeLoura, ed., Game
Programming Gems 2, Charles River Media, pp. 416–420, 2001. Cited on p. 548
[1614] Shankel, Jason, “Fast Heightfield Normal Calculation,” in Dante Treglia, ed., Game Program-
ming Gems 3, Charles River Media, pp. 344–348, 2002. Cited on p. 695
[1615] Shanmugam, Perumaal, and Okan Arikan, “Hardware Accelerated Ambient Occlusion Tech-
niques on GPUs,” in Proceedings of the 2007 Symposium on Interactive 3D Graphics and
Games, ACM, pp. 73–80, 2007. Cited on p. 458
[1616] Shastry, Anirudh S., “High Dynamic Range Rendering,” GameDev.net, 2004. Cited on p. 527
[1617] Sheffer, Alla, Bruno Lévy, Maxim Mogilnitsky, and Alexander Bogomyakov, “ABF++: Fast
and Robust Angle Based Flattening,” ACM Transactions on Graphics, vol. 24, no. 2, pp. 311–
330, 2005. Cited on p. 485
[1618] Shemanarev, Maxim, “Texts Rasterization Exposures,” The AGG Project, July 2007. Cited
on p. 676
[1619] Shen, Hao, Pheng Ann Heng, and Zesheng Tang, “A Fast Triangle-Triangle Overlap Test
Using Signed Distances,” journals of graphics tools, vol. 8, no. 1, pp. 17–24, 2003. Cited on
p. 974
[1620] Shen, Li, Jieqing Feng, and Baoguang Yang, “Exponential Soft Shadow Mapping,” Computer
Graphics Forum, vol. 32, no. 4, pp. 107–116, 2013. Cited on p. 257
[1621] Shene, Ching-Kuang, “Computing the Intersection of a Line and a Cylinder,” in Paul S.
Heckbert, ed., Graphics Gems IV, Academic Press, pp. 353–355, 1994. Cited on p. 959
[1622] Shene, Ching-Kuang, “Computing the Intersection of a Line and a Cone,” in Alan Paeth, ed.,
Graphics Gems V, Academic Press, pp. 227–231, 1995. Cited on p. 959
[1623] Sherif, Tarek, “WebGL 2 Examples,” GitHub repository, Mar. 17, 2017. Cited on p. 122, 125
[1624] Shewchuk, Jonathan Richard, “Adaptive Precision Floating-Point Arithmetic and Fast Robust
Geometric Predicates, Discrete and Computational Geometry, vol. 18, no. 3, pp. 305–363, Oct.
1997. Cited on p. 974
[1625] Shilov, Anton, Yaroslav Lyssenko, and Alexey Stepin, “Highly Defined: ATI Radeon HD 2000
Architecture Review,” Xbit Laboratories website, Aug. 2007. Cited on p. 142
[1626] Shirley, Peter, Physically Based Lighting Calculations for Computer Graphics, PhD thesis,
University of Illinois at Urbana Champaign, Dec. 1990. Cited on p. 143, 351
1136 Bibliography

[1627] Shirley, Peter, Helen Hu, Brian Smits, and Eric Lafortune, “A Practitioners’ Assessment of
Light Reflection Models,” in Pacific Graphics ’97, IEEE Computer Society, pp. 40–49, Oct.
1997. Cited on p. 351
[1628] Shirley, Peter, Ray Tracing in One Weekend, Ray Tracing Minibooks Book 1, 2016. Cited on
p. 512, 1047
[1629] Shirley, Peter, “New Simple Ray-Box Test from Andrew Kensler,” Pete Shirley’s Graphics
Blog, Feb. 14, 2016. Cited on p. 961
[1630] Shirman, Leon A., and Salim S. Abi-Ezzi, “The Cone of Normals Technique for Fast Processing
of Curved Patches,” Computer Graphics Forum, vol. 12, no. 3, pp. 261–272, 1993. Cited on
p. 833
[1631] Shishkovtsov, Oles, “Deferred Shading in S.T.A.L.K.E.R.,” in Matt Pharr, ed., GPU Gems
2, Addison-Wesley, pp. 143–166, 2005. Cited on p. 216, 888
[1632] Shodhan, Shalin, and Andrew Willmott, “Stylized Rendering in Spore,” in Wolfgang Engel,
ed., GPU Pro, A K Peters, Ltd., pp. 549–560, 2010. Cited on p. 678
[1633] Shoemake, Ken, “Animating Rotation with Quaternion Curves,” Computer Graphics (SIG-
GRAPH ’85 Proceedings), vol. 19, no. 3, pp. 245–254, July 1985. Cited on p. 73, 76, 80,
82
[1634] Shoemake, Ken, “Quaternions and 4 × 4 Matrices,” in James Arvo, ed., Graphics Gems II,
Academic Press, pp. 351–354, 1991. Cited on p. 80
[1635] Shoemake, Ken, “Polar Matrix Decomposition,” in Paul S. Heckbert, ed., Graphics Gems IV,
Academic Press, pp. 207–221, 1994. Cited on p. 74
[1636] Shoemake, Ken, “Euler Angle Conversion,” in Paul S. Heckbert, ed., Graphics Gems IV,
Academic Press, pp. 222–229, 1994. Cited on p. 70, 73
[1637] Shopf, J., J. Barczak, C. Oat, and N. Tatarchuk, “March of the Froblins: Simulation and
Rendering of Massive Crowds of Intelligent and Details Creatures on GPU,” SIGGRAPH
Advances in Real-Time Rendering in 3D Graphics and Games course, Aug. 2008. Cited on
p. 475, 848, 851
[1638] Sigg, Christian, and Markus Hadwiger, “Fast Third-Order Texture Filtering,” in Matt Pharr,
ed., GPU Gems 2, Addison-Wesley, pp. 313–329, 2005. Cited on p. 189, 517
[1639] Sikachev, Peter, Vladimir Egorov, and Sergey Makeev, “Quaternions Revisited,” in Wolfgang
Engel, ed., GPU Pro5 , CRC Press, pp. 361–374, 2014. Cited on p. 87, 210, 715
[1640] Sikachev, Peter, and Nicolas Longchamps, “Reflection System in Thief,” SIGGRAPH Ad-
vances in Real-Time Rendering in Games course, Aug. 2014. Cited on p. 502
[1641] Sikachev, Peter, Samuel Delmont, Uriel Doyon, and Jean-Normand Bucci, “Next-Generation
Rendering in Thief,” in Wolfgang Engel, ed., GPU Pro6 , CRC Press, pp. 65–90, 2015. Cited
on p. 251, 252
[1642] Sillion, François, and Claude Puech, Radiosity and Global Illumination, Morgan Kaufmann,
1994. Cited on p. 442, 483
[1643] Silvennoinen, Ari, and Ville Timonen, “Multi-Scale Global Illumination in Quantum Break,”
SIGGRAPH Advances in Real-Time Rendering in Games course, Aug. 2015. Cited on p. 488,
496
[1644] Silvennoinen, Ari, and Jaakko Lehtinen, “Real-Time Global Illumination by Precomputed
Local Reconstruction from Sparse Radiance Probes,” ACM Transactions on Graphics (SIG-
GRAPH Asia 2017), vol. 36, no. 6, pp. 230:1–230:13, Nov. 2017. Cited on p. 484
[1645] Sintorn, Erik, Elmar Eisemann, and Ulf Assarsson, “Sample Based Visibility for Soft Shadows
Using Alias-Free Shadow Maps,” Computer Graphics Forum, vol. 27, no. 4, pp. 1285–1292,
2008. Cited on p. 261
Bibliography 1137

[1646] Sintorn, Erik, and Ulf Assarsson, “Hair Self Shadowing and Transparency Depth Ordering
Using Occupancy Maps,” in Proceedings of the 2009 Symposium on Interactive 3D Graphics
and Games, ACM, pp. 67–74, Feb.–Mar. 2009. Cited on p. 645
[1647] Sintorn, Erik, Viktor Kämpe, Ola Olsson, and Ulf Assarsson, “Compact Precomputed Vox-
elized Shadows,” ACM Transactions on Graphics, vol. 33, no. 4, article no. 150, Mar. 2014.
Cited on p. 264, 586
[1648] Sintorn, Erik, Viktor Kämpe, Ola Olsson, and Ulf Assarsson, “Per-Triangle Shadow Volumes
Using a View-Sample Cluster Hierarchy,” in Proceedings of the 18th Meeting of the ACM
SIGGRAPH Symposium on Interactive 3D Graphics and Games, ACM, pp. 111–118, Mar.
2014. Cited on p. 233, 259
[1649] Skiena, Steven, The Algorithm Design Manual, Springer-Verlag, 1997. Cited on p. 707
[1650] Skillman, Drew, and Pete Demoreuille, “Rock Show VFX: Bringing Brütal Legend to Life,”
Game Developers Conference, Mar. 2010. Cited on p. 569, 572
[1651] Sloan, Peter-Pike, Jan Kautz, and John Snyder, “Precomputed Radiance Transfer for Real-
Time Rendering in Dynamic, Low-Frequency Lighting Environments,” ACM Transactions on
Graphics (SIGGRAPH 2002), vol. 21, no. 3, pp. 527–536, July 2002. Cited on p. 471, 479,
480
[1652] Sloan, Peter-Pike, Jesse Hall, John Hart, and John Snyder, “Clustered Principal Components
for Precomputed Radiance Transfer,” ACM Transactions on Graphics (SIGGRAPH 2003),
vol. 22, no. 3, pp. 382–391, 2003. Cited on p. 480
[1653] Sloan, Peter-Pike, Ben Luna, and John Snyder, “Local, Deformable Precomputed Radiance
Transfer,” ACM Transactions on Graphics (SIGGRAPH 2005), vol. 24, no. 3, pp. 1216–1224,
Aug. 2005. Cited on p. 432, 481
[1654] Sloan, Peter-Pike, “Normal Mapping for Precomputed Radiance Transfer,” in Proceedings of
the 2006 Symposium on Interactive 3D Graphics and Games, ACM, pp. 23–26, 2006. Cited
on p. 404
[1655] Sloan, Peter-Pike, Naga K. Govindaraju, Derek Nowrouzezahrai, and John Snyder, “Image-
Based Proxy Accumulation for Real-Time Soft Global Illumination,” in Pacific Graphics 2007,
IEEE Computer Society, pp. 97–105, Oct. 2007. Cited on p. 456, 467
[1656] Sloan, Peter-Pike, “Stupid Spherical Harmonics (SH) Tricks,” Game Developers Conference,
Feb. 2008. Cited on p. 395, 400, 402, 429, 430, 431, 432, 470
[1657] Sloan, Peter-Pike, “Efficient Spherical Harmonic Evaluation,” Journal of Computer Graphics
Techniques, vol. 2, no. 2, pp. 84–90, 2013. Cited on p. 400
[1658] Sloan, Peter-Pike, Jason Tranchida, Hao Chen, and Ladislav Kavan, “Ambient Obscurance
Baking on the GPU,” in ACM SIGGRAPH Asia 2013 Technical Briefs, ACM, article no. 32,
Nov. 2013. Cited on p. 453
[1659] Sloan, Peter-Pike, “Deringing Spherical Harmonics,” in SIGGRAPH Asia 2017 Technical
Briefs, ACM, article no. 11, 2017. Cited on p. 402, 430
[1660] Smedberg, Niklas, and Daniel Wright, “Rendering Techniques in Gears of War 2,” Game
Developers Conference, Mar. 2009. Cited on p. 462
[1661] Smith, Alvy Ray, Digital Filtering Tutorial for Computer Graphics, Technical Memo 27,
revised Mar. 1983. Cited on p. 136
[1662] Smith, Alvy Ray, and James F. Blinn, “Blue Screen Matting,” in SIGGRAPH ’96: Proceedings
of the 23rd Annual Conference on Computer Graphics and Interactive Techniques, ACM,
pp. 259–268, Aug. 1996. Cited on p. 159, 160
[1663] Smith, Alvy Ray, “The Stuff of Dreams,” Computer Graphics World, vol. 21, pp. 27–29, July
1998. Cited on p. 1042
1138 Bibliography

[1664] Smith, Ashley Vaughan, and Mathieu Einig, “Physically Based Deferred Shading on Mobile,”
in Wolfgang Engel, ed., GPU Pro7 , CRC Press, pp. 187–198, 2016. Cited on p. 903
[1665] Smith, Bruce G., “Geometrical Shadowing of a Random Rough Surface,” IEEE Transactions
on Antennas and Propagation, vol. 15, no. 5, pp. 668–671, Sept. 1967. Cited on p. 334
[1666] Smith, Ryan, “GPU Boost 3.0: Finer-Grained Clockspeed Controls,” Section in “The NVIDIA
GeForce GTX 1080 & GTX 1070 Founders Editions Review: Kicking Off the FinFET Gener-
ation,” AnandTech, July 20, 2016. Cited on p. 163, 789
[1667] Smits, Brian E., and Gary W. Meyer, “Newton’s Colors: Simulating Interference Phenomena
in Realistic Image Synthesis,” in Kadi Bouatouch & Christian Bouville, eds. Photorealism in
Computer Graphics, Springer, pp. 185–194, 1992. Cited on p. 363
[1668] Smits, Brian, “Efficiency Issues for Ray Tracing,” journal of graphics tools, vol. 3, no. 2,
pp. 1–14, 1998. Also collected in [112]. Cited on p. 792, 961
[1669] Smits, Brian, “Reflection Model Design for WALL-E and Up,” SIGGRAPH Practical Physi-
cally Based Shading in Film and Game Production course, Aug. 2012. Cited on p. 324
[1670] Snook, Greg, “Simplified Terrain Using Interlocking Tiles,” in Mark DeLoura, ed., Game
Programming Gems 2, Charles River Media, pp. 377–383, 2001. Cited on p. 876
[1671] Snyder, John, “Area Light Sources for Real-Time Graphics,” Technical Report MSR-TR-96-
11, Microsoft Research, Mar. 1996. Cited on p. 382
[1672] Snyder, John, and Jed Lengyel, “Visibility Sorting and Compositing without Splitting for
Image Layer Decompositions,” in SIGGRAPH ’98: Proceedings of the 25th Annual Conference
on Computer Graphics and Interactive Techniques, ACM, pp. 219–230, July 1998. Cited on
p. 532, 551
[1673] Soler, Cyril, and François Sillion, “Fast Calculation of Soft Shadow Textures Using Convolu-
tion,” in SIGGRAPH ’98: Proceedings of the 25th Annual Conference on Computer Graphics
and Interactive Techniques, ACM, pp. 321–332, July 1998. Cited on p. 256
[1674] Sousa, Tiago, “Adaptive Glare,” in Wolfgang Engel, ed., ShaderX3 , Charles River Media,
pp. 349–355, 2004. Cited on p. 288, 527
[1675] Sousa, Tiago, “Generic Refraction Simulation,” in Matt Pharr, ed., GPU Gems 2, Addison-
Wesley, pp. 295–305, 2005. Cited on p. 628
[1676] Sousa, Tiago, “Vegetation Procedural Animation and Shading in Crysis,” in Hubert Nguyen,
ed., GPU Gems 3, Addison-Wesley, pp. 373–385, 2007. Cited on p. 639
[1677] Sousa, Tiago, “Anti-Aliasing Methods in CryENGINE,” SIGGRAPH Filtering Approaches
for Real-Time Anti-Aliasing course, Aug. 2011. Cited on p. 145, 531
[1678] Sousa, Tiago, Nickolay Kasyan, and Nicolas Schulz, “Secrets of CryENGINE 3 Graphics
Technology,” SIGGRAPH Advances in Real-Time Rendering in 3D Graphics and Games
course, Aug. 2011. Cited on p. 145, 234, 245, 252, 257, 262, 505
[1679] Sousa, Tiago, Nickolay Kasyan, and Nicolas Schulz, “CryENGINE 3: Three Years of Work in
Review,” in Wolfgang Engel, ed., GPU Pro3 , CRC Press, pp. 133–168, 2012. Cited on p. 139,
234, 238, 245, 252, 257, 542, 786, 793, 932, 937
[1680] Sousa, Tiago, Carsten Wenzel, and Chris Raine, “The Rendering Technologies of Crysis 3,”
Game Developers Conference, Mar. 2013. Cited on p. 887, 889, 890, 895
[1681] Sousa, Tiago, Nickolay Kasyan, and Nicolas Schulz, “CryENGINE 3: Graphics Gems,” SIG-
GRAPH Advances in Real-Time Rendering in 3D Graphics and Games course, July 2013.
Cited on p. 531, 535, 539, 540, 542, 604, 888, 892
[1682] Sousa, T., and J. Geoffroy, “DOOM: the Devil is in the Details,” SIGGRAPH Advances in
Real-Time Rendering in 3D Graphics and Games course, July 2016. Cited on p. 569, 629,
883, 901
Bibliography 1139

[1683] Spencer, Greg, Peter Shirley, Kurt Zimmerman, and Donald Greenberg, “Physically-Based
Glare Effects for Digital Images,” in SIGGRAPH ’95: Proceedings of the 22nd Annual Con-
ference on Computer Graphics and Interactive Techniques, ACM, pp. 325–334, Aug. 1995.
Cited on p. 524
[1684] Stachowiak, Tomasz, “Stochastic Screen-Space Reflections,” SIGGRAPH Advances in Real-
Time Rendering in Games course, Aug. 2015. Cited on p. 507, 508
[1685] Stachowiak, Tomasz, “A Deferred Material Rendering System,” online article, Dec. 18, 2015.
Cited on p. 907
[1686] Stam, Jos, “Multiple Scattering as a Diffusion Process,” in Rendering Techniques ’95,
Springer, pp. 41–50, June 1995. Cited on p. 634
[1687] Stam, Jos, “Exact Evaluation of Catmull-Clark Subdivision Surfaces at Arbitrary Parame-
ter Values,” in SIGGRAPH ’98: Proceedings of the 25th Annual Conference on Computer
Graphics and Interactive Techniques, ACM, pp. 395–404, July 1998. Cited on p. 763
[1688] Stam, Jos, “Diffraction Shaders,” in SIGGRAPH ’99: Proceedings of the 26th Annual Con-
ference on Computer Graphics and Interactive Techniques, ACM Press/Addison-Wesley Pub-
lishing Co., pp. 101–110, Aug. 1999. Cited on p. 361
[1689] Stam, Jos, “Real-Time Fluid Dynamics for Games,” Game Developers Conference, Mar. 2003.
Cited on p. 649
[1690] Stamate, Vlad, “Reduction of Lighting Calculations Using Spherical Harmonics,” in Wolfgang
Engel, ed., ShaderX3 , Charles River Media, pp. 251–262, 2004. Cited on p. 431
[1691] Stamminger, Marc, and George Drettakis, “Perspective Shadow Maps,” ACM Transactions
on Graphics (SIGGRAPH 2002), vol. 21, no. 3, pp. 557–562, July 2002. Cited on p. 241
[1692] St-Amour, Jean-François, “Rendering Assassin’s Creed III,” Game Developers Conference,
Mar. 2013. Cited on p. 453
[1693] Steed, Paul, Animating Real-Time Game Characters, Charles River Media, 2002. Cited on
p. 88
[1694] Stefanov, Nikolay, “Global Illumination in Tom Clancy’s The Division,” Game Developers
Conference, Mar. 2016. Cited on p. 478, 483
[1695] Steinicke, Frank Steinicke, Gerd Bruder, and Scott Kuhl, “Realistic Perspective Projections
for Virtual Objects and Environments,” ACM Transactions on Graphics, vol. 30, no. 5, article
no. 112, Oct. 2011. Cited on p. 554
[1696] Stemkoski, Lee, “Bubble Demo,” GitHub repository, 2013. Cited on p. 628
[1697] Stengel, Michael, Steve Grogorick, Martin Eisemann, and Marcus Magnor, “Adaptive Image-
Space Sampling for Gaze-Contingent Real-Time Rendering,” Computer Graphics Forum,
vol. 35, no. 4, pp. 129–139, 2016. Cited on p. 932
[1698] Sterna, Wojciech, “Practical Gather-Based Bokeh Depth of Field,” in Wolfgang Engel, ed.,
GPU Zen, Black Cat Publishing, pp. 217–237, 2017. Cited on p. 535
[1699] Stewart, A. J., and M. S. Langer, “Towards Accurate Recovery of Shape from Shading Under
Diffuse Lighting,” IEEE Trans. on Pattern Analysis and Machine Intelligence, vol. 19, no. 9,
pp. 1020–1025, Sept. 1997. Cited on p. 450
[1700] Stewart, Jason, and Gareth Thomas, “Tiled Rendering Showdown: Forward++ vs. Deferred
Rendering,” Game Developers Conference, Mar. 2013. Cited on p. 896, 897, 914
[1701] Stewart, Jason, “Compute-Based Tiled Culling,” in Wolfgang Engel, ed., GPU Pro6 , CRC
Press, pp. 435–458, 2015. Cited on p. 894, 896, 914
[1702] Stich, Martin, Carsten Wächter, and Alexander Keller, “Efficient and Robust Shadow Volumes
Using Hierarchical Occlusion Culling and Geometry Shaders,” in Hubert Nguyen, ed., GPU
Gems 3, Addison-Wesley, pp. 239–256, 2007. Cited on p. 233
1140 Bibliography

[1703] Stiles, W. S., and J. M. Burch, “Interim Report to the Commission Internationale de
l’Éclairage Zurich, 1955, on the National Physical Laboratory’s Investigation of Colour-
Matching (1955),” Optica Acta, vol. 2, no. 4, pp. 168–181, 1955. Cited on p. 273
[1704] Stokes, Michael, Matthew Anderson, Srinivasan Chandrasekar, and Ricardo Motta, “A Stan-
dard Default Color Space for the Internet—sRGB,” Version 1.10, International Color Con-
sortium, Nov. 1996. Cited on p. 278
[1705] Stone, Jonathan, “Radially-Symmetric Reflection Maps,” in SIGGRAPH 2009 Talks, ACM,
article no. 24, Aug. 2009. Cited on p. 415
[1706] Stone, Maureen, A Field Guide to Digital Color, A K Peters, Ltd., Aug. 2003. Cited on p. 276
[1707] Stone, Maureen, “Representing Colors as Three Numbers,” IEEE Computer Graphics and
Applications, vol. 25, no. 4, pp. 78–85, July/Aug. 2005. Cited on p. 272, 276
[1708] Storsjö, Martin, Efficient Triangle Reordering for Improved Vertex Cache Utilisation in Real-
time Rendering, MSc thesis, Department of Information Technologies, Faculty of Technology,
Åbo Akademi University, 2008. Cited on p. 701
[1709] Story, Jon, and Holger Gruen, “High Quality Direct3D 10.0 & 10.1 Accelerated Techniques,”
Game Developers Conference, Mar. 2009. Cited on p. 249
[1710] Story, Jon, “DirectCompute Accelerated Separable Filtering,” Game Developers Conference,
Mar. 2011. Cited on p. 54, 518
[1711] Story, Jon, “Advanced Geometrically Correct Shadows for Modern Game Engines,” Game
Developers Conference, Mar. 2016. Cited on p. 224, 261, 262
[1712] Story, Jon, and Chris Wyman, “HFTS: Hybrid Frustum-Traced Shadows in The Division,”
in ACM SIGGRAPH 2016 Talks, ACM, article no. 13, July 2016. Cited on p. 261
[1713] Strauss, Paul S., “A Realistic Lighting Model for Computer Animators,” IEEE Computer
Graphics and Applications, vol. 10, no. 6, pp. 56–64, Nov. 1990. Cited on p. 324
[1714] Ström, Jacob, and Tomas Akenine-Möller, “iPACKMAN: High-Quality, Low-Complexity Tex-
ture Compression for Mobile Phones,” in Graphics Hardware 2006, Eurographics Association,
pp. 63–70, July 2005. Cited on p. 194
[1715] Ström, Jacob, and Martin Pettersson, “ETC2: Texture Compression Using Invalid Combina-
tions,” in Graphics Hardware 2007, Eurographics Association, pp. 49–54, Aug. 2007. Cited
on p. 194
[1716] Ström, J., P. Wennersten, J. Rasmusson, J. Hasselgren, J. Munkberg, P. Clarberg, and T.
Akenine-Möller, “Floating-Point Buffer Compression in a Unified Codec Architecture,” in
Graphics Hardware 2008, Eurographics Association, pp. 75–84, June 2008. Cited on p. 1009,
1018, 1038
[1717] Ström, Jacob, and Per Wennersten, “Lossless Compression of Already Compressed Textures,”
in Proceedings of the ACM SIGGRAPH/EUROGRAPHICS Conference on High-Performance
Graphics, ACM, pp. 177–182, Aug. 2011. Cited on p. 870
[1718] Ström, J., K. Åström, and T. Akenine-Möller, “Immersive Linear Algebra,” http://
immersivemath.com, 2015. Cited on p. 102, 1047
[1719] Strothotte, Thomas, and Stefan Schlechtweg, Non-Photorealistic Computer Graphics: Mod-
eling, Rendering, and Animation, Morgan Kaufmann, 2002. Cited on p. 652, 678
[1720] Strugar, F., “Continuous Distance-Dependent Level of Detail for Rendering Heightmaps,”
Journal of Graphics, GPU, and Game Tools, vol. 14, no. 4, pp. 57–74, 2009. Cited on p. 876,
877
[1721] Sugden, B., and M. Iwanicki, “Mega Meshes: Modelling, Rendering and Lighting a World
Made of 100 Billion Polygons,” Game Developers Conference, Mar. 2011. Cited on p. 483,
868, 870
Bibliography 1141

[1722] Sun, Bo, Ravi Ramamoorthi, Srinivasa Narasimhan, and Shree Nayar, “A Practical Analytic
Single Scattering Model for Real Time Rendering,” ACM Transactions on Graphics (SIG-
GRAPH 2005), vol. 24, no. 3, pp. 1040–1049, 2005. Cited on p. 604
[1723] Sun, Xin, Qiming Hou, Zhong Ren, Kun Zhou, and Baining Guo, “Radiance Transfer Biclus-
tering for Real-Time All-Frequency Biscale Rendering,” IEEE Transactions on Visualization
and Computer Graphics, vol. 17, no. 1, pp. 64–73, 2011. Cited on p. 402
[1724] Sutherland, Ivan E., Robert F. Sproull, and Robert F. Schumacker, “A Characterization of
Ten Hidden-Surface Algorithms,” Computing Surveys, vol. 6, no. 1, pp. 1–55, Mar. 1974.
Cited on p. 1048
[1725] Sutter, Herb, “The Free Lunch Is Over,” Dr. Dobb’s Journal, vol. 30, no. 3, Mar. 2005. Cited
on p. 806, 815
[1726] Svarovsky, Jan, “View-Independent Progressive Meshing,” in Mark DeLoura, ed., Game Pro-
gramming Gems, Charles River Media, pp. 454–464, 2000. Cited on p. 707, 711
[1727] Swoboda, Matt, “Deferred Lighting and Post Processing on PLAYSTATION 3,” Game De-
velopers Conference, Mar. 2009. Cited on p. 893
[1728] Swoboda, Matt, “Ambient Occlusion in Frameranger,” direct to video blog, Jan. 15, 2010.
Cited on p. 453
[1729] Szeliski, Richard, Computer Vision: Algorithms and Applications, Springer, 2011. Cited on
p. 130, 200, 543, 549, 587, 661, 1048
[1730] Szirmay-Kalos, László, Barnabás Aszódi, István Lazányi, and Mátyás Premecz, “Approximate
Ray-Tracing on the GPU with Distance Impostors,” Computer Graphics Forum, vol. 24, no. 3,
pp. 695–704, 2005. Cited on p. 502
[1731] Szirmay-Kalos, László, and Tamás Umenhoffer, “Displacement Mapping on the GPU—State
of the Art,” Computer Graphics Forum, vol. 27, no. 6, pp. 1567–1592, 2008. Cited on p. 222,
933
[1732] Szirmay-Kalos, László, Tamás Umenhoffer, Gustavo Patow, László Szécsi, and Mateu Sbert,
“Specular Effects on the GPU: State of the Art,” Computer Graphics Forum, vol. 28, no. 6,
pp. 1586–1617, 2009. Cited on p. 436
[1733] Szirmay-Kalos, László, Tamás Umenhoffer, Balázs Tóth, László Szécsi, and Mateu Sbert, “Vol-
umetric Ambient Occlusion for Real-Time Rendering and Games,” IEEE Computer Graphics
and Applications, vol. 30, no. 1, pp. 70–79, 2010. Cited on p. 459
[1734] Tabellion, Eric, and Arnauld Lamorlette, “An Approximate Global Illumination System for
Computer Generated Films,” ACM Transactions on Graphics (SIGGRAPH 2004), vol. 23,
no. 3, pp. 469–476, Aug. 2004. Cited on p. 26, 491
[1735] Tadamura, Katsumi, Xueying Qin, Guofang Jiao, and Eihachiro Nakamae, “Rendering Opti-
mal Solar Shadows Using Plural Sunlight Depth Buffers,” in Computer Graphics International
1999, IEEE Computer Society, pp. 166–173, June 1999. Cited on p. 242
[1736] Takayama, Kenshi, Alec Jacobson, Ladislav Kavan, and Olga Sorkine-Hornung, “A Simple
Method for Correcting Facet Orientations in Polygon Meshes Based on Ray Casting,” Journal
of Computer Graphics Techniques, vol. 3, no. 4, pp. 53–63, 2014. Cited on p. 693
[1737] Takeshige, Masaya, “The Basics of GPU Voxelization,” NVIDIA GameWorks blog, Mar. 22,
2015. Cited on p. 582
[1738] Tampieri, Filippo, “Newell’s Method for the Plane Equation of a Polygon,” in David Kirk,
ed., Graphics Gems III, Academic Press, pp. 231–232, 1992. Cited on p. 685
[1739] Tanner, Christopher C., Christopher J. Migdal, and Michael T. Jones, “The Clipmap: A Vir-
tual Mipmap,” in SIGGRAPH ’98: Proceedings of the 25th Annual Conference on Computer
Graphics and Interactive Techniques, ACM, pp. 151–158, July 1998. Cited on p. 570, 867,
872
1142 Bibliography

[1740] Tarini, Marco, Kai Hormann, Paolo Cignoni, and Claudio Montani, “PolyCube-Maps,” ACM
Transactions on Graphics (SIGGRAPH 2004), vol. 23, no. 3, pp. 853–860, Aug. 2004. Cited
on p. 171
[1741] Tatarchuk, Natalya, “Artist-Directable Real-Time Rain Rendering in City Environments,”
SIGGRAPH Advanced Real-Time Rendering in 3D Graphics and Games course, Aug. 2006.
Cited on p. 604
[1742] Tatarchuk, Natalya, “Dynamic Parallax Occlusion Mapping with Approximate Soft Shadows,”
SIGGRAPH Advanced Real-Time Rendering in 3D Graphics and Games course, Aug. 2006.
Cited on p. 217, 218, 222
[1743] Tatarchuk, Natalya, “Practical Parallax Occlusion Mapping with Approximate Soft Shadows
for Detailed Surface Rendering,” SIGGRAPH Advanced Real-Time Rendering in 3D Graphics
and Games course, Aug. 2006. Cited on p. 217, 218, 222
[1744] Tatarchuk, Natalya, and Jeremy Shopf, “Real-Time Medical Visualization with FireGL,” SIG-
GRAPH AMD Technical Talk, Aug. 2007. Cited on p. 607, 753
[1745] Tatarchuk, Natalya, “Real-Time Tessellation on GPU,” SIGGRAPH Advanced Real-Time
Rendering in 3D Graphics and Games course, Aug. 2007. Cited on p. 770
[1746] Tatarchuk, Natalya, Christopher Oat, Jason L. Mitchell, Chris Green, Johan Andersson, Mar-
tin Mittring, Shanon Drone, and Nico Galoppo, SIGGRAPH Advanced Real-Time Rendering
in 3D Graphics and Games course, Aug. 2007. Cited on p. 1115
[1747] Tatarchuk, Natalya, Chris Tchou, and Joe Venzon, “Destiny: From Mythic Science Fiction to
Rendering in Real-Time,” SIGGRAPH Advances in Real-Time Rendering in Games course,
July 2013. Cited on p. 568, 569, 892
[1748] Tatarchuk, Natalya, and Shi Kai Wang, “Creating Content to Drive Destiny’s Investment
Game: One Solution to Rule Them All,” SIGGRAPH Production Session, Aug. 2014. Cited
on p. 366
[1749] Tatarchuk, Natalya, “Destiny’s Multithreaded Rendering Architecture,” Game Developers
Conference, Mar. 2015. Cited on p. 815
[1750] Tatarchuk, Natalya, and Chris Tchou, “Destiny Shader Pipeline,” Game Developers Confer-
ence, Feb.–Mar. 2017. Cited on p. 128, 129, 815
[1751] Taubin, Gabriel, André Guéziec, William Horn, and Francis Lazarus, “Progressive Forest Split
Compression,” in SIGGRAPH ’98: Proceedings of the 25th Annual Conference on Computer
Graphics and Interactive Techniques, ACM, pp. 123–132, July 1998. Cited on p. 706
[1752] Taylor, Philip, “Per-Pixel Lighting,” Driving DirectX web column, Nov. 13, 2001. Cited on
p. 433
[1753] Tector, C., “Streaming Massive Environments from Zero to 200MPH,” Game Developers
Conference, Mar. 2010. Cited on p. 871
[1754] Teixeira, Diogo, “Baking Normal Maps on the GPU,” in Hubert Nguyen, ed., GPU Gems 3,
Addison-Wesley, pp. 491–512, 2007. Cited on p. 853
[1755] Teller, Seth J., and Carlo H. Séquin, “Visibility Preprocessing for Interactive Walkthroughs,”
Computer Graphics (SIGGRAPH ’91 Proceedings), vol. 25, no. 4, pp. 61–69, July 1991. Cited
on p. 837
[1756] Teller, Seth J., Visibility Computations in Densely Occluded Polyhedral Environments, PhD
thesis, Department of Computer Science, University of Berkeley, 1992. Cited on p. 837
[1757] Teller, Seth, and Pat Hanrahan, “Global Visibility Algorithms for Illumination Computa-
tions,” in SIGGRAPH ’94: Proceedings of the 21st Annual Conference on Computer Graphics
and Interactive Techniques, ACM, pp. 443–450, July 1994. Cited on p. 837
Bibliography 1143

[1758] Teschner, Matthias, “Advanced Computer Graphics: Sampling,” Course Notes, Computer
Science Department, University of Freiburg, 2016. Cited on p. 144, 165
[1759] Tessman, Thant, “Casting Shadows on Flat Surfaces,” Iris Universe, pp. 16–19, Winter 1989.
Cited on p. 225
[1760] Tevs, A., I. Ihrke, and H.-P. Seidel, “Maximum Mipmaps for Fast, Accurate, and Scalable
Dynamic Height Field Rendering,” in Proceedings of the 2008 Symposium on Interactive 3D
Graphics and Games, ACM, pp. 183–190, 2008. Cited on p. 220
[1761] Thibault, Aaron P., and Sean “Zoner” Cavanaugh, “Making Concept Art Real for Border-
lands,” SIGGRAPH Stylized Rendering in Games course, July 2010. Cited on p. 652, 661,
662, 664, 678
[1762] Thibieroz, Nicolas, “Deferred Shading with Multiple Render Targets,” in Wolfgang Engel, ed.,
ShaderX2 : Introductions & Tutorials with DirectX 9, Wordware, pp. 251–269, 2004. Cited
on p. 882, 884
[1763] Thibieroz, Nicolas, “Robust Order-Independent Transparency via Reverse Depth Peeling in
DirectX 10,” in Wolfgang Engel, ed., ShaderX6 , Charles River Media, pp. 211–226, 2008.
Cited on p. 154
[1764] Thibieroz, Nicolas, “Deferred Shading with Multisampling Anti-Aliasing in DirectX 10,” in
Wolfgang Engel, ed., ShaderX7 , Charles River Media, pp. 225–242, 2009. Cited on p. 888
[1765] Thibieroz, Nicolas, “Order-Independent Transparency Using Per-Pixel Linked Lists,” in Wolf-
gang Engel, ed., GPU Pro2 , A K Peters/CRC Press, pp. 409–431, 2011. Cited on p. 155
[1766] Thibieroz, Nicolas, “Deferred Shading Optimizations,” Game Developers Conference, Mar.
2011. Cited on p. 886, 887, 892, 900
[1767] Thomas, Gareth, “Compute-Based GPU Particle Systems,” Game Developers Conference,
Mar. 2014. Cited on p. 572
[1768] Thomas, Gareth, “Advancements in Tiled-Based Compute Rendering,” Game Developers
Conference, Mar. 2015. Cited on p. 803, 894, 896, 900, 901
[1769] Thomas, Spencer W., “Decomposing a Matrix into Simple Transformations,” in James Arvo,
ed., Graphics Gems II, Academic Press, pp. 320–323, 1991. Cited on p. 72, 74
[1770] Thürmer, Grit, and Charles A. Wüthrich, “Computing Vertex Normals from Polygonal
Facets,” journal of graphics tools, vol. 3, no. 1, pp. 43–46, 1998. Also collected in [112].
Cited on p. 695
[1771] Timonen, Ville, “Line-Sweep Ambient Obscurance,” Eurographics Symposium on Rendering,
June 2013. Cited on p. 461
[1772] Toisoul, Antoine, and Abhijeet Ghosh, “Practical Acquisition and Rendering of Diffraction
Effects in Surface Reflectance,” ACM Transactions on Graphics, vol. 36, no. 5, pp. 166:1–
166:16, Oct. 2017. Cited on p. 361
[1773] Toisoul, Antoine, and Abhijeet Ghosh, “Real-Time Rendering of Realistic Surface Diffraction
with Low Rank Factorisation,” European Conference on Visual Media Production (CVMP),
Dec. 2017. Cited on p. 361
[1774] Toksvig, Michael, “Mipmapping Normal Maps,” journal of graphics tools, vol. 10, no. 3,
pp. 65–71, 2005. Cited on p. 369
[1775] Tokuyoshi, Yusuke, “Error Reduction and Simplification for Shading Anti-Aliasing,” Technical
Report, Square Enix, Apr. 2017. Cited on p. 371
[1776] Torborg, J., and J. T. Kajiya, “Talisman: Commodity Realtime 3D Graphics for the PC,”
in SIGGRAPH ’96: Proceedings of the 23rd Annual Conference on Computer Graphics and
Interactive Techniques, ACM, pp. 353–363, Aug. 1996. Cited on p. 551
1144 Bibliography

[1777] Torchelsen, Rafael P., João L. D. Comba, and Rui Bastos, “Practical Geometry Clipmaps for
Rendering Terrains in Computer Games,” in Wolfgang Engel, ed., ShaderX6 , Charles River
Media, pp. 103–114, 2008. Cited on p. 612, 873
[1778] Török, Balázs, and Tim Green, “The Rendering Features of The Witcher 3: Wild Hunt,” in
ACM SIGGRAPH 2015 Talks, ACM, article no. 7, Aug. 2015. Cited on p. 366, 421, 889
[1779] Torrance, K., and E. Sparrow, “Theory for Off-Specular Reflection from Roughened Surfaces,”
Journal of the Optical Society of America, vol. 57, no. 9, pp. 1105–1114, Sept. 1967. Cited
on p. 314, 334
[1780] Toth, Robert, “Avoiding Texture Seams by Discarding Filter Taps,” Journal of Computer
Graphics Techniques, vol. 2, no. 2, pp. 91–104, 2013. Cited on p. 191
[1781] Toth, Robert, Jon Hasselgren, and Tomas Akenine-Möller, “Perception of Highlight Disparity
at a Distance in Consumer Head-Mounted Displays,” in Proceedings of the 7th Conference on
High-Performance Graphics, ACM, pp. 61–66, Aug. 2015. Cited on p. 934
[1782] Toth, Robert, Jim Nilsson, and Tomas Akenine-Möller, “Comparison of Projection Methods
for Rendering Virtual Reality,” in High-Performance Graphics 2016, Eurographics Associa-
tion, pp. 163–171, June 2016. Cited on p. 930
[1783] Tran, Ray, “Facetted Shadow Mapping for Large Dynamic Game Environments,” in Wolfgang
Engel, ed., ShaderX7 , Charles River Media, pp. 363–371, 2009. Cited on p. 244
[1784] Trapp, Matthias, and Jürgen Döllner, “Automated Combination of Real-Time Shader Pro-
grams,” in Eurographics 2007—Short Papers, Eurographics Association, pp. 53–56, Sept.
2007. Cited on p. 128
[1785] Trebilco, Damian, “Light-Indexed Deferred Rendering,” in Wolfgang Engel, ed., ShaderX7 ,
Charles River Media, pp. 243–258, 2009. Cited on p. 893
[1786] Treglia, Dante, ed., Game Programming Gems 3, Charles River Media, 2002. Cited on p. 1089
[1787] Trop, Oren, Ayellet Tal, and Ilan Shimshoni, “A Fast Triangle to Triangle Intersection Test
for Collision Detection,” Computer Animation & Virtual Worlds, vol. 17, no. 5, pp. 527–535,
2006. Cited on p. 974
[1788] Trowbridge, T. S., and K. P. Reitz, “Average Irregularity Representation of a Roughened
Surface for Ray Reflection,” Journal of the Optical Society of America, vol. 65, no. 5, pp. 531–
536, May 1975. Cited on p. 340
[1789] Trudel, N., “Improving Geometry Culling for Deus Ex: Mankind Divided,” Game Developers
Conference, Mar. 2016. Cited on p. 850
[1790] Tuft, David, “Plane-Based Depth Bias for Percentage Closer Filtering,” Game Developer,
vol. 17, no. 5, pp. 35–38, May 2010. Cited on p. 249, 250
[1791] Tuft, David, “Cascaded Shadow Maps,” Windows Dev Center: DirectX Graphics and Gaming
Technical Articles, 2011. Cited on p. 244, 245, 247, 265
[1792] Tuft, David, “Common Techniques to Improve Shadow Depth Maps,” Windows Dev Center:
DirectX Graphics and Gaming Technical Articles, 2011. Cited on p. 236, 239, 240, 265
[1793] Turkowski, Ken, “Filters for Common Resampling Tasks,” in Andrew S. Glassner, ed., Graph-
ics Gems, Academic Press, pp. 147–165, 1990. Cited on p. 136
[1794] Turkowski, Ken, “Properties of Surface-Normal Transformations,” in Andrew S. Glassner, ed.,
Graphics Gems, Academic Press, pp. 539–547, 1990. Cited on p. 68
[1795] Turkowski, Ken, “Incremental Computation of the Gaussian,” in Hubert Nguyen, ed., GPU
Gems 3, Addison-Wesley, pp. 877–890, 2007. Cited on p. 515
[1796] Ulrich, Thatcher, “Loose Octrees,” in Mark DeLoura, ed., Game Programming Gems, Charles
River Media, pp. 444–453, 2000. Cited on p. 826
Bibliography 1145

[1797] Ulrich, Thatcher, “Rendering Massive Terrains Using Chunked Level of Detail Control,” SIG-
GRAPH Super-Size It! Scaling up to Massive Virtual Worlds course, July 2002. Cited on
p. 874, 875
[1798] Uludag, Yasin, “Hi-Z Screen-Space Tracing,” in Wolfgang Engel, ed., GPU Pro5 , CRC Press,
pp. 149–192, 2014. Cited on p. 507
[1799] Umenhoffer, Tamás, Lázló Szirmay-Kalos, and Gábor Szijártó, “Spherical Billboards and
Their Application to Rendering Explosions,” in Graphics Interface 2006, Canadian Human-
Computer Communications Society, pp. 57–63, 2006. Cited on p. 559
[1800] Umenhoffer, Tamás, László Szirmay-Kalos, and Gábor Szı́jártó, “Spherical Billboards for Ren-
dering Volumetric Data,” in Wolfgang Engel, ed., ShaderX5 , Charles River Media, pp. 275–
285, 2006. Cited on p. 559
[1801] Unity User Manual, Unity Technologies, 2017. Cited on p. 287
[1802] Unreal Engine 4 Documentation, Epic Games, 2017. Cited on p. 114, 126, 128, 129, 262, 287,
364, 611, 644, 920, 923, 932, 934, 939
[1803] Upchurch, Paul, and Mathieu Desbrun, “Tightening the Precision of Perspective Rendering,”
journal of graphics tools, vol. 16, no. 1, pp. 40–56, 2012. Cited on p. 101
[1804] Upstill, S., The RenderMan Companion: A Programmer’s Guide to Realistic Computer
Graphics, Addison-Wesley, 1990. Cited on p. 37
[1805] Vaidyanathan, K., M. Salvi, R. Toth, T. Foley, T. Akenine-Möller, J. Nilsson, J. Munkberg,
J. Hasselgren, M. Sugihara, P. Clarberg, T. Janczak, and A. Lefohn, “Coarse Pixel Shading,”
in High Performance Graphics 2014, Eurographics Association, pp. 9–18, June 2014. Cited
on p. 924, 1013
[1806] Vaidyanathan, Karthik, Jacob Munkberg, Petrik Clarberg, and Marco Salvi, “Layered Light
Field Reconstruction for Defocus Blur,” ACM Transactions on Graphics, vol. 34, no. 2,
pp. 23:1–23:12, Feb. 2015. Cited on p. 536
[1807] Vaidyanathan, K. T. Akenine-Möller, and M. Salvi, “Watertight Ray Traversal with Reduced
Precision,” in High-Performance Graphics 2016, Eurographics Association, pp. 33–40, June
2016. Cited on p. 1039
[1808] Vainio, Matt, “The Visual Effects of inFAMOUS: Second Son,” Game Developers Conference,
Mar. 2014. Cited on p. 572
[1809] Valient, Michal, “Deferred Rendering in Killzone 2,” Develop Conference, July 2007. Cited
on p. 882, 885, 886, 887
[1810] Valient, Michal, “Stable Rendering of Cascaded Shadow Maps,” in Wolfgang Engel, ed.,
ShaderX6 , Charles River Media, pp. 231–238, 2008. Cited on p. 239, 245, 247
[1811] Valient, Michal, “Shadows + Games: Practical Considerations,” SIGGRAPH Efficient Real-
Time Shadows course, Aug. 2012. Cited on p. 245, 246, 252
[1812] Valient, Michal, “Taking Killzone: Shadow Fall Image Quality into the Next Generation,”
Game Developers Conference, Mar. 2014. Cited on p. 148, 235, 245, 490, 506, 507, 509, 523,
608, 609
[1813] Van Verth, Jim, “Doing Math with RGB (and A),” Game Developers Conference, Mar. 2015.
Cited on p. 151, 208
[1814] Vaxman, Amir, Marcel Campen, Olga Diamanti, Daniele Panozzo, David Bommes, Klaus
Hildebrandt, and Mirela Ben-Chen, “Directional Field Synthesis, Design, and Processing,”
Computer Graphics Forum, vol. 35, no. 2, pp. 545–572, 2016. Cited on p. 672
[1815] Veach, Eric, “Robust Monte Carlo Methods for Light Transport Simulation,” PhD Disserta-
tion, Stanford University, Dec. 1997. Cited on p. 445
1146 Bibliography

[1816] Venkataraman, S., “Fermi Asynchronous Texture Transfers,” in Patrick Cozzi & Christophe
Riccio, eds., OpenGL Insights, CRC Press, pp. 415–430, 2012. Cited on p. 1034
[1817] Villanueva, Alberto Jaspe, Fabio Marton, and Enrico Gobbetti, “SSVDAGs: Symmetry-
Aware Sparse Voxel DAGs,” in Proceedings of the 20th ACM SIGGRAPH Symposium on
Interactive 3D Graphics and Games, ACM, pp. 7–14, 2016. Cited on p. 586
[1818] Virtual Terrain Project,http://www.vterrain.org. Cited on p. 877
[1819] Vlachos, Alex, Jörg Peters, Chas Boyd, and Jason L. Mitchell, “Curved PN Triangles,” in
Proceedings of the 2001 Symposium on Interactive 3D Graphics, ACM, pp. 159–166, 2001.
Cited on p. 744, 745, 746
[1820] Vlachos, Alex, and John Isidoro, “Smooth C 2 Quaternion-Based Flythrough Paths,” in Mark
DeLoura, ed., Game Programming Gems 2, Charles River Media, pp. 220–227, 2001. Cited
on p. 102
[1821] Vlachos, Alex, “Post Processing in The Orange Box,” Game Developers Conference, Feb.
2008. Cited on p. 288, 538
[1822] Vlachos, Alex, “Rendering Wounds in Left 4 Dead 2,” Game Developers Conference, Mar.
2010. Cited on p. 366
[1823] Vlachos, Alex, “Advanced VR Rendering,” Game Developers Conference, Mar. 2015. Cited
on p. 371, 628, 922, 925, 926, 927, 933, 934, 939, 940, 1010
[1824] Vlachos, Alex, “Advanced VR Rendering Performance,” Game Developers Conference, Mar.
2016. Cited on p. 784, 805, 928, 930, 931, 936, 937, 938, 940
[1825] Voorhies, Douglas, “Space-Filling Curves and a Measure of Coherence,” in James Arvo, ed.,
Graphics Gems II, Academic Press, pp. 26–30, 1991. Cited on p. 1018
[1826] Vulkan Overview, Khronos Group, Feb. 2016. Cited on p. 806
[1827] Walbourn, Chuck, ed., SIGGRAPH Introduction to Direct3D 10 course, Aug. 2007. Cited on
p. 798
[1828] Wald, Ingo, William R. Mark, Johannes Günther, Solomon Boulos, Thiago Ize, Warren Hunt,
Steven G. Parker, and Peter Shirley, “State of the Art in Ray Tracing Animated Scenes,”
Computer Graphics Forum, vol. 28, no. 6, pp. 1691–1722, 2009. Cited on p. 953
[1829] Wald, Ingo, Sven Woop, Carsten Benthin, Gregory S. Johnsson, and Manfred Ernst, “Embree:
A Kernel Framework for Efficient CPU Ray Tracing,” ACM Transactions on Graphics, vol. 33,
no. 4, pp. 143:1–143:8, 2014. Cited on p. 452, 821
[1830] Walker, R., and J. Snoeyink, “Using CSG Representations of Polygons for Practical Point-in-
Polygon Tests,” in ACM SIGGRAPH ’97 Visual Proceedings, ACM, p. 152, Aug. 1997. Cited
on p. 967
[1831] Wallace, Evan, “Rendering Realtime Caustics in WebGL,” Medium blog, Jan. 7, 2016. Cited
on p. 631
[1832] Walter, Bruce, Sebastian Fernandez, Adam Arbree, Kavita Bala, Michael Donikian, and Don-
ald P. Greenberg, “Lightcuts: A Scalable Approach to Illumination,” ACM Transactions on
Graphics, vol. 24, no. 3, pp. 1098–1107, 2005. Cited on p. 432, 901
[1833] Walter, Bruce, Stephen R. Marschner, Hongsong Li, and Kenneth E. Torrance, “Microfacet
Models for Refraction through Rough Surfaces,” Rendering Techniques 2007, Eurographics
Association, pp. 195–206, June 2007. Cited on p. 334, 337, 339, 340, 369, 420
[1834] Walton, Patrick, “Pathfinder, a Fast GPU-Based Font Rasterizer in Rust,” pcwalton blog, Feb.
14, 2017. Cited on p. 676
[1835] Wan, Liang, Tien-Tsin Wong, and Chi-Sing Leung, “Isocube: Exploiting the Cubemap Hard-
ware,” IEEE Transactions on Visualization and Computer Graphics, vol. 13, no. 4, pp. 720–
731, July 2007. Cited on p. 413
Bibliography 1147

[1836] Wan, Liang, Tien-Tsin Wong, Chi-Sing Leung, and Chi-Wing Fu, “Isocube: A Cubemap with
Uniformly Distributed and Equally Important Texels,” in Wolfgang Engel, ed., ShaderX6 ,
Charles River Media, pp. 83–92, 2008. Cited on p. 413
[1837] Wang, Beibei, and Huw Bowles, “A Robust and Flexible Real-Time Sparkle Effect,” in Pro-
ceedings of the Eurographics Symposium on Rendering: Experimental Ideas & Implementa-
tions, Eurographics Association, pp. 49–54, 2016. Cited on p. 372
[1838] Wang, Jiaping, Peiran Ren, Minmin Gong, John Snyder, and Baining Guo, “All-Frequency
Rendering of Dynamic, Spatially-Varying Reflectance,” ACM Transactions on Graphics,
vol. 28, no. 5, pp. 133:1–133:10, 2009. Cited on p. 397, 398, 466, 472
[1839] Wang, Niniane, “Realistic and Fast Cloud Rendering,” journal of graphics tools, vol. 9, no. 3,
pp. 21–40, 2004. Cited on p. 556
[1840] Wang, Niniane, “Let There Be Clouds!” Game Developer, vol. 11, no. 1, pp. 34–39, Jan. 2004.
Cited on p. 556
[1841] Wang, Rui, Ren Ng, David P. Luebke, and Greg Humphreys, “Efficient Wavelet Rotation for
Environment Map Rendering,” in 17th Eurographics Symposium on Rendering, Eurographics
Association, pp. 173–182, 2006. Cited on p. 402
[1842] Wang, R., X. Yang, Y. Yuan, Yazhen, W. Chen, K. Bala, and H. Bao, “Automatic Shader
Simplification Using Surface Signal Approximation,” ACM Transactions on Graphics, vol. 33,
no. 6, pp. 226:1–226:11, 2014. Cited on p. 853
[1843] Wang, R., B. Yu, K. Marco, T. Hu, D. Gutierrez, and H. Bao, “Real-Time Rendering on a
Power Budget,” ACM Transactions on Graphics, vol. 335 no. 4, pp. 111:1–111:11, 2016. Cited
on p. 866
[1844] Wang, X., X. Tong, S. Lin, S. Hu, B. Guo, and H.-Y. Shum, “Generalized Displacement Maps,”
in 15th Eurographics Symposium on Rendering, Eurographics Association, pp. 227–233, June
2004. Cited on p. 219
[1845] Wang, Yulan, and Steven Molnar, “Second-Depth Shadow Mapping,” Technical Report TR94-
019, Department of Computer Science, University of North Carolina at Chapel Hill, 1994.
Cited on p. 238
[1846] Wanger, Leonard, “The Effect of Shadow Quality on the Perception of Spatial Relationships
in Computer Generated Imagery,” in Proceedings of the 1992 Symposium on Interactive 3D
Graphics, ACM, pp. 39–42, 1992. Cited on p. 225, 611
[1847] Warren, Joe, and Henrik Weimer, Subdivision Methods for Geometric Design: A Constructive
Approach, Morgan Kaufmann, 2001. Cited on p. 718, 754, 756, 760, 761, 781
[1848] Wasson, Ben, “Maxwell’s Dynamic Super Resolution Explored,” The Tech Report website,
Sept. 30, 2014. Cited on p. 139
[1849] Watson, Benjamin, and David Luebke, “The Ultimate Display: Where Will All the Pixels
Come From?” Computer, vol. 38, no. 8, pp. 54–61, Aug. 2005. Cited on p. 1, 808, 817
[1850] Watt, Alan, and Fabio Policarpo, Advanced Game Development with Programmable Graphics
Hardware, A K Peters, Ltd., 2005. Cited on p. 220, 222
[1851] van Waveren, J. M. P., “Real-Time Texture Streaming & Decompression,” Technical Report,
Id Software, Nov. 2006. Cited on p. 870
[1852] van Waveren, J. M. P., and Ignacio Castaño, “Real-Time YCoCg-DXT Decompression,” Tech-
nical Report, Id Software, Sept. 2007. Cited on p. 198
[1853] van Waveren, J. M. P., and Ignacio Castaño, “Real-Time Normal Map DXT Compression,”
Technical Report, Id Software, Feb. 2008. Cited on p. 198
[1854] van Waveren, J. M. P., “id Tech 5 Challenges,” SIGGRAPH Beyond Programmable Shading
course, Aug. 2009. Cited on p. 812, 869
1148 Bibliography

[1855] van Waveren, J. M. P., and E. Hart, “Using Virtual Texturing to Handle Massive Texture
Data,” GPU Technology Conference (GTC), Sept. 2010. Cited on p. 868, 870
[1856] van Waveren, J. M. P., “Software Virtual Textures,” Technical Report, Id Software, Feb. 2012.
Cited on p. 868
[1857] van Waveren, J. M. P., “The Asynchronous Time Warp for Virtual Reality on Consumer
Hardware,” in Proceedings of the 22nd ACM Conference on Virtual Reality Software and
Technology, ACM, pp. 37–46, Nov. 2016. Cited on p. 936, 937
[1858] Webb, Matthew, Emil Praun, Adam Finkelstein, and Hugues Hoppe, “Fine Tone Con-
trol in Hardware Hatching,” in Proceedings of the 2nd International Symposium on Non-
Photorealistic Animation and Rendering, ACM, pp. 53–58, June 2002. Cited on p. 671
[1859] Weber, Marco, and Peter Quayle, “Post-Processing Effects on Mobile Devices,” in Wolfgang
Engel, ed., GPU Pro2 , A K Peters/CRC Press, pp. 291–305, 2011. Cited on p. 527
[1860] Wei, Li-Yi, “Tile-Based Texture Mapping,” in Matt Pharr, ed., GPU Gems 2, Addison-Wesley,
pp. 189–199, 2005. Cited on p. 175
[1861] Wei, Li-Yi, Sylvain Lefebvre, Vivek Kwatra, and Greg Turk, “State of the Art in Example-
Based Texture Synthesis,’ in Eurographics 2009—State of the Art Reports, Eurographics As-
sociation, pp. 93–117, 2009. Cited on p. 200
[1862] Weidlich, Andrea, and Alexander Wilkie, “Arbitrarily Layered Micro-Facet Surfaces,” in
GRAPHITE 2007, ACM, pp. 171–178, 2007. Cited on p. 364
[1863] Weidlich, Andrea, and Alexander Wilkie, SIGGRAPH Asia Thinking in Layers: Modeling
with Layered Materials course, Aug. 2011. Cited on p. 364
[1864] Weier, M., M. Stengel, T. Roth, P. Didyk, E. Eisemann, M. Eisemann, S. Grogorick, A.
Hinkenjann, E. Kruijff, M. Magnor, K. Myszkowski, and P. Slusallek, “Perception-Driven
Accelerated Rendering,” Computer Graphics Forum, vol. 36, no. 2, pp. 611–643, 2017. Cited
on p. 587, 940
[1865] Weiskopf, D., and T. Ertl, “Shadow Mapping Based on Dual Depth Layers,” Eurographics
2003 Short Presentation, Sept. 2003. Cited on p. 238
[1866] Welsh, Terry, “Parallax Mapping with Offset Limiting: A Per-Pixel Approximation of Uneven
Surfaces,” Technical Report, Infiscape Corp., Jan. 18, 2004. Also collected in [429]. Cited on
p. 215, 216
[1867] Welzl, Emo, “Smallest Enclosing Disks (Balls and Ellipsoids),” in H. Maurer, ed., New Results
and New Trends in Computer Science, LNCS 555, Springer, pp. 359–370, 1991. Cited on p. 950
[1868] Wennersten, Per, and Jacob Ström, “Table-Based Alpha Compression,” Computer Graphics
Forum, vol. 28, no. 2, pp. 687–695, 2009. Cited on p. 194
[1869] Wenzel, Carsten, “Far Cry and DirectX,” Game Developers Conference, Mar. 2005. Cited on
p. 528, 799
[1870] Wenzel, Carsten, “Real-Time Atmospheric Effects in Games,” SIGGRAPH Advanced Real-
Time Rendering in 3D Graphics and Games course, Aug. 2006. Cited on p. 559
[1871] Wenzel, Carsten, “Real-Time Atmospheric Effects in Games Revisited,” Game Developers
Conference, Mar. 2007. Cited on p. 551, 556, 601, 602, 614
[1872] Weronko, S., and S. Andreason, “Real-Time Transformations in The Order 1886,” in ACM
SIGGRAPH 2015 Talks, ACM, article no. 8, Aug. 2015. Cited on p. 91
[1873] Westin, Stephen H., Hongsong Li, and Kenneth E. Torrance, “A Field Guide to BRDF Mod-
els,” Research Note PCG-04-01, Cornell University Program of Computer Graphics, Jan. 2004.
Cited on p. 329
Bibliography 1149

[1874] Westin, Stephen H., Hongsong Li, and Kenneth E. Torrance, “A Comparison of Four BRDF
Models,” Research Note PCG-04-02, Cornell University Program of Computer Graphics, Apr.
2004. Cited on p. 329
[1875] Wetzstein, Gordon, “Focus Cues and Computational Near-Eye Displays with Focus Cues,”
SIGGRAPH Applications of Visual Perception to Virtual Reality course, Aug. 2017. Cited
on p. 549, 923
[1876] Whatley, David, “Towards Photorealism in Virtual Botany,” in Matt Pharr, ed., GPU Gems
2, Addison-Wesley, pp. 7–45, 2005. Cited on p. 207, 858
[1877] White, John, and Colin Barré-Brisebois, “More Performance! Five Rendering Ideas from
Battlefield 3 and Need For Speed: The Run,” SIGGRAPH Advances in Real-Time Rendering
in Games course, Aug. 2011. Cited on p. 527, 804, 896, 898, 904
[1878] Whiting, Nick, “Integrating the Oculus Rift into Unreal Engine 4,” Gamasutra, June 11, 2013.
Cited on p. 934
[1879] Whitley, Brandon, “The Destiny Particle Architecture,” SIGGRAPH Advances in Real-Time
Rendering in Games course, Aug. 2017. Cited on p. 571
[1880] Whittinghill, David, “Nasum Virtualis: A Simple Technique for Reducing Simulator Sickness
in Head Mounted VR,” Game Developers Conference, Mar. 2015. Cited on p. 920
[1881] Widmark, M., “Terrain in Battlefield 3: A Modern, Complete and Scalable System,” Game
Developers Conference, Mar. 2012. Cited on p. 869, 878
[1882] Wiesendanger, Tobias, “Stingray Renderer Walkthrough,” Autodesk Stingray blog, Feb. 1,
2017. Cited on p. 549, 803, 814
[1883] Wihlidal, Graham, “Optimizing the Graphics Pipeline with Compute,” Game Developers
Conference, Mar. 2016. Cited on p. 54, 798, 834, 837, 840, 848, 849, 851, 908, 986
[1884] Wihlidal, Graham, “Optimizing the Graphics Pipeline with Compute,” in Wolfgang Engel,
ed., GPU Zen, Black Cat Publishing, pp. 277–320, 2017. Cited on p. 54, 702, 784, 798, 812,
834, 837, 840, 848, 850, 851, 908, 986
[1885] Wihlidal, Graham, “4K Checkerboard in Battlefield 1 and Mass Effect Andromeda,” Game
Developers Conference, Feb.–Mar. 2017. Cited on p. 143, 805, 906, 1042
[1886] Wiley, Abe, and Thorsten Scheuermann, “The Art and Technology of Whiteout,” SIGGRAPH
AMD Technical Talk, Aug. 2007. Cited on p. 428
[1887] Williams, Amy, Steve Barrus, R. Keith Morley, and Peter Shirley, “An Efficient and Robust
Ray-Box Intersection Algorithm,” journal of graphics tools, vol. 10, no. 1, pp. 49–54, 2005.
Cited on p. 961
[1888] Williams, Lance, “Casting Curved Shadows on Curved Surfaces,” Computer Graphics (SIG-
GRAPH ’78 Proceedings), vol. 12, no. 3, pp. 270–274, Aug. 1978. Cited on p. 234
[1889] Williams, Lance, “Pyramidal Parametrics,” Computer Graphics, vol. 7, no. 3, pp. 1–11, July
1983. Cited on p. 183, 185, 408
[1890] Willmott, Andrew, “Rapid Simplification of Multi-attribute Meshes,” in Proceedings of the
ACM SIGGRAPH Symposium on High-Performance Graphics, ACM, pp. 151–158, Aug.
2011. Cited on p. 710
[1891] Wilson, Timothy, “High Performance Stereo Rendering for VR,” San Diego Virtual Reality
Meetup, Jan. 20, 2015. Cited on p. 927
[1892] Wimmer, Michael, Peter Wonka, and François Sillion, “Point-Based Impostors for Real-Time
Visualization,” in Rendering Techniques 2001, Springer, pp. 163–176, June 2001. Cited on
p. 561
1150 Bibliography

[1893] Wimmer, Michael, Daniel Scherzer, and Werner Purgathofer, “Light Space Perspective
Shadow Maps,” in Proceedings of the Fifteenth Eurographics Conference on Rendering Tech-
niques, Eurographics Association, pp. 143–151, June 2004. Cited on p. 241
[1894] Wimmer, Michael, and Jiřı́ Bittner, “Hardware Occlusion Queries Made Useful,” in Matt
Pharr, ed., GPU Gems 2, Addison-Wesley, pp. 91–108, 2005. Cited on p. 844
[1895] Wimmer, Michael, and Daniel Scherzer, “Robust Shadow Mapping with Light-Space Perspec-
tive Shadow Maps,” in Wolfgang Engel, ed., ShaderX4 , Charles River Media, pp. 313–330,
2005. Cited on p. 241
[1896] Winnemöller, Holger, “XDoG: Advanced Image Stylization with eXtended Difference-of-
Gaussians,” in ACM SIGGRAPH/Eurographics Symposium on Non-Photorealistic Animation
and Rendering, ACM, pp. 147–156, Aug. 2011. Cited on p. 665
[1897] Wloka, Matthias, “Batch, Batch, Batch: What Does It Really Mean?” Game Developers
Conference, Mar. 2003. Cited on p. 796
[1898] Wolff, Lawrence B., “A Diffuse Reflectance Model for Smooth Dielectric Surfaces,” Journal
of the Optical Society of America, vol. 11, no. 11, pp. 2956–2968, Nov. 1994. Cited on p. 353
[1899] Wolff, Lawrence B., Shree K. Nayar, and Michael Oren, “Improved Diffuse Reflection Models
for Computer Vision,” International Journal of Computer Vision, vol. 30, no. 1, pp. 55–71,
1998. Cited on p. 354
[1900] Woo, Andrew, “The Shadow Depth Map Revisited,” in David Kirk, ed., Graphics Gems III,
Academic Press, pp. 338–342, 1992. Cited on p. 238
[1901] Woo, Andrew, Andrew Pearce, and Marc Ouellette, “It’s Really Not a Rendering Bug, You
See...,” IEEE Computer Graphics and Applications, vol. 16, no. 5, pp. 21–25, Sept. 1996.
Cited on p. 688
[1902] Woo, Andrew, and Pierre Poulin, Shadow Algorithms Data Miner, A K Peters/CRC Press,
2011. Cited on p. 223, 265
[1903] Woodland, Ryan, “Filling the Gaps—Advanced Animation Using Stitching and Skinning,”
in Mark DeLoura, ed., Game Programming Gems, Charles River Media, pp. 476–483, 2000.
Cited on p. 84, 85
[1904] Woodland, Ryan, “Advanced Texturing Using Texture Coordinate Generation,” in Mark De-
Loura, ed., Game Programming Gems, Charles River Media, pp. 549–554, 2000. Cited on
p. 200, 221
[1905] Woop, Sven, Jörg Schmittler, and Philipp Slusallek, “RPU: A Programmable Ray Processing
Unit for Realtime Ray Tracing,” ACM Transactions on Graphics, vol. 24, no. 3, pp. 434–444,
Aug. 2005. Cited on p. 1039
[1906] Woop, Sven, Carsten Benthin, and Ingo Wald, “Watertight Ray/Triangle Intersection,” Jour-
nal of Computer Graphics Techniques, vol. 2, no. 1, pp. 65–82, June 2013. Cited on p. 962
[1907] Worley, Steven, “A Cellular Texture Basis Function,” in SIGGRAPH ’96: Proceedings of the
23rd Annual Conference on Computer Graphics and Interactive Techniques, ACM, pp. 291–
294, 1996. Cited on p. 620
[1908] Wrenninge, Magnus, Production Volume Rendering: Design and Implementation, A K Peter-
s/CRC Press, Sept. 2012. Cited on p. 582, 594, 610
[1909] Wrenninge, Magnus, Chris Kulla, and Viktor Lundqvist, “Oz: The Great and Volumetric,”
in ACM SIGGRAPH 2013 Talks, ACM, article no. 46, July 2013. Cited on p. 621
[1910] Wright, Daniel, “Dynamic Occlusion with Signed Distance Fields,” SIGGRAPH Advances in
Real-Time Rendering in Games course, Aug. 2015. Cited on p. 454, 467
[1911] Wronski, Bartlomiej, “Assassin’s Creed: Black Flag—Road to Next-Gen Graphics,” Game
Developers Conference, Mar. 2014. Cited on p. 32, 218, 478, 571, 572, 801
Bibliography 1151

[1912] Wronski, Bartlomiej, “Temporal Supersampling and Antialiasing,” Bart Wronski blog, Mar.
15, 2014. Cited on p. 143, 540
[1913] Wronski, Bartlomiej, “GDC Follow-Up: Screenspace Reflections Filtering and Up-Sampling,”
Bart Wronski blog, Mar. 23, 2014. Cited on p. 509
[1914] Wronski, Bartlomiej, “GCN—Two Ways of Latency Hiding and Wave Occupancy,” Bart
Wronski blog, Mar. 27, 2014. Cited on p. 32, 801, 1005
[1915] Wronski, Bartlomiej, “Bokeh Depth of Field—Going Insane! Part 1,” Bart Wronski blog,
Apr. 7, 2014. Cited on p. 531
[1916] Wronski, Bartlomiej, “Temporal Supersampling pt. 2—SSAO Demonstration,” Bart Wronski
blog, Apr. 27, 2014. Cited on p. 462
[1917] Wronski, Bartlomiej, “Volumetric Fog: Unified Compute Shader-Based Solution to Atmo-
spheric Scattering,” SIGGRAPH Advances in Real-Time Rendering in Games course, Aug.
2014. Cited on p. 610, 611
[1918] Wronski, Bartlomiej, “Designing a Next-Generation Post-Effects Pipeline,” Bart Wronski
blog, Dec. 9, 2014. Cited on p. 514, 520, 527, 543
[1919] Wronski, Bartlomiej, “Anamorphic Lens Flares and Visual Effects,” Bart Wronski blog, Mar.
9, 2015. Cited on p. 526
[1920] Wronski, Bartlomiej, “Fixing Screen-Space Deferred Decals,” Bart Wronski blog, Mar. 12,
2015. Cited on p. 889, 890
[1921] Wronski, Bartlomiej, “Localized Tonemapping—Is Global Exposure and Global Tonemapping
Operator Enough for Video Games?,” Bart Wronski blog, Aug. 29, 2016. Cited on p. 286
[1922] Wronski, Bartlomiej, “Cull That Cone! Improved Cone/Spotlight Visibility Tests for Tiled
and Clustered Lighting,” Bart Wronski blog, Apr. 13, 2017. Cited on p. 901
[1923] Wronski, Bartlomiej, “Separable Disk-Like Depth of Field,” Bart Wronski blog, Aug. 6, 2017.
Cited on p. 518
[1924] Wu, Kui, and Cem Yuksel, “Real-Time Fiber-Level Cloth Rendering,” Symposium on Inter-
active 3D Graphics and Games, Mar. 2017. Cited on p. 359
[1925] Wu, Kui, Nghia Truong, Cem Yuksel, and Rama Hoetzlein, “Fast Fluid Simulations with
Sparse Volumes on the GPU,” Computer Graphics Forum, vol. 37, no. 1, pp. 157–167, 2018.
Cited on p. 579
[1926] Wu, Kui, and Cem Yuksel, “Real-Time Cloth Rendering with Fiber-Level Detail,” IEEE
Transactions on Visualization and Computer Graphics, to appear. Cited on p. 359
[1927] Wyman, Chris, “Interactive Image-Space Refraction of Nearby Geometry,” in GRAPHITE
2005, ACM, pp. 205–211, Nov. 2005. Cited on p. 630, 632
[1928] Wyman, Chris, “Interactive Refractions and Caustics Using Image-Space Techniques,” in
Wolfgang Engel, ed., ShaderX5 , Charles River Media, pp. 359–371, 2006. Cited on p. 632
[1929] Wyman, Chris, “Hierarchical Caustic Maps,” in Proceedings of the 2008 Symposium on In-
teractive 3D Graphics and Games, ACM, pp. 163–172, Feb. 2008. Cited on p. 632
[1930] Wyman, C., R. Hoetzlein, and A. Lefohn, “Frustum-Traced Raster Shadows: Revisiting Ir-
regular Z-Buffers,” in Proceedings of the 19th Symposium on Interactive 3D Graphics and
Games, ACM, pp. 15–23, Feb.–Mar. 2015. Cited on p. 261, 1001
[1931] Wyman, Chris, “Exploring and Expanding the Continuum of OIT Algorithms,” in Proceedings
of High-Performance Graphics, Eurographics Association, pp. 1–11, June 2016. Cited on
p. 156, 159, 165
[1932] Wyman, Chris, Rama Hoetzlein, and Aaron Lefohn, “Frustum-Traced Irregular Z-Buffers:
Fast, Sub-pixel Accurate Hard Shadows,” IEEE Transactions on Visualization and Computer
Graphics, vol. 22, no. 10, pp. 2249–2261, Oct. 2016. Cited on p. 261
1152 Bibliography

[1933] Wyman, Chris, and Morgan McGuire, “Hashed Alpha Testing,” Symposium on Interactive
3D Graphics and Games, Mar. 2017. Cited on p. 206, 208, 642
[1934] Wyszecki, Günther, and W. S. Stiles, Color Science: Concepts and Methods, Quantitative
Data and Formulae, Second Edition, John Wiley & Sons, Inc., 2000. Cited on p. 276, 291
[1935] Xia, Julie C., Jihad El-Sana, and Amitabh Varshney, “Adaptive Real-Time Level-of-Detail-
Based Rendering for Polygonal Objects,” IEEE Transactions on Visualization and Computer
Graphics, vol. 3, no. 2, pp. 171–183, June 1997. Cited on p. 772
[1936] Xiao, Xiangyun, Shuai Zhang, and Xubo Yang, “Real-Time High-Quality Surface Rendering
for Large Scale Particle-Based Fluids,” Symposium on Interactive 3D Graphics and Games,
Mar. 2017. Cited on p. 572, 753
[1937] Xie, Feng, and Jon Lanz, “Physically Based Shading at DreamWorks Animation,” SIG-
GRAPH Physically Based Shading in Theory and Practice course, Aug. 2017. Cited on
p. 336, 359, 364
[1938] Xu, Ke, “Temporal Antialiasing in Uncharted 4,” SIGGRAPH Advances in Real-Time Ren-
dering in Games course, July 2016. Cited on p. 142, 143, 144, 492
[1939] Xu, Kun, Yun-Tao Jia, Hongbo Fu, Shimin Hu, and Chiew-Lan Tai, “Spherical Piecewise
Constant Basis Functions for All-Frequency Precomputed Radiance Transfer,” IEEE Trans-
actions on Visualization and Computer Graphics, vol. 14, no. 2, pp. 454–467, Mar.–Apr. 2008.
Cited on p. 402
[1940] Xu, Kun, Wei-Lun Sun, Zhao Dong, Dan-Yong Zhao, Run-Dong Wu, and Shi-Min Hu, “Aniso-
tropic Spherical Gaussians,” ACM Transactions on Graphics, vol. 32, no. 6, pp. 209:1–209:11,
2013. Cited on p. 398, 498
[1941] Yan, Ling-Qi, and Hašan, Miloš, Wenzel Jakob, Jason Lawrence, Steve Marschner, and Ravi
Ramamoorthi, “Rendering Glints on High-Resolution Normal-Mapped Specular Surfaces,”
ACM Transactions on Graphics (SIGGRAPH 2014), vol. 33, no. 4, pp. 116:1–116:9, July
2014. Cited on p. 372
[1942] Yan, Ling-Qi, Miloš Hašan, Steve Marschner, and Ravi Ramamoorthi, “Position-Normal Dis-
tributions for Efficient Rendering of Specular Microstructure,” ACM Transactions on Graph-
ics (SIGGRAPH 2016), vol. 35, no. 4, pp. 56:1–56:9, July 2016. Cited on p. 372
[1943] Yang, Baoguang, Zhao Dong, Jieqing Feng, Hans-Peter Seidel, and Jan Kautz, “Variance Soft
Shadow Mapping,” Computer Graphics Forum, vol. 29, no. 7, pp. 2127–2134, 2010. Cited on
p. 257, 259
[1944] Yang, Lei, Pedro V. Sander, and Jason Lawrence, “Geometry-Aware Framebuffer Level of De-
tail,” in Proceedings of the Nineteenth Eurographics Symposium on Rendering, Eurographics
Association, pp. 1183–1188, June 2008. Cited on p. 520
[1945] Yang, L., Y.-C. Tse, P. Sander, J. Lawrence, D. Nehab, H. Hoppe, and C. Wilkins, “Image-
Space Bidirectional Scene Reprojection,” ACM Transactions on Graphics, vol. 30, no. 6,
pp. 150:1–150:10, 2011. Cited on p. 523
[1946] Yang, L., and H. Bowles, “Accelerating Rendering Pipelines Using Bidirectional Iterative
Reprojection,” SIGGRAPH Advances in Real-Time Rendering in Games course, Aug. 2012.
Cited on p. 523
[1947] Ylitie, Henri, Tero Karras, and Samuli Laine, “Efficient Incoherent Ray Traversal on GPUs
Through Compressed Wide BVHs,” High Performance Graphics, July 2017. Cited on p. 511
[1948] Yoon, Sung-Eui, Peter Lindstrom, Valerio Pascucci, and Dinesh Manocha, “Cache-Oblivious
Mesh Layouts,” ACM Transactions on Graphics, vol. 24, no. 3, pp. 886–893, July 2005. Cited
on p. 828
[1949] Yoon, Sung-Eui, and Dinesh Manocha, “Cache-Efficient Layouts of Bounding Volume Hierar-
chies,” Computer Graphics Forum, vol. 25, no. 3, pp. 853–857, 2006. Cited on p. 828
Bibliography 1153

[1950] Yoon, Sung-Eui, Sean Curtis, and Dinesh Manocha, “Ray Tracing Dynamic Scenes Using
Selective Restructuring,” in 18th Eurographics Symposium on Rendering, Eurographics Asso-
ciation, pp. 73–84, June 2007. Cited on p. 821
[1951] Yoshida, Akiko, Matthias Ihrke, Rafal Mantiuk, and Hans-Peter Seidel, “Brightness of the
Glare Illusion,” Proceeding of the 5th Symposium on Applied Perception in Graphics and
Visualization, ACM, pp. 83–90, Aug. 2008. Cited on p. 524
[1952] Yu, X., R. Wang, and J. Yu, “Real-Time Depth of Field Rendering via Dynamic Light Field
Generation and Filtering,” Computer Graphics Forum, vol. 29, no. 7, pp. 2009–2107, 2010.
Cited on p. 523
[1953] Yuksel, Cem, and John Keyser, “Deep Opacity Maps,” Computer Graphics Forum, vol. 27,
no. 2, pp. 675–680, 2008. Cited on p. 257, 645, 646
[1954] Yuksel, Cem, and Sara Tariq, SIGGRAPH Advanced Techniques in Real-Time Hair Rendering
and Simulation course, July 2010. Cited on p. 45, 642, 646, 649
[1955] Yuksel, Cem, “Mesh Color Textures,” in High Performance Graphics 2017, Eurographics
Association, pp. 17:1–17:11, 2017. Cited on p. 191
[1956] Yusov, E., “Real-Time Deformable Terrain Rendering with DirectX 11,” in Wolfgang Engel,
ed., ShaderX3 , Charles River Media, pp. 13–39, 2004. Cited on p. 879
[1957] Yusov, Egor, “Outdoor Light Scattering,” Game Developers Conference, Mar. 2013. Cited
on p. 615
[1958] Yusov, Egor, “Practical Implementation of Light Scattering Effects Using Epipolar Sampling
and 1D Min/Max Binary Trees,” Game Developers Conference, Mar. 2013. Cited on p. 608
[1959] Yusov, Egor, “High-Performance Rendering of Realistic Cumulus Clouds Using Pre-computed
Lighting,” in Proceedings of the Eurographics / ACM SIGGRAPH Symposium on High Per-
formance Graphics, Eurographics Association, pp. 127–136, Aug. 2014. Cited on p. 617,
618
[1960] Zakarin, Jordan, “How The Jungle Book Made Its Animals Look So Real with Groundbreaking
VFX,” Inverse.com, Apr. 15, 2016. Cited on p. 1042
[1961] Zarge, Jonathan, and Richard Huddy, “Squeezing Performance out of Your Game with ATI
Developer Performance Tools and Optimization Techniques,” Game Developers Conference,
Mar. 2006. Cited on p. 713, 786, 787
[1962] Zhang, Fan, Hanqiu Sun, Leilei Xu, and Kit-Lun Lee, “Parallel-Split Shadow Maps for Large-
Scale Virtual Environments,” in Proceedings of the 2006 ACM International Conference on
Virtual Reality Continuum and Its Applications, ACM, pp. 311–318, June 2006. Cited on
p. 242, 244
[1963] Zhang, Fan, Hanqiu Sun, and Oskari Nyman, “Parallel-Split Shadow Maps on Programmable
GPUs,” in Hubert Nguyen, ed., GPU Gems 3, Addison-Wesley, pp. 203–237, 2007. Cited on
p. 242, 243, 244
[1964] Zhang, Fan, Alexander Zaprjagaev, and Allan Bentham, “Practical Cascaded Shadow Maps,”
in Wolfgang Engel, ed., ShaderX7 , Charles River Media, pp. 305–329, 2009. Cited on p. 242,
245
[1965] Zhang, Hansong, Effective Occlusion Culling for the Interactive Display of Arbitrary Models,
PhD thesis, Department of Computer Science, University of North Carolina at Chapel Hill,
July 1998. Cited on p. 843
[1966] Zhang, Long, Qian Sun, and Ying He, “Splatting Lines: An Efficient Method for Illustrating
3D Surfaces and Volumes,” in Proceedings of the 18th Meeting of the ACM SIGGRAPH
Symposium on Interactive 3D Graphics and Games, ACM, pp. 135–142, Mar. 2014. Cited on
p. 665
1154 Bibliography

[1967] Zhao, Guangyuan, and Xianming Sun, “Error Analysis of Using Henyey-Greensterin in Monte
Carlo Radiative Transfer Simulations,” Electromagnetics Research Symposium, Mar. 2010.
Cited on p. 598
[1968] Zhdan, Dmitry, “Tiled Shading: Light Culling—Reaching the Speed of Light,” Game Devel-
opers Conference, Mar. 2016. Cited on p. 894
[1969] Zhou, Kun, Yaohua Hu, Stephen Lin, Baining Guo, and Heung-Yeung Shum, “Precomputed
Shadow Fields for Dynamic Scenes,” ACM Transactions on Graphics (SIGGRAPH 2005),
vol. 24, no. 3, pp. 1196–1201, 2005. Cited on p. 466
[1970] Zhukov, Sergei, Andrei Iones, and Grigorij Kronin, “An Ambient Light Illumination Model,”
in Rendering Techniques ’98, Springer, pp. 45–56, June–July 1998. Cited on p. 449, 454, 457
[1971] Zink, Jason, Matt Pettineo, and Jack Hoxley, Practical Rendering & Computation with Di-
rect3D 11, CRC Press, 2011. Cited on p. 47, 54, 90, 518, 519, 520, 568, 795, 813, 814,
914
[1972] Zinke, Arno, Cem Yuksel, Weber Andreas, and John Keyser, “Dual Scattering Approximation
for Fast Multiple Scattering in Hair,” ACM Transactions on Graphics (SIGGRAPH 2008),
vol. 27, no. 3, pp. 1–10, 2008. Cited on p. 645
[1973] Zioma, Renaldas, “Better Geometry Batching Using Light Buffers,” in Wolfgang Engel, ed.,
ShaderX4 , Charles River Media, pp. 5–16, 2005. Cited on p. 893
[1974] Zirr, Tobias, and Anton Kaplanyan, “Real-Time Rendering of Procedural Multiscale Materi-
als,” Symposium on Interactive 3D Graphics and Games, Feb. 2016. Cited on p. 372
[1975] Zorin, Denis, Peter Schröder, and Wim Sweldens, “Interpolating Subdivision for Meshes with
Arbitrary Topology,” in SIGGRAPH ’96: Proceedings of the 23rd Annual Conference on
Computer Graphics and Interactive Techniques, ACM, pp. 189–192, Aug. 1996. Cited on
p. 761
[1976] Zorin, Denis, Stationary Subdivision and Multiresolution Surface Representations, PhD thesis,
CS-TR-97-32, California Institute of Technology, 1997. Cited on p. 759, 761
[1977] Zorin, Denis, Peter Schröder, Tony DeRose, Leif Kobbelt, Adi Levin, and Wim Sweldens,
SIGGRAPH Subdivision for Modeling and Animation course, July 2000. Cited on p. 756,
760, 761, 762, 781
[1978] Zou, Ming, Tao Ju, and Nathan Carr, “An Algorithm for Triangulating Multiple 3D Polygons,”
Computer Graphics Forum, vol. 32, no. 5, pp. 157–166, 2013. Cited on p. 685
Index

For indexed terms with more than one page reference, the italicized page (or range) indicates the
most significant reference.

1-ring, 759, 760 alpha, 149, 159–160, 202–208


2.5 dimensions, 531 blending, 149–150, 203
3D printing, 578, 683, 693 channel, 24, 159, 160, 203, 1010
3dfx Interactive, 37 LOD, see level of detail, alpha
mapping, see texturing
A-buffer, see under buffer premultiplied, 159–160
AABB, 822, 944, 946, 974, 976 testing, 24, 204
creation, 949 unmultiplied, 160
orthographic projection, 93 alpha to coverage, 149, 207
AABB/object intersection, see intersection alternate frame rendering, 1013
testing, AABB/AABB ALU, 1002–1003, 1029, 1036
Academy Color Encoding System, see ACES ambient
acceleration algorithms, 14, 682, 817–879, see aperture lighting, 466
also optimization color, 392
accessibility shading, 449 cube, 394–395, 432, 478, 488
accommodation, 923 dice, 395, 478, 488
accumulation buffer, see buffer, accumulation light, see light, ambient
ACE, 1036 ambient occlusion, 446–451
ACES, 287 dynamic, 453–457
adaptation, 285 field, 452
adaptive refinement, 547 ground-truth, 461
adjacency graph, 692 horizon-based, 460
affinity mask, 928 precomputed, 451–453
Afro Samurai, 658 screen-space, 457–463
AHD basis, see basis, AHD shading, 463–465
albedo, 314 temporal supersampling, 462
directional, 313 volume, 452
texture, 885 volumetric, 459
aliasing, 130, 131 ambient/highlight/direction basis, 476
crawlies, 130 Amdahl’s law, 1020
fireflies, 132, 801 animation, 81, 85, 200, 829
jaggies, 130, 132, 537 cel, 652
perspective, 239 impostor, 562
projective, 240 particle system, 567
self-shadow, 236 sprite, 550
shadow map, 236 subdivision, 781
temporal, 132, 182 texture, see texturing, animation
texture, 182, 186 vertex blending, see under transform

1155
1156 Index

anisotropic filtering, see under texturing, B-spline, see under curves and surfaces
minification back buffer, see buffer, back
anisotropic reflection, 314 back plane, 93n
anisotropic scaling, 62 backface culling, see culling, backface
anti-shadow, 227 backprojection, 252
antialiasing, 130–148 backward mapping, 532
coverage sampling, 141 baking, 451, 473, 853
custom filter, 142 least-squares, 452
directionally localized, 147 balancing the pipeline, see pipeline
distance-to-edge, 147 band-limited signal, 133
enhanced quality, 141 banding, 161, 1010
fast approximate, 146, 148 banding artifacts, 279, 1010
FLIPQUAD, 146 bandwidth, 1006
full-scene, 138 Bartleson-Breneman effect, 285
geometry buffer, 147 barycentric coordinates, 45, 46, 489, 673, 740,
hybrid reconstruction, 146 748, 907, 963, 998–1001
image-based, 147, 148 perspective correct, 999–1001
jittering, 144, 909 basis, 209
morphological, 146–148 AHD, 402, 467, 471, 484, 488, 498
multisampling, 139–142, 144–148, 155 functions
N -rooks, 143 orthogonal, 398
Quincunx, 145–146 orthonormal, 399
rotated grid, 143, 145, 146 hemispherical, 402–404
screen based, 137–148, 204–207 projection, 393
subpixel morphological, 148 spherical, 395–402
subpixel reconstruction, 147 Gaussian, 397–398, 471–472, 477–478,
supersampling, 138–139 488, 498
rotated grid, 1028 harmonics, see spherical, harmonics
temporal, 142–143, 144–146, 148 radial, 396
texture, see texturing, minification standard, 8, 400
aperture, 307 tangent space, 209–210, 343, 403, 766
apex point map, 837, 980 batch, 796
API, 15 batching, 795
application stage, see under pipeline Battlefield 1, 601
arithmetic logic unit, see ALU Battlefield 4, 514
artistic rendering, see non-photorealistic BC, see under texturing, compression
rendering bell curve, 515
Ashes of the Singularity, 883, 911, 913 benchmarking, 1012
Ashikhmin model, 357 bent cone, screen-space, 467
aspect graph, see under spatial data structure bent normal, 448, 465
Assassin’s Creed, 453, 539 Bernstein
Assassin’s Creed 4: Black Flag, 478, 481 form, 835
Assassin’s Creed Unity, 834, 851, 905 Bézier curve, 722
Assimp, 716 Bézier patch, 737
ASTC, see under texturing, compression Bézier triangle, 740
asynchronous compute engine, see ACE polynomial, 723, 737
atan2, 8, 72 Bézier triangle, 741
atmosphere, 595, 596, 601, 613–616, 622–623 Bézier basis function, 723
attenuation index, 298 Bézier curves, see curves, Bézier
augmented reality, 915–940 Bézier patch, see under surfaces
average cache miss ratio, 700 Bézier triangle, see under surfaces
axis-aligned bounding box, see AABB BGR color order, 1010
axis-aligned BSP tree, see under spatial data bias, 226
structure, BSP tree cone, 249
Index 1157

normal offset, 238, 250 BRDF, 308–315


receiver plane depth, 250 anisotropic, 314
slope scale, 236, 249 Ashikhmin, 357
bidirectional reflectance distribution function, Banks, 359
see BRDF Blinn-Phong, 314
bidirectional scattering distribution function, see clear coat, 364
BSDF cloth, 356–359
bidirectional surface scattering distribution Cook-Torrance, 314
functions, see BSSRDF Disney diffuse, 354, 357
bilinear interpolation, 735 Disney principled, 324, 340, 345, 353, 364
billboard, 551–564, see also impostor Hapke model, 314
axial, 559–560, 568 isotropic, 310
clouds, 563–564 Kajiya-Kay, 359
particle, 567 Lambertian, 313, 314
screen-aligned, 553 Lommel-Seeliger model, 314
spherical, 559 lunar, 314
world-oriented, 554–559 Oren-Nayar, 354
binary space partitioning tree, see spatial data Phong, 314, 340
structure, BSP tree reflectance lobe, 315, 416
binary tree, 820 specular lobe, 315, 338, 416, 418
bindless texture, 192 Torrance-Sparrow, 334
binormal vector, 209 Ward, 314
biquadratic surface, 736 wave optics model, 359–363
bitangent vector, 209, 343 Brütal Legend, 572
blend shapes, see transform, morph targets BSDF, 641–648
blending, 25 BSP tree, see under spatial data structure
additive, 151, 527 BSSRDF, 634
function, 723, 729 buffer
implicit surface, 752 A-buffer, 155
multi-layer alpha, 156 accumulation
operations, see texturing antialiasing, 139
surfaces, see surfaces, implicit depth of field, 529
Blinn lighting equation, 314 motion blur, 537
blocking, 809 soft shadow, 228
bloom, 524, 604 back, 25, 1012
blue-screening, 160 cache, 1007
blur, 515–518 color, 24, 1009–1010
bokeh, 531, 536 compression, 1007–1009, 1032–1033
Boost, 793 deep, 884
border, 174 double, 25, 1012
Borderlands, 662, 679 dynamic, 793
bottleneck, 12, 783, 786–788, 1023 framebuffer, 25
boundary representation, 581 front, 25, 1012
bounded Bézier curve, see curves, bounded G-buffer, 661, 884
Bézier identification, 668, 942
bounding volume, 819, 976 interleaved, 702
creation, 948–953 pending, 1013
hierarchy, see under spatial data structure single, 790, 1012
temporal, 821 static, 794
bounding volume/object intersection, see stencil, 24, 53
intersection testing projection shadow, 227
bowtie, 684 shadow volume, 230–233
box/object intersection, see specific objects swap, 25, 1012, 1013
under intersection testing triple, 1013
1158 Index

buffer (continued) chart, 909


velocity, 143, 540–541 checkerboard rendering, 146, 930
visibility, 906–908, 912 chroma subsampling, 804
z-buffer, 24, 53, 152, 1014–1016, 1048 chroma-keying, 160
hierarchical, see under culling chromatic aberration, 521, 628, 921
bump mapping, 167, 208–214 chromaticity, 273
filtering chrominance, 197
CLEAN, 370 Chromium, 1020
LEAN, 370 CIE, 272, 273
Toksvig, 369 CIE chromaticity diagram, 274–278
heightfield, 211–212 CIE XYZ, 273–276
normal map, 195, 211–214, 366, 710 CIECAM02, 278
offset vector, 211 CIELAB, 276
bus bandwidth, 1006 CIELUV, 276
BV, see bounding volume ciliary corona, 524
BVH, see spatial data structure, bounding circle of confusion, 531
volume hierarchy Civilization V, 879
clamp, 174
C 0 -continuity, see continuity Claybook, 1045
C 1 -continuity, see continuity CLEAN mapping, 370
cache ClearType, 675
hierarchy, 1038 clip coordinates, 18
memory, 792 clipmap, 867
post-transform, 700, 705 clipping, 19, 997–998
pre-transform, 705 guard-band, 998
texture, 1017–1018 plane, 19
vertex, 700, 701, 703 clock gating, 1028
cache-oblivious mesh, see mesh, cache-oblivious clock rate, 789
CAD, 546 CLOD, see level of detail, continuous
Call of Duty, 402, 476, 478 closed model, 693
Call of Duty: Advanced Warfare, 286, 542, 718 clouds, 257, 556, 563–564, 598, 613, 616–620,
Call of Duty: Black Ops, 340, 370 622–623
Call of Duty: Infinite Warfare, 325, 363–365, clustered deferred shading, 904
420, 902 clustered forward shading, 904, 907, 908, 914
Call of Duty: WWII, 476 clustered shading, 898–905
camera, 307–308 C n -continuity, 728
camera space, 15 code optimization, see optimization, code
candela, 271 CodeAnalyst, 792
canonical view volume, 16, 94 coherence
capsule, 946 frame-to-frame, 866
cartoon rendering, see shading, toon length, 362
cathode-ray tube, see CRT spatial, 837
Catmull-Clark subdivision, see surfaces, temporal, 866
subdivision, Catmull-Clark collision detection, 14
Catmull-Rom spline, 731 color, 8, 272–290
caustics, 630–632 ambient, 392
Cel Damage, 659, 660 buffer, see buffer, color
cel rendering, see shading, toon grading, 289–290
cell, see culling, portal matching, 272–274
cell-based visibility, 842 mode, 1009
CFAA, see antialiasing, custom filter deep color, 1010
character animation, see transform, vertex high color, 1009–1010
blending true color, 1009–1010
charcoal, 652 perception, 278
Index 1159

color appearance model, 278 contouring artifacts, see banding artifacts


color space control cage, 756
ACEScg, 278 control mesh, 756
Adobe 1998, 277 control points, 720
DCI-P3, 277 control polygon, 754
ICT CP , 276, 287 convex hull, 950
Rec. 2020, 277, 281 Bézier curve, 723
Rec. 709, 277, 281 Bézier patch, 738
sRGB, 277, 281 Bézier triangle, 741
working, 278 Loop, 761
color-matching functions, 272–273 convex partitioning, 684
colorimetry, 272–279 convex polyhedron, 946, 950
command buffer, 812–814 convex region, 685
common-shader core, 35 convolution, 135
communication, 1023 Cook-Torrance model, 314
compositing, 159 cookie, 221, 230, 434
compression coordinate system
asymmetry, 196 left-handed, 92, 95
buffer, see buffer, compression right-handed, 92
texture, see texturing, compression corner cutting, 753
vertex, see vertex, compression counterclockwise vertex order, 63, 692
computational photography, 549, 573 coverage, 995
compute shader, 14, 40, 41, 51, 54, 245, 256, coverage mask, A-buffer, 155
259, 288, 514, 518, 535, 536, 569, 578, CPU-limited, 786
582, 611, 677, 778, 784, 795, 798, 812, cracking, 689, 769
851, 879, 888, 893, 895, 896, 901, 903, Bézier triangle, 747
907, 911, 912, 914, 986, 1043 fractional tessellation, 769
compute unit, 1003, 1035 polygon edge, 689, 714
concatenation, see transform, concatenation of quadtree, 774
cone tracing, 455, 467, 584 tessellation, 771
voxel, 495, 504 crawlies, 130
conservation of energy, 312 crease, 763
conservative depth, 1016 critical angle, 326
conservative rasterization, see rasterization, cross product, 7
conservative CrossFire X, 1013
constructive interference, see light, interference, CRT, 161
constructive Crysis, 220, 457, 458, 559
constructive solid geometry, 750 Crysis 3, 631
continuity, see also curves and surfaces CSAA, see antialiasing, coverage sampling
C 0 , 728, 741, 745 CSG, 750
C 1 , 728, 742 CSM, see shadow, map, cascaded
C n , 728 cube map, 173, 190
G1 , 728, 742 cube mapping, see environment mapping, cubic
Gn , 728 cube texture, 190
continuous signal, 131 CubeMapGen, 415
contour, 686 cubic convolution, 178
edge detection, 665–669 cubic curve, see curves, cubic
halo, 659 cuculoris, 434
image, 660–665 CUDA, 54, 1040
line, 655 culling, 830–851
loop, 667 backface, 800, 831–835
procedural geometry, 657–660 orientation consistency, 63
shading normal, 656–657 clustered backface, 833–835
shell, 658–659 detail, 839–840
1160 Index

culling (continued) deferred lighting, 892


early-z, 53, 801, 849, 851, 1016 deferred shading, 547, 883–890, 1022, 1028
frontface, 832 deferred texturing, 905–908
hierarchical z-buffering, 846–850 denoising, 519
hierarchical view frustum, 807, 835–837, dependent texture read, see texture, dependent
981 read
image-space, 843, 844, 846 depth
object-space, 843 buffer, see buffer, z-buffer
occlusion, 822, 840–850 reversed, 100
occlusion query, 844–845 complexity, 801, 841
portal, 837–839 peeling, 152, 154–155, 252, 625, 893
ray-space, 843 sprite, see under impostor
view frustum, 807, 835–837, 981 depth of field, 523, 525, 527–536, 835
z, 846 derivative, see gradient of pixel
zmax , 1015 Destiny, 129, 130, 453, 815
zmin , 1015 Destiny 2, 571, 572, 1041
curve segment, 729–730 Destiny: The Taken King, 128
curved surfaces, see surfaces destructive interference, see light, interference,
curves destructive
B-spline, 732–734, 754, 756 determinant of a matrix, 7
Bézier, 720–725 Deus Ex: Mankind Divided, 908
bounded Bézier, 725–726 dielectric, 321
Catmull-Rom spline, 731 difference of Gaussians, 665
continuity, 726–728 diffraction, 303, 360–361
cubic, 721, 724, 729 diffuse color, 314, 348
degree, 721 diffuse term, 306
GPU rendering, 725–726 diffusion, 634
Hermite, 729–730 normal-map, 635
Kochanek-Bartels, 730–732 screen-space, 636–638
parametric, 718–734 texture-space, 635
piecewise, 726 digital differential analyzer, 506
quadratic, 721, 722–724 digital visual interface, 1011
quartic, 721 dihedral angle, 654, 660, 695
S-shaped, 728, 771 dimension reduction, 955
spline, 729, 781 direct memory access, see DMA
subdivision, 753–756 Direct3D, 21n
tension parameter, 730 DirectCompute, 40
directed acyclic graph, 586, 829
D65, see illuminant D65 direction, principal, 672
DAG, see directed acyclic graph directional occlusion, 465
dart, 763 dynamic, 467–468
data race condition, 51 precomputed, 466
data reduction, see simplification shading, 468–472
data-level parallelism, 1003 DirectX, 38–41
data-oriented design, 791 DirectX 11, 813
de Casteljau DirectX 12, 814
Bézier curves, 721 discrete geometry LOD, see level of detail,
Bézier patches, 736 discrete geometry
Bézier triangles, 740 discrete ordinate methods, 493
DEAA, see antialiasing, distance-to-edge discrete oriented polytope, see k-DOP
decals, 202, 888–890, 901 discretized signal, 131
decimation, see simplification Disney Infinity 3.0, 372
deep color mode, 1010 displaced subdivision, see surfaces, subdivision,
deferred context, 813 displaced
Index 1161

displacement mapping, 167, 219, 765, 770 contour, 654–656


display crease, 654, 695, 709, 747
encoding, 160–165 detection, 661, 663
engine, 1011 feature, 654
flare, 285 function, 994–996
head-mounted, 916 hard, 654
interface, 1011 join, 686
list, 812 keyholed, 686
primary, 276 material, 654
varifocal, 923 preservation, 695
display rate, 1 ridge, 654, 660
display-referred, 283 silhouette, 654–655
DisplayPort, 1011 stitching, 689
distance field, 677 suggestive contour, 655
distortion, lens, 921 valley, 654, 660
distribution of normals, see NDF effective surface, 350
distribution of visible normals, 333 electrical optical transfer function, 161, 283
dithering, 1010 EM, see environment mapping
DLAA, see antialiasing, directionally localized energy efficiency, 1024
DMA, 1034 Enlighten, 482
Dolby Vision, 282 enveloping, see transform, vertex blending
DOM, see discrete ordinate methods environment mapping, 404–433
domain, 719 cubic, 410–412, 425
rectangular, 736 irradiance, 424–433
triangular, 740 latitude-longitude, 406–408
domain shader, 44 localized, 499–502
DOOM (2016), 246, 540, 629, 823, 869, 883, 901 octahedral, 413
dot product, 7 parabolic, 413
dots per inch, 817 prefiltered, 415–420, 471, 502, 503
double buffer, see buffer, double sphere, 408–410
downsampling, 136, 518, 525 EOTF, see electrical optical transfer function
DRAM, 791 EQAA, see antialiasing, enhanced quality
draw call, 35 Ericsson texture compression, see texturing,
Dreams, 577, 1045 compression, ETC
driver, see graphics driver ESM, see shadow, map, exponential
dual paraboloid mapping, see environment ETC, see under texturing, compression
mapping, parabolic Euler angles, 59, 70, 73, 82
dual source-color blending, 53 Euler transform, see transform, Euler
dueling frusta, 242 Euler-Mascheroni constant, 802
Dust 514, 493 Euler-Poincaré formula, 699, 706
DVI, 1011 EVS, see exact visible set
DXR, 1044 EVSM, see shadow, map, exponential
DXTC, see under texturing, compression EWA, 189
dynamic buffer, 793 exact visible set, 831
dynamic super resolution, 139 execution unit, 1003
exitance, 442, 474
EAC, 194 explicit surface, see surfaces, explicit
ear clipping, 685 exposure, 285, 288–289
early-z culling, see under culling extraordinary vertex, 758
edge, 654–656, see also line eye space, 15
border, 654 eye-dome lighting, 575
boundary, 654, 661, 692, 709
bridge, 686 faceter, 682
collapse, see under simplification fairness, 761
1162 Index

falloff function, 114, 381 Forza Motorsport 7, 2, 412


fan, see triangle, fan foveated rendering, 931–932
Far Cry, 453, 476 FPS, 1, 13, 789, 817
Far Cry 3, 478, 481 fragment, 22, 49
Far Cry 4, 420, 481 fragment shader, 23, 49, 125, see also pixel
far plane, 93, 99, 981 shader
Feline, 189 frame rate, 1, 808
fence, 938 constant, 865
FIFA, 616 frame-to-frame coherence, 866
FIFO, 808, 809, 1023 framebuffer, 25
fill rate, 788 frames per second, 13
film frame rate, 536 FreeSync, 1011
filter, 130–137, 515 FreeType, 676
bilateral, 462, 518–520 Fresnel effect, 319
box, 134, 165, 517, 518 Fresnel equations, 316
bright-pass, 527 Fresnel reflectance, 316–327, 330, 331, 348, 351,
cross bilateral, see filter, joint bilateral 405, 420, 421, 426, 498, 626, 631, 632,
disk, 518 643, 892
edge-preserving, 520 Schlick approximation, 320, 321, 326, 347,
Gaussian, 136, 189, 515, 517, 572, 665 351, 598
joint bilateral, 249, 519 front buffer, see buffer, front
kernel, 517 front plane, 93n
low-pass, 135, 136 Frostbite game engine, 111, 113, 115, 116, 287,
nearest neighbor, 134 290, 312, 325, 616, 804, 811, 851, 878,
rotation-invariant, 515 890, 893, 903
running-average, 523 froxel, 611
separable, 516, 517, 520, 532 frustum, 11, 17–18, 981
sinc, 135–136, 515 plane extraction, 983–984
steerable, 525 tracing, 261
support, 517 frustum/object intersection, see specific objects
tent, 134 under intersection testing
triangle, 134 FSAA, see antialiasing, full-scene
fin, 646, 668 full screen pass, 514
Final Fantasy XV, 620 fur, 640–641, 646–649
fireflies, see under aliasing FX Composer, 44
Firewatch, 104 FXAA, see antialiasing, fast approximate
first principal direction, 672
fixed-function pipeline, 27 G-sync, 1011
fixed-view effects, 546–547 G1 -continuity, see continuity
flat shading, 120 gamma correction, 160–165, 184
FLIPQUAD, 146 gamut, 276, 323
floor, 769 sRGB, 323
flow control, 36 gas, ideal, 297
dynamic, 36 gather operation, 532
static, 36 Gauss map, 667
flush, 1005 Gaussian, anisotropic spherical, 398, 498
FMA, 1026, 1033 GBAA, see antialiasing, geometry buffer
fog, 598, 600–602, 608 GCN, see under hardware
force feedback, 14 genus, 699
form factor, 442 geodesic curve, 81
forward mapping, 531 geometric mean, 864
forward shading, 883 geometry
forward+ shading, see tiled, forward shading clipmap, 872–873
Forza Horizon 2, 141, 899 patch, 775
Index 1163

processing, see under pipeline GTX 1080, 1029–1035


shader, 18–19, 47–48, 647, 668, 677, 702, Mali architecture, 1020, 1024–1029
786, 798 NVIDIA Pascal, 1029–1035
stage, see pipeline, geometry processing Pixel-Planes, 8n, 1026
geomorph LOD, see level of detail, geomorph PixelFlow, 1022
GigaThread engine, 1032 PLAYSTATION, 936
gimbal lock, 73 PLAYSTATION 3, 39, 700
glare effects, 524 PLAYSTATION 4, 867, 1007, 1035
global illumination, 315, 438 Pomegranate, 1022
glPolygonOffset, 236, 657, 673 Talisman, 189, 551
GLSL, 35, 39 Vega, 1035–1039
gluLookAt, 67 Voodoo 1, 1
gluPerspective, 99 Wii, 27, 39
Gn -continuity, 728 Xbox, 1035
gobo, 173, 221, 230, 434 Xbox 360, 39
golden thread, 547 Xbox One, 867
Gooch shading, 103, 663 harmonic series, 802
Gouraud shading, 118 Hausdorff distance, 708, 875
GPA, 785 H-basis, 475
GPU, 13, 29, see also hardware HBM2, 1034, 1038
computing, 54 HDMI, 1011
GPU Boost, 789 HDR, 193, 271, 281–283, 405
GPU PerfStudio, 785 display, 1011
GPUView, 785 HDR10, 281
gradient of pixel, 51, 185 head, 70, 72
graftals, 672 heads-up display, 561, 917, 932, 933
Grand Theft Auto V, 525 heat diffusion, 535
graphics driver, 786, 793, 1012 heightfield, 564–566, see also bump mapping
graphics processing unit, see GPU terrain, 877
grayscale, conversion to, 278 Hellgate: London, 609
great arc, 81 Helmholtz reciprocity, 312, 351
great circle, 81 hemisphere lighting, 431
green-screening, 160 hemispherical basis, see basis, hemispherical
GRID2, 258 hemispherical harmonics, 404
GTX 1080, see under hardware Henyey-Greenstein phase function, 598–599, 620
guard-band clipping, 998 Hermite curves, see curves, Hermite
Hermite interpolation, see interpolation,
H-basis, 404 Hermite
hair, 257, 640–646, 649 Hertz, 13
half vector, 336 hidden line removal, 668–669
half-edge, 692 hidden line rendering, see line, hidden
Half-Life 2, 402, 403, 476, 478, 499 hierarchical image caching, see impostor
Half-Life 2 basis, 403 hierarchical spatial data structure, see spatial
half-space, 6, 946 data structure
halo, 524 hierarchical view frustum culling, see culling,
Halo 3, 475 hierarchical view frustum
haloing, 675 hierarchical z-buffering, see under culling
Halton sequence, 144 high color mode, see color, mode, high color
hard real time, 865 high dynamic range, see HDR
hardware high-definition multimedia interface, 1011
GameCube, 867 High-Level Shading Language, see HLSL
GCN, 1035–1039 highlight, 119
GeForce 256, 29 highlight selection, 673
GeForce3, 38 histogram, 245
1164 Index

histogram renormalization, 196 intensity, 269


hither, 93n interactivity, 1
HiZ, 252, 1015, 1038 interface, see hardware
HLG, 281 interference, see under light
HLSL, 35, 39 interleaved sampling, 145
homogeneous notation, 6, 58, 62, 173 intermediate language, 35
homogenization, 62, 92 interpolation, 781, 998–1001
horizon angle, 460 barycentric, 963
horizon mapping, 460, 466 bicubic, 178
hourglass, 684 bilinear, 178–180, 182, 735–736
HRAA, see antialiasing, hybrid reconstruction centroid, 141
HTC Vive, see Vive Hermite, 729–732
HTILE, 1038 linear, 720
HUD, 561, 917, 932, 933 perspective-correct, 22, 49, 1000
hue, 276 quadrilinear, 189
hull shader, 44 repeated, 740
Hunt effect, 285 bilinear, 736
Huygens-Fresnel principle, 360 linear, 720–722
Hybrid Log-Gamma, see HLG trilinear, 186
hysteresis, 861 interpupillary distance, 923
HZB culling, see culling, hierarchical z-buffering intersection testing, 941–991
AABB/AABB, 978–979
IBR, see image-based rendering box/plane, 970–972
illuminant D65, 270, 274 box/ray, 959–962
image ray slope, 961–962
geometry, 566, 876 slabs method, 959–961
processing, 513–522, 665 BV/BV, 976–981
pyramid, 846, 847 convex polyhedron/ray, 961
state, 283 crossings test, 967–970
image-based lighting, 406, 414–424, 435 dimension reduction, 955
image-based rendering, 269, 545 frustum, 981–987
immediate context, 813 frustum/box, 986–987
implicit surface, see surfaces, implicit frustum/ray, 961
importance sampling, 385, 445, 451, 503 frustum/sphere, 984–986
impostor, 561–564, 866 hardware-accelerated, 942–943
depth sprite, 564–565 interval overlap method, 972–974
layered depth image, 565 k-DOP/k-DOP, 979–980
index buffer, 702–705 k-DOP/ray, 961
index of refraction, 298 line/line, 987–990
complex, 298 OBB/OBB, 980–981
indirect draw command, 851 picking, 942
inFAMOUS Second Son, 91, 572 plane/box, 970–972
inflection, 728 plane/ray, 966
inner product, 398 plane/sphere, 970
input assembler, 42 polygon/ray, 966–970
inside test, 996 polyhedron/polyhedron, 987
instance, 15, 829 ray/box, 959–961
instancing, 42, 797 rejection test, 948
instruction set architecture, 35 rules of thumb, 954–955
instruction-level parallelism, 1003 separating axis, 946
Instruments, 785, 792 separating axis test, 947, 974, 979, 980,
integral 986–987
double product, 464, 470 sphere/box, 977–978
triple product, 470 sphere/ray, 955–959
Index 1165

sphere/sphere, 976–977 LCD, 676


three planes, 990 LDI, see impostor, layered depth image
triangle/box, 974–975 LEAN mapping, 370
triangle/ray, 962–966 left-handed, see under coordinate system
triangle/triangle, 972–974 lens flare, 524–526
interval overlap method, see under intersection level of detail, 44, 580, 706, 717, 807, 852–866
testing alpha, 857–858
intrinsic functions, 36 bias, 186, see also texturing
inverse displacement mapping, see texturing, blend, 856
parallax occlusion mapping continuous, 706, 859, 860
inverse z, 100 discrete geometry, 854–856
IOR, see index of refraction fractional tessellation, 768
irradiance, 268, 294, 425 generation, 853
precomputed, 474 geomorph, 859–860
spherical harmonics, 475 hysteresis, 861
volume, 487 PN triangle, 747
irradiance mapping, see environment mapping, popping, 710, 854, 856, 858
irradiance projected area-based, 861–864
irregular vertex, 758 range-based, 860–861
isocube, 412 selection, 853, 860–864
isosurface, 584, 682, 753 simplification, 710
isotropic scaling, 62 subdivision surface, 756
switching, 853, 854–860
Jz az bz , 276 time-critical, 865–866
jaggies, see under aliasing level set, 583
jittering, see under antialiasing LIDAR, 573
joint, 720, 726, 728, 731 light
Jordan curve theorem, 967 ambient, 391–392
judder, 935 attenuation mask, 230
Just Cause 2, 114, 882 baking, 798
Just Cause 3, 883, 899, 900 bandwidth, 362
bleeding, 255
k-ary tree, 820 field, 269
k-d tree, see under spatial data structure interference
k-DOP, 945–946, 961, 976, 990 constructive, 296, 298
creation, 949 destructive, 296
Kentucky Route Zero, 121 thin-film, 361–363
Killzone: Shadow Fall, 116, 523 inverse-square attenuation, 111
Killzone 2, 885 leak, 238, 255, 256
Kite, 493 map, 484
Kochanek-Bartels curves, see curves, meter, 271
Kochanek-Bartels monochromatic, 293
polarized, linearly, 293
LAB, 276 polychromatic, 293
Lambertian shading, see BRDF, Lambertian prepass, 892
The Last of Us, 476 probe, 414, 490, 901
late depth test, 1016 propagation volumes, 493
late latching, 938 cascaded, 494
latency, 1, 30, 791, 807–810, 920–921, 935, scattering, see scattering
1004–1006, 1013 shafts, 602, 604, 608, 631
occlusion query, 845 source, 106–117, 798
Latin hypercube sampling, 143 area, 116–117, 224, 228, 377–391
latitude, 407, 944 card, 387, 388, 427
layered depth image, see under impostor directional, 109–110
1166 Index

light (continued) Loop subdivision, see surfaces, subdivision,


source (continued) Loop
disk, 379, 381, 388, 430, 435 loose octree, see under spatial data structure
fill, 431 lossy compression, 194
omni, see light, source, point Lost Planet, 647
planar, 388 lozenge, 946
point, 111–114 LPV, see light, propagation volumes
polygonal, 389 Lumberyard, 740, 1044
punctual, 110–116 Lumigraph, 549
spherical, 381–384, 386, 387, 430 luminance, 197, 271, 273, 278
spot, 114–115 LUT, see lookup table
tube, 387 LUV, 276
volume, 224
transport Möbius strips, 693
linearity, 438, 479 Mach banding, 1010
meshless, 484 macroscale, 208, 367
modular, 484 magnification, see under texturing
notation, 439–440 main axes, 8
unpolarized, 294 Mali, see hardware, Mali architecture
velocity, phase, 294 manifold, 694
visible, 268 Mantle, 40
light map, 227 marching cubes, 583, 683, 753
light-field rendering, 549 marching tetrahedra, 753
lightcuts, 431 mask, 759
lighting probe, 490 masked hierarchical depth buffer, 849
limit masking
curve, 754, 756 function, 333
surface, 760 perceptual, 278
line, 19, 673–675, see also edge masking-shadowing function, 334, 335
haloing, 675 material, 125
hidden, 674–675 glossy, 382–386
integral convolution, 538 instance, 126
triangle edge rendering, 673–674 template, 126
line/line intersection, see intersection testing, matrix, see also transform
line/line adjoint, 68
linear blend skinning, 84 change of basis, 63, 67, 75
linear interpolation, 720 column-major, 60
linear speedup, 810 determinant, 63
linear transform, see transform, linear orientation, 60, 70
linearly transformed cosines, 390 orthogonal, 69, 72, 80
LiSPSM, see shadow, map, light space rotation, 70
perspective row-major, 60, 95
LittleBigPlanet, 488 trace, 61, 80
load balance, 1023 transpose, 7, 63
lobe matte, 159
anisotropic, 422–424 mean width, 954
asymmetric, 422–424 media, 310
local frame, 343 mediated reality, 917
local illumination, 315 medium
local lighting model, 438 absorptive, 298
LOD, see level of detail homogeneous, 298
log, 8 megatexture, 867
longitude, 407, 944 memory
lookup table, 173 allocation, 793
loop, 686 architecture, 1006–1007
Index 1167

bandwidth, 1006 morph targets, see under transform


controller, 1038 morphing, see under transform
dynamic random access, 791 Morton sequence, 1018
hierarchy, 791 mosaicing, see texturing, tiling
optimization, see optimization, memory motion blur, 536–542, 835
UMA, 1007 MPEG-4, 712
unified, 1007 MRT, 50
wall, 791 MSAA, see antialiasing, multisampling
merging of pixels, 24–25 multi-view, 928
merging stage, 24–25, 53 multicore, 806
mesh multiprocessing, 805–814, 1023
cache-oblivious, 700–701 dynamic assignment, 810
parameterization, 173 message-passing, 806
segmentation, 683 parallel, 809–810
smoothing, 694–696 pipeline, 806–809
solidity, 693–694 static assignment, 810
triangle, 691, 699–701 symmetric, 806
universal, 700–701 task, 811–812
Meshlab, 695, 716 task-based, 806
mesoscale, 208–209, 367 multiprocessor, 1003
message-passing architecture, see shared memory, 806, 1003
multiprocessing, message-passing streaming, see streaming, multiprocessor
metaball, 48, 683, 751 multisampling, see under antialiasing
Metal, 40, 814 multitexturing, see texturing
metal, 323 multum in parvo, 183
Metal Gear Solid V: Ground Zeroes, 289
metameric failure, 280 N-patch, see surfaces, PN triangle
metamers, 273 N -rooks sampling, 143
microfacets, 331–336 nailboard, see impostor, depth sprite
microgeometry, 304, 327–330 nanogeometry, 359
masking, 328 NDF, 332, 337–346, 367, 498
shadowing, 328 anisotropic, 343–346
micropolygon, 26 Beckmann, 338
microscale, 208, 367 Blinn-Phong, 339, 340
Mie scattering, see scattering, Mie filtering, 367–372
Minecraft, 579, 842 generalized Trowbridge-Reitz, see NDF,
minification, see under texturing GTR
mipmap chain, 184 GGX, 340–342, 369
mipmapping, see under texturing, minification GTR, 342
mirror transform, see transform, reflection isotropic, 338–343
Mirror’s Edge Catalyst, 616 shape-invariance, 339
mixed reality, 917 Trowbridge-Reitz, see NDF, GGX
MLAA, see antialiasing, morphological near plane, 93, 99, 862, 981
MMU, 1024 nearest neighbor, see under filter and texturing,
model space, 15 magnification and texturing,
modeler, 682–683 minification
solid, 682 Need for Speed, 616
surface, 683 Newell’s formula, 685
modified butterfly subdivision, see surfaces, node, 819–821
subdivision internal, 819
modified Gram-Schmidt, 344 leaf, 819
Monte Carlo integration, 385, 418, 419, 423, root, 819
444, 451, 459, 507 node hierarchy, 828
noise, 445, 511 noise, 872
Moore’s Law, 1042 noise function, see texturing, noise
1168 Index

non-photorealistic rendering, 651–673 merging, 805


noncommutativity, 65, 77 mobile, 814
normal pipeline, 783–815
cone, 833–835 pixel processing, 800–804
incidence, 317 pixel shader, 803
map, see under bump mapping rasterization, 800
transform, see transform, normal The Orange Box, 288
normal distribution function, see NDF The Order: 1886, 91, 357, 365, 370, 477, 498,
normal-masking independence, 334 896
normalized device coordinates, 19, 94, 98, 100 ordinary vertex, 758
NPR, see non-photorealistic rendering Oren and Nayar model, 354
NSight, 785 orientation, see under polygon
NURBS, 781 oriented bounding box, see OBB
NVIDIA Pascal, see under hardware orienting the camera, 67
Nyquist limit, see under sampling over operator, 150–151, 856
overblurring, 186
OBB, 945, 946, 976 overclock, 787
OBB/object intersection, see specific objects overdraw, see under pixel
under intersection testing
object-based shading, 908–912 packed pixel format, 1010
obscurance, 449, 450, 454, 457 padding, 792
volumetric, 459 painter’s algorithm, 551, 824
occluder, 844 painterly rendering, 652
occluding power, 844 pan, 538
occlusion culling, see culling, occlusion parabola, 721
occupancy, 32, 127, 801, 886, 898, 1005 parabolic mapping, 413
occupancy function, 459 parallax, 548
octahedral mapping, 413 mapping, 167, 214–220
octave, 198 occlusion mapping, see under texturing
octree, see under spatial data structure parallel
octree texture, 190 architectures, 1020
Oculus Rift, 915, 916, 923, 935 graphics, 1019
OETF, see optical electric transfer function processing, see multiprocessing, parallel
Okami, 653 projection, see projection, orthographic
opacity, 149 parallelism, 810
Open3DGC, 712 spatial, 806
OpenCL, 54 temporal, 806
OpenCTM, 712 parametric curves, see curves, parametric
OpenGL, 39–41 parametric surfaces, see surfaces, parametric
extensions, 40 participating media, 310
OpenGL ES, 41, 194 absorption, 590
OpenGL Shading Language, 35 extinction, 590, 593, 595, 610, 616, 624,
OpenSubdiv, 777–779 639, 643
optical electric transfer function, 161 optical depth, 593, 595
optics phase function, 590, 623, 626, 638, 644
geometrical, 303 geometric, see scattering, geometric
physical, 359 Mie, see scattering, Mie
wave, 359 Rayleigh, see scattering, Rayleigh
optimization particle
application stage, 790–793 soft, 558–559
code, 790–793 system, 567–572
geometry processing, 798–800 Pascal, see hardware, NVIDIA Pascal
lighting, 798–800 patch, 736
memory, 791–793 path tracing, 26, 444, 510, 1043, 1044
Index 1169

PCF, see percentage-closer filtering Pixel-Planes, see under hardware


PCI Express, 1006 pixelation, 178
Pearl Harbor, 446 PixelFlow, 1022
pen and ink, 652 pixels per inch, 817
pending buffer, 1013 pixels per second, 788
penumbra, see under shadow plane, 6
per-triangle operations, 14 axis-aligned, 8
per-vertex operations, 14 coordinate, 8
percentage-closer filtering, 247–250, 849 plane masking, 836
perceptual quantizer, see PQ plane/object intersection, see specific objects
performance measurement, 788–790 under intersection testing
perp dot product, 6, 987, 989 PLAYSTATION, see under hardware
persistence, 935 point cloud, 572–578, 683
perspective point rendering, 572–578
division, 19 point-based visibility, 842
projection, see projection, perspective pointer indirection, 792
warping, 241 Poisson disk, 249
perspective-correct interpolation, see Pokémon GO, 917
interpolation polycube maps, 171
Peter Panning, 238 polygon
Phong lighting equation, see BRDF, Phong bowtie, 684
Phong shading, 118 consolidation, 691
Phong tessellation, see under surfaces contour, 686
photogrammetry, 573, 682 convex, 685
photometric curve, 271, 273, 278 edge cracking, see cracking, polygon edge
photometry, 271 edge stitching, 689
photopic, 271 hourglass, 684
photorealistic rendering, 545, 651 loop, 686
PhyreEngine, 893 merging, 691
pick window, see intersection testing, picking mesh, 691
picking, 942, 943, 957 orientation, 691–693
piecewise Bézier curves, see curves, piecewise sorting, 824
ping-pong buffers, 520, 525 soup, 691
pipeline, 11–27, 783–815 star-shaped, 686
application stage, 12, 13–14, 783 T-vertex, 689–690
fixed-function, 27 polygon-aligned BSP tree, see spatial data
flush, 1005 structure, BSP tree
functional stages, 13 polygonal techniques, 853
geometry processing, 12, 14–21, 783 polygonalization, 583, 683
parallelism, 1003 polymorph engine, 1031
pixel processing, 12, 22–25, 783 polypostor, 562
rasterization, 12, 21–22, 783, 993–998 POM, 217
software, 806 popping, see under level of detail
speedup, 12 port, 1006
stage, 12–13 portal culling, see culling, portal
Pirates of the Caribbean, 454 pose, 921, 924, 938
pitch, 70, 72 post-processing, 514
PIX, 785 posterization, 652, 1010
pixel, 21 potentially visible set, 831
local storage, 1027 power form, 724
overdraw, 701, 801 power gating, 1028
processing, see under pipeline PowerTune, 789
shader, 23, 49–52 PowerVR, 196
synchronization, 156 PQ, 281
1170 Index

pre-lighting, 892 Quake III, 37, 402


pre-order traversal, 835 quantization, scalar, 714
precision, 712–715 Quantum Break, 496
color, 186, 1010 quartic curve, see curves, quartic
depth, 236 quaternion, 72, 76–84
floating point, 713 addition, 77
mobile, 814 conjugate, 77, 78
subpixel, 689 definition, 76
precomputed radiance transfer, 471, 478, 479, dual, 87
481 identity, 77
local deformable, 481 imaginary units, 76
predictive rendering, 280 inverse, 77
prefilter, 414 laws of multiplication, 78
primitive generator, 44 logarithm, 78
primitive shader, 1037 matrix conversion, 79–81
Prince of Persia, 658 multiplication, 77
principal component analysis, 480, 484 norm, 77, 78
probability, geometric, 953–954 power, 78
procedural modeling, 222, 672, 682 slerp, 81–83
procedural texturing, see texturing, procedural spherical linear interpolation, 81–82
processor spline interpolation, 82–83
pixel, see pixel, shader transforms, 79–84
vertex, see vertex, shader unit, 78, 79
progressive refinement, 510, 547 Quickhull, 950
projection, 16–18, 92–102 Quincunx, see antialiasing, Quincunx
3D polygon to 2D, 966 quintic curve, 181
3D triangle to 2D, 962
bounding volume, 861–864
cylindrical, 172 radiance, 269–270, 273, 425
orthographic, 17–18, 59, 93–95 distribution, 269
parallel, see projection, orthographic incoming, 315
perspective, 17, 59, 96–102, 1014 radiant
planar, 172 exitance, see exitance
spherical, 172 flux, 268
projective texturing, see texturing, projective intensity, 269
proxy object, 819 radiometry, 267
PRT, see precomputed radiance transfer radiosity, 442–443
PSM, see shadow, map, perspective normal mapping, 402–404
Ptex, 191 progressive, 483
purple fringing, 628 RAGE, 867
purple line, 274 Rainbow Six Siege, 887
PVRTC, see under texturing, compression range-based fog, see fog
PVS, see potentially visible set raster engine, 1031
PxrSurface, 343, 359, 363, 364 raster operation, see ROP
rasterization, see under pipeline
QEM, 708 conservative, 22, 139, 259, 582, 1001
quad, 51, 801, 994 inner, 1001
quad overshading, 787, 853, 863, 910, 994 outer, 1001
quadratic curve, see curves, quadratic overestimated, 1001
quadratic equation, 957 underestimated, 1001
quadric error metric, 708 rasterizer order view, 52, 139, 156
quadtree, see under spatial data structure rasterizer stage, see pipeline, rasterization
Quake, 37, 474 Ratatouille, 638
Quake II, 474 rational linear interpolation, 720
Index 1171

ray, 943–944 RenderMan, 37, 39


casting, 443 repeated linear interpolation, see interpolation,
function, 437 repeated, linear
marching, 199, 216–220, 262, 566, 570, 594, reprojection, 143, 522–523, 936
607, 608, 614, 616, 618, 620–622, 639, resampling, 136–137
642, 648, 752, 753, 1048 resolve, 142
tracing, 26, 259, 261, 443–445, 530, 586, retopology, 712
802, 953, 1006, 1044–1047 retrace, vertical, 25, 1012
architecture, 1039 retroreflection, 330
isosurface, 584 reverse mapping, 532
voxel, 580 reversed z, 100
ray/object intersection, see specific objects Reyes, 908–912
under intersection testing RGB, 176
Rayleigh scattering, see scattering, Rayleigh color cube, 275
reciprocity, 312 color mode, see color, mode, true color
reconstruction, 131, 133–136 to grayscale, 278
reduce, 245, 896 RGBA, 150, 159, 1010
reflectance texture, 176
anisotropic, 328 RGSS, see antialiasing, rotated grid
directional-hemispherical, 313 right-hand rule, 692
equation, 311, 437 right-handed, 92
hemispherical-directional, 313 rigid-body transform, see transform, rigid-body
isotropic, 328 ringing, 256, 401, 428, 570
spectral, 279 roll, 70, 72
reflectance lobe, see under BRDF ROP, 24, 25, 1010, 1032–1033
reflection, 314, 315, 623, 626, 630 roping, 165
environment mapping, 413 rotation, see under transform
equation, see reflectance, equation roughness, 304
external, 317 ROV, see rasterizer order view
internal, 317, 325 RSM, see shadow, map, reflective
total, 326
law of, 504
mapping, 405 S3TC, 192
planar, 504–505, 839 saccade, 931
probe, 499 SAH, see surface area heuristic
localized, 500 sample, 22
proxy, 500 sampling, 130–137, 143, see also antialiasing
screen-space, 505–509 band-limited signal, 133
transform, see transform, reflection centroid, 141
refraction, 149, 302, 626–630, 631–633, 638, 639 continuous signal, 131
image-space, 630 discretized signal, 131
refractive index, 298 Nyquist limit, 133, 182, 186
refresh rate, 1 pattern, 143
vertical, 1011 stochastic, 145, 149
register combiners, 38 stratified, 144
register pressure, 127, 801, 904, 1005 theorem, 133
regular vertex, 758 SAT, see intersection testing, separating axis
relief texture mapping, see texturing, relief test
relighting, 547 saturation, 276
render target, 50 SBRDF, 310
RenderDoc, 785 scalable link interface, 1013
rendering scaling, see under transform
equation, 437–438 scan conversion, 21
spectrum, 545–546 scanline interleave, 1013
state, 794 scatter operation, 531
1172 Index

scattering, 297, 589–599 shadow, 223–265


backward, 597, 598, 599 acne, 236
forward, 597, 598, 599, 607, 638 anti-shadow, 227
geometric, 596, 599 buffer, 234
Mie, 298, 596, 597–599, 614, 620 contact hardening, 251
multiple, 607, 615, 616, 621–622, 633, on curved surfaces, 229–230
643–646 depth map, 234
Rayleigh, 298, 596–597, 613, 614 hard, 223
single, 589, 592, 610, 614, 618, 633, 638 map, 230, 234–252, 594, 604
subsurface, see subsurface scattering adaptive volumetric, 258
Tyndall, 298 bias, 236–239
scene graph, see under spatial data structure cascaded, 242–247
scene-referred, 283 convolution, 255
Schlick phase function, 599 deep, 257–259, 638
scoreboard, 1031 dual, 238
scotopic, 271 exponential, 256–257
screen filtered, 252–257
coordinates, 20 imperfect, 492
mapping, 20 irregular, 259–264
space coverage, 772, 862 light space perspective, 241
scRGB, 282 minmax, 252
SDR, 281 moment, 256
SDSM, see shadow, map, sample distribution omnidirectional, 234
second-order equation, 957 opacity, 257, 612
sectioning, 19 parallel-split, 242
segmentation, 683 perspective, 241
semiconductor, 324 reflective, 491, 493
separating axis test, see under intersection sample distribution, 245
testing second-depth, 238
separating hyperplane theorem, 946 sparse, 246, 263
SGI algorithm, see triangle, strip translucent, 639
shade tree, 37 trapezoidal, 241
shader variance, 252–255
cores, 30 volumetric, 644
storage buffer object, see unordered access penumbra, 224, 228
view percentage-closer soft, 250–252
unified, see unified shader architecture planar, 225–229
Shader Model, 38 soft, 228–229
Shadertoy, 199, 222, 753, 1048 projection, 225–227
shading, 16 screen-space, 262
clustered, see clustered shading soft, 224–225, 227–229, 247–252, 442
deferred, see deferred shading umbra, 224
equation, 16 volume, 230–233
flat, 120 shadowing-masking function, see
forward, 883 masking-shadowing function
Gouraud, 118 shape blending, see transform, morph targets
hard, 652 shared memory multiprocessor, see
language, 35 multiprocessor, shared memory
model, 103–106 shear, see under transform
Lambertian, 109 shell, 646
Phong, 118 shell mapping, 220, 659
pixel, 23, see also pixel shader shortest arc, 81
tiled, see tiled, shading shower door effect, 670
toon, 652–654 Shrek 2, 491
vertex, see vertex, shader signed distance field, 454, 579, 677
Index 1173

signed distance function, 577, 750 BSP tree, 819, 822–824


spherical, 466 axis-aligned, 822–823
silhouette, 765, 773 polygon-aligned, 823–824
loop, 667 cache-aware, 827–828
SIMD, 31, 1003, 1005, 1035 cache-oblivious, 827–828
SIMD lane, 31, 1002 hierarchical, 818
simplification, 706–712, 853 irregular, 819
cost function, 707–709 k-d tree, 822–823
edge collapse, 706–708 loose octree, 826–827
level of detail, 710 octree, 819, 824–827, 846
optimal placement, 707 quadtree, 825, 874
reversibility, 706 restricted, 774, 877
SIMT, 1002 regular, 819
simulation sickness, 920 scene graph, 828–830, 840, 861
single buffer, see buffer, single LOD, 861
skeleton-subspace deformation, see transform, spatial locality, 791
vertex blending spatial relationship, 438
skinning, see transform, vertex blending spatialization, 830
sky, see atmosphere and clouds SPD, see spectral power distribution
skybox, 547–549, 556, 628, 632 spectral power distribution, 270, 272
slab, 945 spectrum, 268, 274
slerp, see under quaternion specular
SLI, 1013 highlight, 119
slicemap, 581 lobe, see under BRDF
SMAA, see antialiasing, subpixel morphological term, 306
small batch problem, 796 sphere, 682
smart composition, 1028 formula, 944, 956
Smith masking function, 334, 335, 339, 341–343, mapping, see environment mapping, sphere
355, 358 sphere/object intersection, see specific objects
smoothstep, 115, 181 under intersection testing
SMOOTHVISION, 145 spherical
SMP, 806 basis, see basis, spherical
Snell’s law, 302, 326 coordinates, 407, 944
softbox, 388, 434 function, 392–404
software pipelining, see multiprocessing Gaussian, see basis, spherical, Gaussian
solid, 693 harmonics, 398–401, 427–431, 456, 480,
solid angle, 268 488
differential, 311 gradients, 488
sort, 822 linear interpolation, see under quaternion
space, 1020 SPIR-V, 40
sort-everywhere, 1022 splat, 573–574
sort-first, 1020 spline curves, see curves, spline
sort-last, 1020, 1033 spline surfaces, see surfaces, spline
fragment, 1021 split and dice, 774–775
image, 1021, 1022 Split/Second, 898
sort-middle, 1020, 1024 Spore, 678, 710
space subdivision, 819 sprite, 531, 550–551, see also impostor
space-filling curve, 1018 layered, 550–551
spacewarp, 935, 937 SRAA, see antialiasing, subpixel reconstruction
sparse texture, see texturing, sparse sRGB, 161, 162, 165, 196, 322, 323
sparse voxel octree, 494, 579 SSBO, see unordered access view
spatial data structure, 818–830 SSE, 977–979
aspect graph, 831 stage
bounding volume hierarchy, 510, 819–821, stalling, 809
942 starving, 12, 809
1174 Index

stalling, 809 implicit, 749–753, 944


standard dynamic range, see SDR blending, 751
Star Ocean 4, 286 derivatives, 751
Star Wars Battlefront, 647 sphere, 956
star-shaped polygon, 686 NURBS, 781
Starcraft II, 459 parametric, 171, 734–747
starving, see under stage Phong tessellation, 735, 740, 748–749
state PN triangle, 46, 735, 740, 744–747, 748, 749
changes, 794 spline, 689, 761
sorting, 807 subdivision, 756–767
static buffer, 794 adaptive quadtree, 718, 779–780
stationary subdivision, see surfaces, subdivision, approximating, 758
stationary Catmull-Clark, 761–763
stencil, 759 displaced, 765–766
stencil buffer, see buffer, stencil feature adaptive, 777–779
steradian, 268, 269 limit position, 760
stereo rendering, 927–931 limit surface, 760
stereo vision, 922–924 limit tangents, 760
stereopsis, 922 Loop, 758–761, 763, 765–767
Stevens effect, 285 mask, 759
stitching, 689 modified butterfly, 761
stream output, 19, 48–49, 571, 705 stationary, 756
streaming, 871–872 stencil, 759
multiprocessor, 1003, 1029 tensor product, 735
texture, see texturing, streaming tessellation, 735
stride, 702 surfel, 573
strip, see triangle, strip surround, 285
stroke, 672 SVBRDF, 310
stylized rendering, see non-photorealistic swap buffer, see buffer, swap
rendering swizzling, 1018
subdivision curves, see curves, subdivision synchronization with monitor, 790, 1012, 1013
subdivision surfaces, see surfaces, subdivision
subpixel addressing, 689 TAM, see tonal art map
subsurface albedo, 348–349 tangent
subsurface scattering, 305–307, 445, 607 frame, 209
global, 306, 632–640 map, 344
local, 306, 347–355 patch, 775
subtexture, see texturing space, see under basis
summed-area table, see under texturing, vector, 209, 729
minification TBN, 209
superscalar, 14 Team Fortress 2, 654, 677, 678, 940
supershader, 128 tearing, 1012
surface area heuristic, 953 technical illustration, 651, 673
surface extraction, 583 temporal
surfaces aliasing, see aliasing, temporal
acne, 236 coherence, 866
B-spline, 749, 762 delay, 1
Bézier patch, 735–738 locality, 791
Bézier triangle, 740–741, 745 temporary register, 36
biquadratic, 736 tensor product surfaces, 735
continuity, 741–742 terrain chunked LOD, 874–877
explicit, 944 tessellation, 683–690, 767–780, 853
sphere, 944 adaptive, 770–775
triangle, 944, 963 control shader, 44
Index 1175

domain shader, 44 image, 176–198


evaluation shader, 44 image size, 177
factors, 45 level of detail bias, 186
fractional, 768–770, 860 light mapping, 484
hull shader, 44 magnification, 177, 178–181
levels, 45 bilinear interpolation, 178
stage, 18, 44–46, 677 cubic convolution, 178
surface, 735 nearest neighbor, 178
tessellator, 44 minification, 177, 182–189
uniform, 767 anisotropic filtering, 187–188
tetrahedralization, 489 bilinear interpolation, 182
texel, 169 Elliptical Weighted Average, 189
Texram, 189 level of detail, 185
text, 675–677, 725 mipmapping, 183–186
texture nearest neighbor, 182
array, 191 quadrilinear interpolation, 189
atlas, 190 summed-area table, 186–188
bandwidth, 1006 trilinear interpolation, 186
cache, see cache mipmapping, 485
coordinates, 169 mirror, 174
cube map, 190 mirror once, 175
dependent read, 38, 177, 220, 406 noise, 198, 549
matrix, 174n, 410 one-dimensional, 173
periodicity, 175 parallax occlusion mapping, 167, 216–220
space, 169 parameterization, 485, 486
volume, 189–190 pipeline, 169–176
volumetric, 646 procedural, 198–200
texture processing cluster, 1031 projective, 221, 688
texture-space shading, 910 projector function, 169–174
texturing, 23, 167–222 relief, 216–220, 222, 565–566, 630, 646,
albedo color map, 201 853, 854
alpha mapping, 176, 202–208, 551 repeat, 174
animation, 200, 203 seams, 486
bindless, 192 shells, 485
border, 174 sparse, 246, 263, 867–871
cellular, 199 streaming, 870–871
charts, 485 subtexture, 184
clamp, 174 swizzling, 1018
clipmap, 867 texture coordinates, 169
compression, 192–198, 486, 503 tiling, 795
ASTC, 196, 1029 transcoding, 870–871
BC, 192–193 value transform function, 169
DXTC, 192–193 vertex, 43, 186
EAC, 194 virtual, 867–871
ETC, 194–195, 1029 wrap, 174
lossy, 194 TFAN, 712
normal, 195 That Dragon, Cancer, 121
PVRTC, 195–196 thin-film interference, see light, interference,
S3TC, 192 thin-film
corresponder function, 169, 174–175 thread
decaling, 202 divergence, 32, 260
detail, 180 group, 54, 518
diffuse color map, 201 shader, 31
distortion, 687–688 thread-level parallelism, 1003
1176 Index

Threading Building Blocks, 812 Gaussian elimination, 69


three plane intersection, see intersection testing, LU decomposition, 69
three planes length-preserving, 66
three-dimensional printing, see 3D printing linear, 57–58
three.js, 41, 50, 189, 407, 485, 568, 628, 1048 mirror, see transform, reflection
thresholding, 656 model, 15–16
throughput, 30, 783, 808 morph targets, 89–91
tile, 995 morphing, 87–91
local storage, 156 normal, 68–69
screen, 1007, 1021 orthographic, see under projection
table, 1008 perspective, see under projection
texture, 795 quaternion, 80
tiled reflection, 63, 692, 832
caching, 1033 rigid-body, 60, 66–67, 74, 84
deferred shading, 894, 896, 904, 914 rotation, 60–61
forward shading, 895–896, 903, 904, 914 about an arbitrary axis, 74–76
rasterization, see pipeline, rasterization from one vector to another, 83–84
shading, 893–898 around a point, 61
triangle traversal, 996 scaling, 62–63
tiling, 795 anisotropic, 62
time-critical rendering, 865 isotropic, 62
timer query, 785 nonuniform, 62
timewarp, 935–937 uniform, 62
timing, 955 shear, 63–64
TIN, 705, 877 translation, 59
Toksvig mapping, 369 vertex blending, 84–87, 90, 102, 1006
Tom Clancy’s The Division, 478 view, 15–16
Tomb Raider (2013), 114, 116 volume-preserving, 64
Tomorrow Children, The, 496, 497 translation, 59
tonal art map, 671 transparency, 148–160
tone mapping, 283–289 order-independent, 154–159
global, 285 screen-door, 149, 858
local, 285 sorting, 152, 823
toon rendering, see shading, toon stochastic, 149
top-left rule, 995 weighted average, 156–158
topology, 712 weighted sum, 157
Torrance-Sparrow model, 334 transparency adaptive antialiasing, 207
tracking, 916, 921 tree
transaction elimination, 1028 balanced, 820
transcoding, see under texturing binary, 820
transfer function, 161, 478 k-ary tree, 820
volume, 605 trees (forest), 202, 559–560
transform, 57, see also matrix triangle
affine, 58, 68 fan, 686, 696–697
angle-preserving, 66 formula, 944, 963
concatenation of, 65–66 list, 696
constraining, 73 indexed, 703
decomposition, 73–74 setup, 22, 997–998
Euler, 70–73 sorting, 152–153, 802–803
extracting parameters, 72–73 soup, 691
gimbal lock, 73 strip, 697–699
feedback, 49 indexed, 703
inverse, 59, 61–64, 66, 69, 75 sequential, 698
adjoint method, 69 traversal, 22, 996–997
Cramer’s rule, 69, 964 tiled, 996
Index 1177

triangle/object intersection, see specific objects cache, see cache, vertex


under intersection testing clustering, 709
triangulated irregular network, 705, 877 compression, 712–715
triangulation, 683–686 correspondence, 87
Delaunay, 684 pulling, 703
trilight, 432 shader, 15–16, 42–43
trilinear interpolation, 186 animation, 43
triple buffer, 1013 effects, 43
tristimulus values, 273 skinning, 87
true color mode, see color, mode, true color stream, 702
TSM, see shadow, map, trapezoidal vertical refresh rate, 1011
turbulence, 198 vertical retrace, see retrace, vertical
T-vertex, see under polygon vertical synchronization, see synchronization
TXAA, 142 with monitor
Tyndall scattering, 298 vertices per second, 788
VGA, 1011
UAV, see unordered access view video display controller, 1011
ubershader, 128 video graphics array, 1011
UBO, 795 video memory, 1006, 1011
UMA, see unified memory architecture view frustum culling, see culling, view frustum
umbra, 224 view space, 15, 26
Uncharted 2, 286, 357 view transform, see transform, view
Uncharted 3, 879 view-independent progressive meshing, 706
Uncharted 4, 290, 356–359, 492 VIPM, 706
Uncharted: Drake’s Fortune, 893 virtual point light, 491
under operator, 153 virtual reality, 523, 912, 915–940
underclock, 787 compositor, 924
unified memory architecture, 1007 optics, 921–922
unified shader architecture, 35, 786 visibility
uniform buffer object, 795 buffer, see buffer, visibility
uniform tessellation, 767 cone, 470, 471
Unity engine, 128, 287, 476, 482, 489, 740, 930 function, 446
unordered access view, 51–52, 87, 155, 192, 896, test, 843
1016 visual appearance, 103
Unreal Engine, 104, 113, 114, 116, 126, 128–130, Vive, 915, 916, 917, 922, 925, 934
143, 287, 325, 364, 383, 493, 495, 556, von Mises-Fisher distribution, 397
572, 611, 740, 899, 930, 1048 Von Neumann bottleneck, 791
up direction, 70 voxel, 578–586
upsampling, 136 voxelization, 580–582, 610–612, 974
VPL, see virtual point light
valence, 699, 758 VSM, see shadow, map, variance
Valgrind, 792 vsync, see synchronization with monitor
van Emde Boas layout, 827–828 VTune, 792
VAO, 703 Vulkan, 40, 814
variance mapping, 370
VDC, see video display controller Wang tiles, 175
vector irradiance, 379–380, 389 Ward model, 314
vector norm, 7 warp, 31
Vega, see under hardware watercolor, 652, 665
vergence, 923, 932 watertight model, 693
vertex watt, 268
array, see vertex, buffer wave
array object, 703 electromagnetic, 293
blending, see under transform transverse, 293
buffer, 701–705, 793 wavefront, 31, 1035
1178 Index

wavelength, 267, 293 Xbox, see under hardware


wavelets, 199 XR, 915
WebGL, 41, 50, 122, 125, 129, 189, 201, 208,
407, 485, 568, 628, 631, 713, 796, 805, Y’CbCr, 892
829, 1048 yaw, 70n
welding vertices, 691 YCoCg, 197–198, 804–805
white point, 274 yon, 93n
Wii, see under hardware
winding direction, 692 z-buffer, see under buffer
winding number, 968 z-fighting, 1014
window coordinates, 20 z-prepass, 803, 881, 882, 901, 1016
wireframe, 674, 675 z-pyramid, 846
The Witcher 3, 2, 263, 420, 526, 534, 873, 1049 Zaxxon, 17
world space, 15 zmax -culling, see culling, zmax
wrap, see texturing, repeat zmin -culling, see culling, zmin
wrap lighting, 382, 633 zonal harmonics, 401, 428, 430, 470

You might also like