Graphics Gems, by Category

Listed by category. Note that some gems may be listed more than once.

2D Geometry
2D Rendering
3D Geometry
3D Rendering
C Utilities
Curves and Surfaces
Frame Buffer Techniques
Image Processing
Matrix Techniques
Modeling and Transformations
Numerical and Programming Techniques
Radiosity
Ray Tracing

return to main page


2D Geometry

Glassner, Andrew, Useful 2D Geometry, Graphics Gems, p. 3-11.
Glassner, Andrew, Useful Trigonometry, Graphics Gems, p. 13-17.
Paeth, Alan W., Trigonometric Functions at Select Points, Graphics Gems, p. 18-19.
Goldman, Ronald, Triangles, Graphics Gems, p. 20-23.
Turk, Greg, Generating Random Points in Triangles, Graphics Gems, p. 24-28, code: p. 649-650, TriPoints.c.
Shapira, Andrew, Fast Line-Edge Intersections on a Uniform Grid, Graphics Gems, p. 29-36, code: p. 651-653, LineEdge.c.
Thompson, Kelvin, Area of Intersection: Circle and a Half-Plane, Graphics Gems, p. 38-39.
Thompson, Kelvin, Area of Intersection: Circle and a Thick Line, Graphics Gems, p. 40-42.
Thompson, Kelvin, Area of Intersection: Two Circles, Graphics Gems, p. 43-46.
Thompson, Kelvin, Vertical Distance from a Point to a Line, Graphics Gems, p. 47-48.
Paeth, Alan W., A Fast 2D Point-on-line Test, Graphics Gems, p. 49-50, code: p. 654-655, PntOnLine.c.
Shaffer, Clifford A., Fast Circle-Rectangle Intersection Checking, Graphics Gems, p. 51-53, code: p. 656, CircleRect.c.
Glassner, Andrew, 2D and 3D Vector C Library, Graphics Gems, p. 633-642, code: p. 633-642, GGVecLib.c GraphicsGems.h.
Rokne, Jon, The Area of a Simple Polygon, Graphics Gems II, p. 5-6.
Prasad, Mukesh, Intersection of Line Segments, Graphics Gems II, p. 7-9, code: p. 473-476, xlines.c.
Morrison, Jack C., Distance From a Point To a Line, Graphics Gems II, p. 10-13.
Rokne, Jon, An Easy Bounding Circle, Graphics Gems II, p. 14-16.
Rokne, Jon, The Smallest Circle Containing the Intersection of Two Circles, Graphics Gems II, p. 17-18.
Rokne, Jon, Appolonius's 10th Problem, Graphics Gems II, p. 19-24.
Musgrave, F. Kenton, A Peano Curve Generation Algorithm, Graphics Gems II, p. 25, code: p. 477-484, Peano/.
Voorhies, Douglas, Space-Filling Curves and a Measure of Coherence, Graphics Gems II, p. 26-30, code: p. 485-486, Hilbert.c.
Steinhart, Jonathan E., Scanline Coherent Shape Algebra, Graphics Gems II, p. 31-45, code: p. 487-501.
Goldman, Ronald, Area of Planar Polygons and Volume of Polyhedra, Graphics Gems II, p. 170-171.
Glassner, Andrew, and Bogart, Rod G., 2D and 3D Vector C Library, Graphics Gems II, p. 458-466, code: p. 633-642, GGVecLib.c GraphicsGems.h.
Van Aken, Jerry, and Simar, Ray, A Parametric Elliptical Arc Algorithm, Graphics Gems III, p. 164-172, code: p. 478-479, parelarc.c.
Rosati, Claudio, A Simple Connection Algorithm for 2-D Drawing, Graphics Gems III, p. 173-181, code: p. 480-486, con2d.c.
Srinivasan, Raman V., A Fast Circle Clipping Algorithm, Graphics Gems III, p. 182-187, code: p. 487-490, circlexc.c.
Shaffer, Clifford A., and Feustel, Charles D., Exact Computation of 2-D Intersections, Graphics Gems III, p. 188-192, code: p. 491-495, Polyintr.c.
Miller, Robert D., Joining Two Lines with a Circular Arc Fillet, Graphics Gems III, p. 193-198, code: p. 496-499, fillet.c.
Antonio, Franklin, Faster Line Segment Intersection, Graphics Gems III, p. 199-202, code: p. 500-501, insectc.c.
Sevici, Constantin A., Solving the Problem of Apollonius and Other Related Problems, Graphics Gems III, p. 203-209.
Bashein, Gerard, and Detmer, Paul R., Centroid of a Polygon, Graphics Gems IV, p. 3-6, code: p. 5, centroid.c.
Schorn, Peter, and Fisher, Frederick, Testing the Convexity of a Polygon, Graphics Gems IV, p. 7-15, code: p. 11-15, convex_test/.
Weiler, Kevin, An Incremental Angle Point in Polygon Test, Graphics Gems IV, p. 16-23, code: p. 17-22, ptpoly_weiler/.
Haines, Eric, Point in Polygon Strategies, Graphics Gems IV, p. 24-46, code: p. 34-45, ptpoly_haines/.
Lischinski, Dani, Incremental Delaunay Triangulation, Graphics Gems IV, p. 47-59, code: p. 51-58, delaunay/.
Hill, F. S., Jr., The Pleasures of `Perp Dot' Products, Graphics Gems IV, p. 138-148.
Hanson, Andrew J., Geometry for N-Dimensional Graphics, Graphics Gems IV, p. 149-170.
Glassner, Andrew, and Haines, Eric, C Header File and Vector Library, Graphics Gems IV, p. 558-570, code: p. 558-570, GraphicsGems.c GraphicsGems.h.
Van Gelder, Allen, Efficient Computation of Polygon Area and Polyhedron Volume, Graphics Gems V, p. 35-41.
Glassner, Andrew, Clipping a Concave Polygon, Graphics Gems V, p. 50-54.
Hanson, Andrew J., Rotations for N-dimensional Graphics, Graphics Gems V, p. 55-64.
Hill, Kenneth J., Matrix-based Ellipse Geometry, Graphics Gems V, p. 72-77, code: ch2-6/.
Narkhede, Atul, and Manocha, Dinesh, Fast Polygon Triangulation Based on Seidel's Algorithm, Graphics Gems V, p. 394-397, code: ch7-5/.

2D Rendering

Paeth, Alan W., Circles of Integral Radius on Integer Lattices, Graphics Gems, p. 57-60.
Heckbert, Paul S., Nice Numbers for Graph Labels, Graphics Gems, p. 61-63, code: p. 657-659, Label.c.
Cychosz, Joseph M., Efficient Generation of Sampling Jitter Using Look-up Tables, Graphics Gems, p. 64-74, code: p. 660-661, FastJitter.c.
Morrison, Jack C., Fast Anti-Aliasing Polygon Scan Conversion, Graphics Gems, p. 76-83, code: p. 662-666, AAPolyScan.c.
Heckbert, Paul S., Generic Convex Polygon Scan Conversion and Clipping, Graphics Gems, p. 84-86, code: p. 667-680, PolyScan/.
Heckbert, Paul S., Concave Polygon Scan Conversion, Graphics Gems, p. 87-91, code: p. 681-684, ConcaveScan.c.
Wallis, Bob, Fast Scan Conversion of Arbitrary Polygons, Graphics Gems, p. 92-97.
Heckbert, Paul S., Digital Line Drawing, Graphics Gems, p. 99-100, code: p. 685, DigitalLine.c.
Wyvill, Brian, Symmetric Double Step Line Algorithm, Graphics Gems, p. 101-104, code: p. 686-689, DoubleLine.c.
Thompson, Kelvin, Rendering Anti-Aliased Lines, Graphics Gems, p. 105-106, code: p. 690-693, AALines/.
Ritter, Jack, An Algorithm for Filling in 2D Wide Line Bevel Joints, Graphics Gems, p. 107-113.
Wallis, Bob, Rendering Fat Lines on a Raster Grid, Graphics Gems, p. 114-120.
Spoelder, Hans J.W., and Ullings, Fons H., Two-Dimensional Clipping: A Vector-Based Approach, Graphics Gems, p. 121-128, code: p. 694-710, 2DClip/.
Lee, Greg, Penk, Mike, and Wallis, Bob, Periodic Tilings of the Plane on a Raster Grid, Graphics Gems, p. 129-139.
Steinhart, Jonathan E., Scanline Coherent Shape Algebra, Graphics Gems II, p. 31-45, code: p. 487-501.
Cheng, Russell C.H., Edge and Bit-Mask Calculations for Anti-Aliasing, Graphics Gems III, p. 349-354, code: p. 586-593, edgeCalc.c.
Grace, Thom, Fast Span Conversion: Unrolling Short Loops, Graphics Gems III, p. 355-357, code: p. 594-596, fastSpan.c.
Hollasch, Steve, Progressive Image Refinement via Gridded Sampling, Graphics Gems III, p. 358-361, code: p. 597-598, PIR.c.
Fleischer, Kurt, and Salesin, David, Accurate Polygon Scan Conversion Using Half-Open Intervals, Graphics Gems III, p. 362-365, code: p. 599-605, accurate_scan/.
Glassner, Andrew, Anti-Aliasing in Triangular Pixels, Graphics Gems III, p. 369-373.
Donovan, Walt, and Van Hook, Tim, Direct Outcode Calculation for Faster Clip Testing, Graphics Gems IV, p. 125-131, code: p. 127-131, outcode/.
Christensen, Jon, Marks, Joe, and Shieber, Stuart, Placing Text Labels on Maps and Diagrams, Graphics Gems IV, p. 497-504.
Szirmay-Kalos, László, Dynamic Layout Algorithm to Display General Graphs, Graphics Gems IV, p. 505-517, code: p. 511-517, graph_layout/.
Glassner, Andrew, Clipping a Concave Polygon, Graphics Gems V, p. 50-54.

3D Geometry

Glassner, Andrew, Useful 3D Geometry, Graphics Gems, p. 297-300.
Ritter, Jack, An Efficient Bounding Sphere, Graphics Gems, p. 301-303, code: p. 723-725, BoundSphere.c.
Goldman, Ronald, Intersection of Two Lines in Three-Space, Graphics Gems, p. 304.
Goldman, Ronald, Intersection of Three Planes, Graphics Gems, p. 305.
Paeth, Alan W., Digital Cartography for Computer Graphics, Graphics Gems, p. 307-320.
Bame, Paul D., Albers Equal-Area Conic Map Projection, Graphics Gems, p. 321-325, code: p. 726-729, Albers.c.
Montani, Claudio, and Scopigno, Roberto, Spheres-to-Voxels Conversion, Graphics Gems, p. 327-334.
Arvo, James, A Simple Method for Box-Sphere Intersection Testing, Graphics Gems, p. 335-339, code: p. 730-732, BoxSphere.c.
Glassner, Andrew, 2D and 3D Vector C Library, Graphics Gems, p. 633-642, code: p. 633-642, GGVecLib.c GraphicsGems.h.
Goldman, Ronald, Area of Planar Polygons and Volume of Polyhedra, Graphics Gems II, p. 170-171.
Shaffer, Clifford A., Getting Around on a Sphere, Graphics Gems II, p. 172-173.
Paeth, Alan W., Exact Dihedral Metrics for Common Polyhedra, Graphics Gems II, p. 174-178.
Glassner, Andrew, A Simple Viewing Geometry, Graphics Gems II, p. 179-180.
Bogart, Rod G., View Correlation, Graphics Gems II, p. 181-190, code: p. 550-562, viewcorr/.
Glassner, Andrew, Maintaining Winged-Edge Models, Graphics Gems II, p. 191-201.
Montani, Claudio, and Scopigno, Roberto, Quadtree/Octree-to-Boundary Conversion, Graphics Gems II, p. 202-218.
Glassner, Andrew, and Bogart, Rod G., 2D and 3D Vector C Library, Graphics Gems II, p. 458-466, code: p. 633-642, GGVecLib.c GraphicsGems.h.
López-López, Fernando J., Triangles Revisited, Graphics Gems III, p. 215-218.
Chin, Norman, Partitioning a 3-D Convex Polygon with an Arbitrary Plane, Graphics Gems III, p. 219-222, code: p. 502-510, partition3d/.
Georgiades, Príamos, Signed Distance From Point To Plane, Graphics Gems III, p. 223-224, code: p. 511, pt2plane.c.
Salesin, David, and Tampieri, Filippo, Grouping Nearly Coplanar Polygons Into Coplanar Sets, Graphics Gems III, p. 225-230, code: p. 512-516, planeSets.c.
Tampieri, Filippo, Newell's Method for the Plane Equation of a Polygon, Graphics Gems III, p. 231-232, code: p. 517-518, newell.c.
Georgiades, Príamos, Plane-to-Plane Intersection, Graphics Gems III, p. 233-235, code: p. 519-520, pl2plane.c.
Voorhies, Douglas, Triangle-Cube Intersection, Graphics Gems III, p. 236-239, code: p. 521-526, triangleCube.c.
Wanger, Len, and Fusco, Mike, Fast N-Dimensional Extent Overlap Testing, Graphics Gems III, p. 240-243, code: p. 527-533, exttest/.
Moore, Doug, Subdividing Simplices, Graphics Gems III, p. 244-249, code: p. 534-535, simplex/.
Moore, Doug, Understanding Simploids, Graphics Gems III, p. 250-255.
Lischinski, Dani, Converting Bézier Triangles Into Rectangular Patches, Graphics Gems III, p. 256-261, code: p. 536-537, bezierTri.C.
Lindgren, Terence, Sanchez, Juan, and Hall, Jim, Curve Tessellation Criteria Thru Sampling, Graphics Gems III, p. 262-265.
Glassner, Andrew, Building Vertex Normals from an Unstructured Polygon List, Graphics Gems IV, p. 60-73, code: p. 64-73, vert_norm/.
Greene, Ned, Detecting Intersection of a Rectangular Solid and a Convex Polyhedron, Graphics Gems IV, p. 74-82.
Rabbitz, Rich, Fast Collision Detection of Moving Convex Polyhedra, Graphics Gems IV, p. 83-109, code: p. 91-108, collide.c.
Hart, John C., Distance to an Ellipsoid, Graphics Gems IV, p. 113-119.
Ohashi, Yoshikazu, Fast Linear Approximations of Euclidean Distance in Higher Dimensions, Graphics Gems IV, p. 121-124, code: dist_fast.c.
Miller, Robert D., Computing the Area of a Spherical Polygon, Graphics Gems IV, p. 132-137, code: p. 135-136, sph_poly.c.
Hanson, Andrew J., Geometry for N-Dimensional Graphics, Graphics Gems IV, p. 149-170.
Glassner, Andrew, and Haines, Eric, C Header File and Vector Library, Graphics Gems IV, p. 558-570, code: p. 558-570, GraphicsGems.c GraphicsGems.h.
Van Gelder, Allen, Efficient Computation of Polygon Area and Polyhedron Volume, Graphics Gems V, p. 35-41.
Carvalho, Paulo Cezar Pinto, and Cavalcanti, Paulo Roma, Point in Polyhedron Testing Using Spherical Polygons, Graphics Gems V, p. 42-49, code: p. 46-49, ch2-2/.
Hanson, Andrew J., Rotations for N-dimensional Graphics, Graphics Gems V, p. 55-64.
Buckley, Robert, Parallelohedra and Uniform Color Quantization, Graphics Gems V, p. 65-71.
Paeth, Alan W., Distance Approximations and Bounding Polyhedra, Graphics Gems V, p. 78-87, code: p. 85-86, ch2-7/.
Green, Daniel, and Hatch, Don, Fast Polygon-Cube Intersection Testing, Graphics Gems V, p. 375-379, code: ch7-2/.
Bouma, William, and Vanecek, George, Jr., Velocity-based Collision Detection, Graphics Gems V, p. 380-385, code: p. 383-385, ch7-3/.
Vanecek, George, Jr., Spatial Partitioning of a Polygon by a Plane, Graphics Gems V, p. 386-393, code: p. 387-393, ch7-4/.

3D Rendering

Heckbert, Paul S., Generic Convex Polygon Scan Conversion and Clipping, Graphics Gems, p. 84-86, code: p. 667-680, PolyScan/.
Wyvill, Brian, 3D Grid Hashing Function, Graphics Gems, p. 343-345, code: p. 733-734, Hash3D.c.
Hultquist, Jeff, Backface Culling, Graphics Gems, p. 346-347.
Lee, Mark E., Fast Dot Products for Shading, Graphics Gems, p. 348-360.
Thompson, Kelvin, Scanline Depth Gradient of a Z-Buffered Triangle, Graphics Gems, p. 361-363.
Glassner, Andrew, Simulating Fog and Haze, Graphics Gems, p. 364-365.
Glassner, Andrew, Interpretation of Texture Map Indices, Graphics Gems, p. 366-375.
Glassner, Andrew, Multidimensional Sum Tables, Graphics Gems, p. 376-381.
Maillot, Patrick-Gilles, Three-Dimensional Homogeneous Clipping of Triangle Strips, Graphics Gems II, p. 219-231, code: p. 563-570.
Thalmann, Nadia Magnenat, Thalmann, Daniel, and Minh, Hong Tong, InterPhong Shading, Graphics Gems II, p. 232-241, code: p. 571-574, InterPhong.c.
Ward, Greg, A Recursive Implementation of the Perlin Noise Function, Graphics Gems II, p. 396-401, code: p. 615-616, noise3.c.
Woo, Andrew, The Shadow Depth Map Revisited, Graphics Gems III, p. 338-342, code: p. 582, zdepth.c.
Cheng, Russell C.H., Fast Linear Color Rendering, Graphics Gems III, p. 343-348, code: p. 583-585, fastLinear.c.
Hollasch, Steve, Progressive Image Refinement via Gridded Sampling, Graphics Gems III, p. 358-361, code: p. 597-598, PIR.c.
Glassner, Andrew, Darklights, Graphics Gems III, p. 366-368.
Snyder, John, Barzel, Ronen, and Gabriel, Steve, Motion Blur on Graphics Workstations, Graphics Gems III, p. 374-382, code: p. 606-609, motblur.c.
Arvo, James, and Scofield, Cary, The Shader Cache: A Rendering Pipeline Accelerator, Graphics Gems III, p. 383-389.
Donovan, Walt, and Van Hook, Tim, Direct Outcode Calculation for Faster Clip Testing, Graphics Gems IV, p. 125-131, code: p. 127-131, outcode/.
Schlick, Christophe, A Fast Alternative to Phong's Specular Model, Graphics Gems IV, p. 385-387.
Fisher, Frederick, and Woo, Andrew, R.E versus N.H Specular Highlights, Graphics Gems IV, p. 388-400.
Schlick, Christophe, Fast Alternatives to Perlin's Bias and Gain Functions, Graphics Gems IV, p. 401-403.
Behrens, Uwe, Fence Shading, Graphics Gems IV, p. 404-409.
Schlick, Christophe, Wave Generators for Computer Graphics, Graphics Gems V, p. 367-374, code: p. 371-374, ch7-1/.
Karinthi, Raghu, Accurate Z-buffer Rendering, Graphics Gems V, p. 398-399, code: ch7-6/.

C Utilities

Glassner, Andrew, Graphics Gems Header File, Graphics Gems, p. 629-632, code: p. 629-632, GraphicsGems.h.
Glassner, Andrew, 2D and 3D Vector C Library, Graphics Gems, p. 633-642, code: p. 633-642, GGVecLib.c GraphicsGems.h.
Hultquist, Jeff, Memory Allocation in C, Graphics Gems, p. 643, code: p. 643.
Raible, Eric, Two Useful C Macros, Graphics Gems, p. 644, code: p. 644.
Thompson, Kelvin, How to Build Circular Structures in C, Graphics Gems, p. 645, code: p. 645.
Thompson, Kelvin, How to Use C Register Variables to Point to 2D Arrays, Graphics Gems, p. 646, code: p. 646.
Glassner, Andrew, Graphics Gems Header File, Graphics Gems II, p. 455-457, code: p. 629-632, GraphicsGems.h.
Glassner, Andrew, and Bogart, Rod G., 2D and 3D Vector C Library, Graphics Gems II, p. 458-466, code: p. 633-642, GGVecLib.c GraphicsGems.h.
Hollasch, Steve, Useful C Macros for Vector Operations, Graphics Gems II, p. 467-469, code: p. 467-469, vector.h.
Glassner, Andrew, Graphics Gems Header File, Graphics Gems III, p. 455-457, code: p. 393-395, GraphicsGems.h.
Glassner, Andrew, 2-D and 3-D Vector C Library -- Corrected and Indexed, Graphics Gems III, p. 396-404, code: p. 396-404, GraphicsGems.c.
Hollasch, Steve, Useful C Macros for Vector Operations, Graphics Gems III, p. 405-407, code: p. 405-407, vector.h.
Doué, Jean-François, C++ Vector and Matrix Algebra Routines, Graphics Gems IV, p. 534-557, code: p. 535-557, vec_mat/.
Glassner, Andrew, and Haines, Eric, C Header File and Vector Library, Graphics Gems IV, p. 558-570, code: p. 558-570, GraphicsGems.c GraphicsGems.h.
Paeth, Alan W., Scheepers, Ferdi, and May, Stephen, A Survey of Graphics Libraries, Graphics Gems V, p. 400-406, code: ch7-7/.

Curves and Surfaces

Glassner, Andrew, Planar Cubic Curves, Graphics Gems, p. 575-578.
Rasala, Richard, Explicit Cubic Spline Interpolation Formulas, Graphics Gems, p. 579-584.
Gomez, Julian, Fast Spline Drawing, Graphics Gems, p. 585-586.
Goldman, Ronald, Some Properties of Bézier Curves, Graphics Gems, p. 587-593.
Wallis, Bob, Tutorial on Forward Differencing, Graphics Gems, p. 594-603.
Goldman, Ronald, Integration of Bernstein Basis Functions, Graphics Gems, p. 604-606.
Schneider, Philip J., Solving the Nearest-Point-on-Curve Problem, Graphics Gems, p. 607-611, code: p. 787-796, NearestPoint.c.
Schneider, Philip J., An Algorithm for Automatically Fitting Digitized Curves, Graphics Gems, p. 612-626, code: p. 797-807, FitCurves.c.
Moore, Doug, and Warren, Joseph, Least-Squares Approximations To Bézier Curves and Surfaces, Graphics Gems II, p. 406-411.
Shoemake, Ken, Beyond Bézier Curves, Graphics Gems II, p. 412-416.
Schlag, John, A Simple Formulation for Curve Interpolation with Variable Control Point Approximation, Graphics Gems II, p. 417-419.
Lindgren, Terence, Symmetric Evaluation of Polynomials, Graphics Gems II, p. 420-423.
Seidel, Hans-Peter, Menelaus's Theorem, Graphics Gems II, p. 424-427.
Seidel, Hans-Peter, Geometrically Continuous Cubic Bézier Curves, Graphics Gems II, p. 428-434.
Musial, Christopher J., A Good Straight-Line Approximation of a Circular Arc, Graphics Gems II, p. 435-439, code: p. 617.
Paeth, Alan W., Great Circle Plotting, Graphics Gems II, p. 440-445.
Wu, Xiaolin, Fast Anti-Aliased Circle Generation, Graphics Gems II, p. 446-450.
Eilers, Paul H. C., Smoothing and Interpolation with Finite Differences, Graphics Gems IV, p. 241-250, code: p. 246-249, data_smooth/.
Barry, Phillip, and Goldman, Ronald, Knot Insertion using Forward Differences, Graphics Gems IV, p. 251-255.
Bajaj, Chandrajit, and Xu, Guoliang, Converting a Rational Curve to a Standard Rational Bernstein-Bézier Representation, Graphics Gems IV, p. 256-260.
Klassen, R. Victor, Intersecting Parametric Cubic Curves by Midpoint Subdivision, Graphics Gems IV, p. 261-277, code: p. 266-276, curve_isect/.
Lischinski, Dani, Converting Rectangular Patches into Bézier Triangles, Graphics Gems IV, p. 278-285, code: p. 281-285, patch_conv.C.
Peterson, John W., Tessellation of NURB Surfaces, Graphics Gems IV, p. 286-320, code: p. 294-319, nurb_polyg/.
Shene, Ching-Kuang, Equations of Cylinders and Cones, Graphics Gems IV, p. 321-323.
Bloomenthal, Jules, An Implicit Surface Polygonizer, Graphics Gems IV, p. 324-349, code: p. 334-349, implicit.c.
Goldman, Ronald, Identities for the Univariate, Bivariate Bernstein Basis Functions, Graphics Gems V, p. 149-162.
Goldman, Ronald, Identities for the B-Spline Basis Functions, Graphics Gems V, p. 163-167.
Turkowski, Ken, Circular Arc Subdivision, Graphics Gems V, p. 168-172, code: p. 170-171, ch4-3/.
de Figueiredo, Luiz Henrique, Adaptive Sampling of Parametric Curves, Graphics Gems V, p. 173-178, code: p. 177, ch4-4/.
Ahn, Jaewoo, Fast Generation of Ellipsoids, Graphics Gems V, p. 179-190, code: p. 185-190, ch4-5/.
Bajaj, Chandrajit, and Xu, Guoliang, Sparse Smooth Connection Between Bézier/B-Spline Curves, Graphics Gems V, p. 191-198.
Gravesen, Jens, The Length of Bézier Curves, Graphics Gems V, p. 199-205, code: ch4-7/.
Miller, Robert D., Quick and Simple Bézier Curve Drawing, Graphics Gems V, p. 206-209, code: p. 207-209, ch4-8/.
Shoemake, Ken, Linear Form Curves, Graphics Gems V, p. 210-223, code: p. 220-222, ch4-9/.

Frame Buffer Techniques

Glassner, Andrew, Frame Buffers and Color Maps, Graphics Gems, p. 215-218.
Paeth, Alan W., Reading a Write-Only Write Mask, Graphics Gems, p. 219-220.
Morton, Mike, A Digital "Dissolve" Effect, Graphics Gems, p. 221-232, code: p. 715-717, Dissolve.c.
Paeth, Alan W., Mapping RGB Triples Onto Four Bits, Graphics Gems, p. 233-245, code: p. 718, RGBTo4Bits.c.
Heckbert, Paul S., What Are the Coordinates of a Pixel?, Graphics Gems, p. 246-248.
Paeth, Alan W., Proper Treatment of Pixels as Integers, Graphics Gems, p. 249-256, code: p. 719, PixelInteger.c.
Glassner, Andrew, Normal Coding, Graphics Gems, p. 257-264.
Heckbert, Paul S., Recording Animation in Binary Order for Progressive Temporal Refinement, Graphics Gems, p. 265-269, code: p. 720, BinRec.c.
Schumacher, Dale A., 1-to-1 Pixel Transforms Optimized Through Color-Map Manipulation, Graphics Gems, p. 270-274.
Heckbert, Paul S., A Seed Fill Algorithm, Graphics Gems, p. 275-277, code: p. 721-722, SeedFill.c.
Fishkin, Ken, Filling a Region in a Frame Buffer, Graphics Gems, p. 278-284.
Wallace, Bill, Precalculating Addresses for Fast Fills, Circles, and Lines, Graphics Gems, p. 285-286.
Gervautz, Michael, and Purgathofer, Werner, A Simple Method for Color Quantization: Octree Quantization, Graphics Gems, p. 287-293.
Steinhart, Jonathan E., Scanline Coherent Shape Algebra, Graphics Gems II, p. 31-45, code: p. 487-501.
Thomas, Spencer W., Efficient Inverse Color Map Computation, Graphics Gems II, p. 116-125, code: p. 528-535, inv_cmap/.
Wu, Xiaolin, Efficient Statistical Computations for Optimal Color Quantization, Graphics Gems II, p. 126-133, code: quantizer.c.
Musgrave, F. Kenton, A Random Color Map Animation Algorithm, Graphics Gems II, p. 134-137, code: p. 536-541, ran_ramp.c.
Hall, Jim, and Lindgren, Terence, A Fast Approach To PHIGS PLUS Pseudo Color, Graphics Gems II, p. 138-142.
Paeth, Alan W., Mapping RGB Triples Onto 16 Distinct Values, Graphics Gems II, p. 143-146.
Martindale, David, and Paeth, Alan W., Television Color Encoding and "Hot" Broadcast Colors, Graphics Gems II, p. 147-158, code: p. 542-549, hot.c.
Meyer, Gary W., An Inexpensive Method of Setting the Monitor White Point, Graphics Gems II, p. 159-162.
Musgrave, F. Kenton, Some Tips for Making Color Hardcopy, Graphics Gems II, p. 163-165.
Kopp, Manfred, and Gervautz, Michael, XOR-Drawing with Guaranteed Contrast, Graphics Gems IV, p. 413-414.
Ward, Greg, A Contrast-Based Scalefactor for Luminance Display, Graphics Gems IV, p. 415-421.
Schlick, Christophe, High Dynamic Range Pixels, Graphics Gems IV, p. 422-429, code: p. 425-428, dyn_range/.
Buckley, Robert, Parallelohedra and Uniform Color Quantization, Graphics Gems V, p. 65-71.

Image Processing

Pavicic, Mark J., Anti-Aliasing Filters that Minimize "Bumpy" Sampling, Graphics Gems, p. 144-146.
Turkowski, Ken, Filters for Common Resampling Tasks, Graphics Gems, p. 147-165.
Olsen, John, Smoothing Enlarged Monochrome Images, Graphics Gems, p. 166-170.
Paeth, Alan W., Median Finding on a 3-by-3 Grid, Graphics Gems, p. 171-175, code: p. 711-712, Median.c.
Hawley, Stephen, Ordered Dithering, Graphics Gems, p. 176-178, code: p. 713-714, OrderDither.c.
Paeth, Alan W., A Fast Algorithm for General Raster Rotation, Graphics Gems, p. 179-195.
Schumacher, Dale A., Useful 1-to-1 Pixel Transforms, Graphics Gems, p. 196-209.
Thompson, Kelvin, Alpha Blending, Graphics Gems, p. 210-211.
Schumacher, Dale A., Image Smoothing and Sharpening by Discrete Convolution, Graphics Gems II, p. 50-56.
Schumacher, Dale A., A Comparison of Digital Halftoning Techniques, Graphics Gems II, p. 57-71, code: p. 502-508.
Thomas, Spencer W., and Bogart, Rod G., Color Dithering, Graphics Gems II, p. 72-77, code: p. 509-513, dither/.
Schumacher, Dale A., Fast Anamorphic Image Scaling, Graphics Gems II, p. 78-79.
Ward, Greg, Real Pixels, Graphics Gems II, p. 80-83, code: RealPixels/.
Yap, Sue-Ken, A Fast 90-Degree Bitmap Rotator, Graphics Gems II, p. 84-85, code: p. 514-515, rotate8x8.c.
Holt, Jeff, Rotation of Run-Length Encoded Image Data, Graphics Gems II, p. 86-88, code: p. 516-524.
Glassner, Andrew, Adaptive Run-Length Encoding, Graphics Gems II, p. 89-92.
Paeth, Alan W., Image File Compression Made Easy, Graphics Gems II, p. 93-100.
Max, Nelson L., An Optimal Filter for Image Reconstruction, Graphics Gems II, p. 101-104.
Schlag, John, Noise Thresholding in Edge Images, Graphics Gems II, p. 105-106.
Bieri, Hanspeter, and Kohler, Andreas, Computing the Area, the Circumference, and the Genus of a Binary Digital Image, Graphics Gems II, p. 107-111, code: p. 525-527.
Möller, Tomas, Fast Bitmap Stretching, Graphics Gems III, p. 4-7, code: p. 411-413, fastBitmap.c.
Schumacher, Dale A., General Filtered Image Rescaling, Graphics Gems III, p. 8-16, code: p. 414-424, filter.c filter_rcg.c.
Schumacher, Dale A., Optimization of Bitmap Scaling Operations, Graphics Gems III, p. 17-19, code: p. 425-428, bitmap.c.
Bragg, Dennis, A Simple Color Reduction Filter, Graphics Gems III, p. 20-22, code: p. 429-431, rgbvary.c rgbvaryW.c.
Moore, Doug, and Warren, Joseph, Compact Isocontours From Sampled Data, Graphics Gems III, p. 23-28.
Feldman, Tim, Generating Iso-value Contours From a Pixmap, Graphics Gems III, p. 29-33, code: p. 432-440, contour.c.
Salesin, David, and Barzel, Ronen, Compositing Black-and-White Bitmaps, Graphics Gems III, p. 34-35.
Scofield, Cary, 2-1/2-d Depth-of-Field Simulation for Computer Animation, Graphics Gems III, p. 36-38.
Furman, Eric, A Fast Boundary Generator for Composited Regions, Graphics Gems III, p. 39-43, code: p. 441-445, scallops8.c.
Schlag, John, Fast Embossing Effects on Raster Image Data, Graphics Gems IV, p. 433-437, code: p. 435-436, emboss.c.
Heckbert, Paul S., Bilinear Coons Patch Image Warping, Graphics Gems IV, p. 438-446, code: p. 441-444, coons_warp.c.
Wolberg, George, and Massalin, Henry, Fast Convolution with Packed Lookup Tables, Graphics Gems IV, p. 447-464, code: p. 455-463, convolve.c.
Cychosz, Joseph M., Efficient Binary Image Thinning using Neighborhood Maps, Graphics Gems IV, p. 465-473, code: p. 470-472, thin_image.c.
Zuiderveld, Karel, Contrast Limited Adaptive Histogram Equalization, Graphics Gems IV, p. 474-485, code: p. 479-484, clahe.c.
Paeth, Alan W., Ideal Tiles for Shading and Halftoning, Graphics Gems IV, p. 486-492.
Purgathofer, Werner, Tobler, Robert F., and Geiler, Manfred, Improved Threshold Matrices for Ordered Dithering, Graphics Gems V, p. 297-301.
Wong, Tien-tsin, and Hsu, Siu-chi, Halftoning with Selective Precipitation and Adaptive Clustering, Graphics Gems V, p. 302-313, code: p. 306-312, ch6-2/.
Eker, Steven, Faster Pixel-Perfect Line Clipping, Graphics Gems V, p. 314-322, code: p. 319-322, ch6-3/.
Doué, Jean-François, and Rubio, Ruben Gonzalez, Efficient and Robust 2D Shape Vectorization, Graphics Gems V, p. 323-337, code: p. 329-336, ch6-4/.
Hsu, Siu-chi, and Lee, I.H.H., Reversable Straight Line Edge Reconstruction, Graphics Gems V, p. 338-354, code: p. 342-353, ch6-5/.
Sharma, Rajesh, Priority-based Adaptive Image Refinement, Graphics Gems V, p. 355-358.
Cross, Robert A., Sampling Patterns Optimized for Uniform Distribution of Edges, Graphics Gems V, p. 359-363, code: p. 362, ch6-7/.

Matrix Techniques

Thompson, Kelvin, Matrix Identities, Graphics Gems, p. 453-454.
Thompson, Kelvin, Transforming Axes, Graphics Gems, p. 456-459.
Thompson, Kelvin, Fast Matrix Multiplication, Graphics Gems, p. 460-461.
Hultquist, Jeff, A Virtual Trackball, Graphics Gems, p. 462-463.
Raible, Eric, Matrix Orthogonalization, Graphics Gems, p. 464, code: p. 765, MatrixOrtho.c.
Pique, Michael E., Rotation Tools, Graphics Gems, p. 465-469.
Carling, Richard, Matrix Inversion, Graphics Gems, p. 470-471, code: p. 766-769, MatrixInvert.c.
Goldman, Ronald, Matrices and Transformations, Graphics Gems, p. 472-475.
Cychosz, Joseph M., Efficient Post-Concatenation of Transformation Matrices, Graphics Gems, p. 476-481, code: p. 770-772, MatrixPost.c.
Thomas, Spencer W., Decomposing a Matrix Into Simple Transformations, Graphics Gems II, p. 320-323, code: p. 599-602, unmatrix.c.
Goldman, Ronald, Recovering the Data From the Transformation Matrix, Graphics Gems II, p. 324-331.
Goldman, Ronald, Transformations as Exponentials, Graphics Gems II, p. 332-337.
Goldman, Ronald, More Matrices and Transforms: Shear and Pseudo-Perspective, Graphics Gems II, p. 338-341.
Wu, Kevin, Fast Matrix Inversion, Graphics Gems II, p. 342-350, code: p. 603-605, inverse.c.
Shoemake, Ken, Quaternions and 4x4 Matrices, Graphics Gems II, p. 351-354.
Arvo, James, Random Rotation Matrices, Graphics Gems II, p. 355-356, code: p. 606-607, rotate.c.
Arvo, James, Classifying Small Sparse Matrices, Graphics Gems II, p. 357-361, code: p. 608-609, sparse.c.
Wu, Kevin, Fast Inversion of Length- and Angle-Preserving Matrices, Graphics Gems IV, p. 199-206, code: p. 204-206, inv_fast.c.
Shoemake, Ken, Polar Matrix Decomposition, Graphics Gems IV, p. 207-221, code: p. 211-220, polar_decomp/.
Shoemake, Ken, Euler Angle Conversion, Graphics Gems IV, p. 222-229, code: p. 225-228, euler_angle/.

Modeling and Transformations

Greene, Ned, Transformation Identities, Graphics Gems, p. 485-493.
Turkowski, Ken, Fixed-Point Trigonometry with CORDIC Iterations, Graphics Gems, p. 494-497, code: p. 773-774, FixedTrig.c.
Maillot, Patrick-Gilles, Using Quaternions for Coding 3D Transformations, Graphics Gems, p. 498-515, code: p. 775-777, Quaternions.c.
Cunningham, Steve, 3D Viewing and Rotation Using Orthonormal Bases, Graphics Gems, p. 516-521, code: p. 778-779, ViewTrans.c.
Turkowski, Ken, The Use of Coordinate Frames in Computer Graphics, Graphics Gems, p. 522-532.
Wallis, Bob, Forms, Vectors, and Transforms, Graphics Gems, p. 533-538, code: p. 780-784, Forms.c.
Turkowski, Ken, Properties of Surface-Normal Transformations, Graphics Gems, p. 539-547.
Arvo, James, Transforming Axis-Aligned Bounding Boxes, Graphics Gems, p. 548-550, code: p. 785-786, TransBox.c.
Hall, Mark, Defining Surfaces From Sampled Data, Graphics Gems, p. 552-557.
Hall, Mark, Defining Surfaces From Contour Data, Graphics Gems, p. 558-561.
Glassner, Andrew, Computing Surface Normals for 3D Models, Graphics Gems, p. 562-566.
Bloomenthal, Jules, Calculation of Reference Frames Along a Space Curve, Graphics Gems, p. 567-571.
Morrison, Jack C., Quaternion Interpolation with Extra Spins, Graphics Gems III, p. 96-97, code: p. 461-462, quatspin.c.
Goldman, Ronald, Decomposing Projective Transformations, Graphics Gems III, p. 98-107.
Goldman, Ronald, Decomposing Linear and Affine Transformations, Graphics Gems III, p. 108-116.
Arvo, James, Fast Random Rotation Matrices, Graphics Gems III, p. 117-120, code: p. 463-464, rand_rotation.c.
Dana, Paul, Issues and Techniques for Keyframing Transformations, Graphics Gems III, p. 121-123.
Shoemake, Ken, Uniform Random Rotations, Graphics Gems III, p. 124-132, code: p. 465-467, urot.c.
Elber, Gershon, Interpolation Using Bézier Curves, Graphics Gems III, p. 133-136, code: p. 468-471, bzrinter.c.
Barr, A.H., Physically Based Superquadrics, Graphics Gems III, p. 137-159, code: p. 472-477, sqfinal.c.
Shoemake, Ken, Arcball Rotation Control, Graphics Gems IV, p. 175-192, code: p. 178-191, arcball/.
Cromwell, Robert L., Efficient Eigenvalues for Visualization, Graphics Gems IV, p. 193-198.
Shoemake, Ken, Fiber Bundle Twist Reduction, Graphics Gems IV, p. 230-236.
Alciatore, David, and Miranda, Rick, The Best Least-Squares Line Fit, Graphics Gems V, p. 91-97.
Hill, Steve, and Roberts, Jonathan C., Surface Models and the Resolution of N-Dimensional Cell Ambiguity, Graphics Gems V, p. 98-106.
Arata, Louis K., Tri-cubic Interpolation, Graphics Gems V, p. 107-110, code: p. 108-109, ch3-3/.
Miller, Robert D., Transforming Coordinates From One Coordinate Plane To Another, Graphics Gems V, p. 111-120, code: p. 115-120, ch3-4/.
Chin, Norman, A Walk Through BSP Trees, Graphics Gems V, p. 121-138, code: p. 131-138, ch3-5/.
Blanc, Carole, Generic Implementation of Axial Deformation Techniques, Graphics Gems V, p. 139-145, code: p. 141-144, ch3-6/.

Numerical and Programming Techniques

Wyvill, Brian, 3D Grid Hashing Function, Graphics Gems, p. 343-345, code: p. 733-734, Hash3D.c.
Schwarze, Jochen, Cubic and Quartic Roots, Graphics Gems, p. 404-407, code: p. 738-786, Roots3And4.c.
Schneider, Philip J., A Bézier Curve-Based Root-Finder, Graphics Gems, p. 408-415, code: p. 787, NearestPoint.c.
Hook, D.G., and McAree, P.R., Using Sturm Sequences To Bracket Real Roots of Polynomial Equations, Graphics Gems, p. 416-423, code: p. 743-755, Sturm/.
Lalonde, Paul, and Dawson, Robert, A High-Speed, Low Precision Square Root, Graphics Gems, p. 424-426, code: p. 756-757, SquareRoot.c.
Paeth, Alan W., A Fast Approximation To the Hypotenuse, Graphics Gems, p. 427-431, code: p. 758, HypotApprox.c.
Ritter, Jack, A Fast Approximation To 3D Euclidian Distance, Graphics Gems, p. 432-433.
Thompson, Kelvin, Full-Precision Constants, Graphics Gems, p. 434.
Thompson, Kelvin, Converting Between Bits and Digits, Graphics Gems, p. 435.
Wyvill, Brian, Storage-free Swapping, Graphics Gems, p. 436-437.
Glassner, Andrew, Generating Random Integers, Graphics Gems, p. 438-439.
Ritter, Jack, Fast 2D-3D Rotation, Graphics Gems, p. 440-441.
Shoemake, Ken, Bit Patterns for Encoding Angles, Graphics Gems, p. 442.
Shaffer, Clifford A., Bit Interleaving for Quad- or Octrees, Graphics Gems, p. 443-447, code: p. 759-762, Interleave.c.
Fishkin, Ken, A Fast HSL-to-RGB Transform, Graphics Gems, p. 448-449, code: p. 763-764, HSLtoRGB.c.
Shoemake, Ken, Bit Picking, Graphics Gems II, p. 366-367.
Shoemake, Ken, Faster Fourier Transform, Graphics Gems II, p. 368-370.
Paeth, Alan W., and Schilling, David, Of Integers, Fields, and Bit Counting, Graphics Gems II, p. 371-376, code: p. 610-611, BitCounting/.
Schlag, John, Using Geometric Constructions to Interpolate Orientation with Quaternions, Graphics Gems II, p. 377-380.
Paeth, Alan W., A Half-Angle Identity for Digital Computation: The Joys of the Halved Tangent, Graphics Gems II, p. 381-386.
Musial, Christopher J., An Integer Square Root Algorithm, Graphics Gems II, p. 387-388, code: p. 612.
Capelli, Ron, Fast Approximation To the Arctangent, Graphics Gems II, p. 389-391.
Ritter, Jack, Fast Sign of Cross Product Calculation, Graphics Gems II, p. 392-393, code: p. 613-614.
Shoemake, Ken, Interval Sampling, Graphics Gems II, p. 394-395.
Ward, Greg, A Recursive Implementation of the Perlin Noise Function, Graphics Gems II, p. 396-401, code: p. 615-616, noise3.c.
Hill, Steve, IEEE Fast Square Root, Graphics Gems III, p. 48, code: p. 446-447, sqrt.c.
Hill, Steve, A Simple Fast Memory Allocator, Graphics Gems III, p. 49-50, code: p. 448-451, alloc/.
Hanson, Andrew J., The Rolling Ball, Graphics Gems III, p. 51-60, code: p. 452-453, 3d.c defs.h.
Rokne, Jon, Interval Arithmetic, Graphics Gems III, p. 61-66, code: p. 454-457, interval.C.
Paeth, Alan W., Fast Generation of Cyclic Sequences, Graphics Gems III, p. 67-76, code: p. 458-459, cyclic.c.
Paeth, Alan W., A Generic Pixel Selection Mechanism, Graphics Gems III, p. 77-79.
Shirley, Peter, Nonuniform Random Point Sets, Graphics Gems III, p. 80-83.
Goldman, Ronald, Cross Product in Four Dimensions and Beyond, Graphics Gems III, p. 84-88.
Badouel, Didier, and Wuthrich, Charles A., Face-Connected Line Segment Generation in an n-Dimensional Space, Graphics Gems III, p. 89-91, code: p. 460, ndline.c.
Donovan, Walt, and Van Hook, Tim, Direct Outcode Calculation for Faster Clip Testing, Graphics Gems IV, p. 125-131, code: p. 127-131, outcode/.
Hill, Steve, Tri-linear Interpolation, Graphics Gems IV, p. 521-525, code: p. 523-524, trilerp.c.
Eker, Steven, Faster Linear Interpolation, Graphics Gems IV, p. 526-533, code: p. 532-533, interp_fast.c.
Herbison-Evans, Don, Solving Quartics and Cubics for Graphics, Graphics Gems V, p. 3-15, code: ch1-1/.
Turkowski, Ken, Computing the Inverse Square Root, Graphics Gems V, p. 16-21, code: p. 17-19, ch1-2/.
Turkowski, Ken, Fixed Point Square Root, Graphics Gems V, p. 22-24, code: p. 23, ch1-3/.
Shoemake, Ken, Rational Approximation, Graphics Gems V, p. 25-32, code: p. 29-31, ch1-4/.
Schlick, Christophe, Wave Generators for Computer Graphics, Graphics Gems V, p. 367-374, code: p. 371-374, ch7-1/.

Radiosity

Chen, Shenchang Eric, Implementing Progressive Radiosity with User-Provided Polygon Display Routines, Graphics Gems II, p. 295-298, code: p. 583-597, radiosity/.
Beran-Koehn, Jeffrey C., and Pavicic, Mark J., A Cubic Tetrahedral Adaptation of the Hemi-Cube Algorithm, Graphics Gems II, p. 299-302.
Tampieri, Filippo, Fast Vertex Radiosity Update, Graphics Gems II, p. 303-305, code: p. 598, FastUpdate.c.
Shirley, Peter, Radiosity via Ray Tracing, Graphics Gems II, p. 306-310.
Sillion, François, Detection of Shadow Boundaries for Adaptive Meshing in Radiosity, Graphics Gems II, p. 311-315.
Wang, Changyaw, Physically Correct Direct Lighting for Distribution Ray Tracing, Graphics Gems III, p. 307-313, code: p. 562-568, luminaire/.
Bian, Buming, Hemispherical Projection of a Triangle, Graphics Gems III, p. 314-317, code: p. 569-574, hemis.c.
Max, Nelson L., and Allison, Michael J., Linear Radiosity Approximation Using Vertex-to-Vertex Form Factors, Graphics Gems III, p. 318-323.
Beran-Koehn, Jeffrey C., and Pavicic, Mark J., Delta Form-Factor Calculation for the Cubic Tetrahedral Algorithm, Graphics Gems III, p. 324-328, code: p. 575-576, forfac.c.
Tampieri, Filippo, Accurate Form-Factor Computation, Graphics Gems III, p. 329-333, code: p. 577-581, accForm.c.

Ray Tracing

Ritter, Jack, A Simple Ray Rejection Test, Graphics Gems, p. 385-386.
Hultquist, Jeff, Intersection of a Ray with a Sphere, Graphics Gems, p. 388-389.
Badouel, Didier, An Efficient Ray-Polygon Intersection, Graphics Gems, p. 390-393, code: p. 735, RayPolygon.c.
Woo, Andrew, Fast Ray-Polygon Intersection, Graphics Gems, p. 394.
Woo, Andrew, Fast Ray-Box Intersection, Graphics Gems, p. 395-396, code: p. 736-737, RayBox.c.
Pearce, Andrew, Shadow Attenuation for Ray Tracing Transparent Objects, Graphics Gems, p. 397-399.
Haines, Eric, Fast Ray-Convex Polyhedron Intersection, Graphics Gems II, p. 247-250, code: p. 575-576, RayCPhdron.c.
Cychosz, Joseph M., Intersecting a Ray with An Elliptical Torus, Graphics Gems II, p. 251-256, code: p. 577-580, intersect/.
Voorhies, Douglas, and Kirk, David, Ray-Triangle Intersection Using Binary Recursive Subdivision, Graphics Gems II, p. 257-263.
Kirk, David, and Arvo, James, Improved Ray Tagging for Voxel-Based Ray Tracing, Graphics Gems II, p. 264-266.
Haines, Eric, Efficiency Improvements for Hierarchy Traversal in Ray Tracing, Graphics Gems II, p. 267-272.
Pearce, Andrew, A Recursive Shadow Voxel Cache for Ray Tracing, Graphics Gems II, p. 273-274, code: p. 581-582, VoxelCache.c.
Pearce, Andrew, Avoiding Incorrect Shadow Intersections for Ray Tracing, Graphics Gems II, p. 275-276.
Lee, Mark E., and Uselton, Samuel P., A Body Color Model: Absorption Through Translucent Media, Graphics Gems II, p. 277-282.
Lee, Mark E., and Uselton, Samuel P., More Shadow Attenuation for Ray Tracing Transparent or Translucent Objects, Graphics Gems II, p. 283-289.
Sung, Kelvin, and Shirley, Peter, Ray Tracing with the BSP Tree, Graphics Gems III, p. 271-274, code: p. 538-546, bsp.c.
Cychosz, Joseph M., and Waggenspack, Warren N., Jr., Intersecting a Ray with a Quadric Surface, Graphics Gems III, p. 275-283, code: p. 547-550, intqdr.c intell.c.
Cychosz, Joseph M., Use of Residency Masks and Object Space Partitioning to Eliminate Ray-Object Intersection Calculations, Graphics Gems III, p. 284-287.
Musgrave, F. Kenton, A Panoramic Virtual Screen for Ray Tracing, Graphics Gems III, p. 288-294, code: p. 551-554, panorama.c.
Trumbore, Ben, Rectangular Bounding Volumes for Popular Primitives, Graphics Gems III, p. 295-300, code: p. 555-561, bounding_volumes.c.
Wu, Xiaolin, A Linear-Time Simple Bounding Volume Algorithm, Graphics Gems III, p. 301-306.
Wang, Changyaw, Physically Correct Direct Lighting for Distribution Ray Tracing, Graphics Gems III, p. 307-313, code: p. 562-568, luminaire/.
Shene, Ching-Kuang, Computing the Intersection of a Line and a Cylinder, Graphics Gems IV, p. 353-355.
Cychosz, Joseph M., and Waggenspack, Warren N., Jr., Intersecting a Ray with a Cylinder, Graphics Gems IV, p. 356-365, code: p. 361-364, ray_cyl.c.
Cohen, Daniel, Voxel Traversal along a 3D Line, Graphics Gems IV, p. 366-369, code: p. 368, vox_traverse.c.
Chiu, Kenneth, Shirley, Peter, and Wang, Changyaw, Multi-Jittered Sampling, Graphics Gems IV, p. 370-374, code: p. 373-374, multi_jitter/.
Heckbert, Paul S., A Minimal Ray Tracer, Graphics Gems IV, p. 375-381, code: p. 378-380, minray/.
Shene, Ching-Kuang, Computing the Intersection of a Line and a Cone, Graphics Gems V, p. 227-231.
Schlick, Christophe, and Subrenat, Gilles, Ray Intersection of Tessellated Surfaces: Quad Vs Triangle, Graphics Gems V, p. 232-241, code: p. 237-240, ch5-2/.
Möller, Tomas, Faster Ray Tracing Using Scanline Rejection, Graphics Gems V, p. 242-257, code: p. 249-257, ch5-3/.
Leipelt, Andreas, Ray Tracing a Swept Sphere, Graphics Gems V, p. 258-267, code: p. 261-267, ch5-4/.
Márton, Gábor, Acceleration of Ray Tracing via Voronoi-diagrams, Graphics Gems V, p. 268-284, code: p. 276-283, ch5-5/.
Zimmerman, Kurt, Direct Lighting Models for Ray Tracing with Cylindrical Lamps, Graphics Gems V, p. 285-289.
Feda, Martin, Improving Intermediate Radiosity Using Directional Light, Graphics Gems V, p. 290-293.

Last change: June 12, 2001
Eric Haines, Gems archivist / erich@acm.org