Gouraud-Shaded Texturing
...........................................................1167
Transparency and Alpha Blending
.................................................1177
Using Lookup Tables for Alpha Blending
.................................1177
Supporting Alpha Blending at the Object Level
........................1194
Adding Alpha to the Terrain Generator for Fun
........................1203
Perspective-Correct Texturing and 1/z-Buffering
...............................1207
Mathematical Foundations for Perspective Texture Mapping
......1207
Adding 1/z-Buffering Support to the Rasterizers
........................1218
Implementing Perfect Perspective Mapping
.............................1227
Implementing Linear Piecewise Perspective Mapping
................1233
Exploring Quadratic Approximations for Perspective Texturing
...1240
Optimizing Texturing with Hybrid Approaches
........................1248
Bilinear Texture Filtering
..............................................................1250
Mip Mapping and Trilinear Texture Filtering
...................................1257
Introduction to Fourier Analysis and Aliasing
..........................1258
Creating the Mip Map Chain
................................................1264
Mip Map Selection and Setup
................................................1276
Trilinear Filtering
................................................................1284
Multiple Pass Rendering and Texturing
...........................................1285
Wrapping Things Up with a Single Call
..........................................
1286
The New Rendering Context
.................................................1287
Setting Up the Rendering Context
.........................................1290
Making the Call to Render the Rendering Context
....................1293
Summary
..................................................................................
1306
13 Spatial Partitioning and Visibility Algorithms 1307
The New Game Engine Module
.....................................................1307
Introduction to Spatial Partitioning and Visible Surface Determination1308
The Binary Space Partition
...........................................................1313
Axis-Aligned Binary Space Partitioning
...................................1314
Arbitrary Plane Space Partitioning
..........................................1315
Polygon-Aligned Space Partitioning
........................................1316
Displaying/Visiting Each Node of a BSP Tree
............................1321
The BSP Tree Functions and Data Structures
............................1325
Creating the BSP Tree
..........................................................1327
Splitting Strategies
...............................................................1332
Traversing and Displaying the BSP Tree
...................................1346
Integrating BSP Tree into the Graphics Pipeline
........................1360
The BSP Level Editor
............................................................1362
Limitations of the BSP
.........................................................1375
Zero Overdraw Strategies Using BSP Trees
................................1376
Contents xv