Graphics Gems, by Author

Listed by author, in alphabetic order.

A B C D E F G H K L M N O P R S T U V W X Y Z

return to main page


Ahn, Jaewoo
Ahn, Jaewoo, Fast Generation of Ellipsoids, Graphics Gems V, p. 179-190, code: p. 185-190, ch4-5/.

Alciatore, David
Alciatore, David, and Miranda, Rick, The Best Least-Squares Line Fit, Graphics Gems V, p. 91-97.

Allison, Michael J.
Max, Nelson L., and Allison, Michael J., Linear Radiosity Approximation Using Vertex-to-Vertex Form Factors, Graphics Gems III, p. 318-323.

Antonio, Franklin
Antonio, Franklin, Faster Line Segment Intersection, Graphics Gems III, p. 199-202, code: p. 500-501, insectc.c.

Arata, Louis K.
Arata, Louis K., Tri-cubic Interpolation, Graphics Gems V, p. 107-110, code: p. 108-109, ch3-3/.

Arvo, James
Arvo, James, A Simple Method for Box-Sphere Intersection Testing, Graphics Gems, p. 335-339, code: p. 730-732, BoxSphere.c.
Arvo, James, Transforming Axis-Aligned Bounding Boxes, Graphics Gems, p. 548-550, code: p. 785-786, TransBox.c.
Kirk, David, and Arvo, James, Improved Ray Tagging for Voxel-Based Ray Tracing, Graphics Gems II, p. 264-266.
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.
Arvo, James, Fast Random Rotation Matrices, Graphics Gems III, p. 117-120, code: p. 463-464, rand_rotation.c.
Arvo, James, and Scofield, Cary, The Shader Cache: A Rendering Pipeline Accelerator, Graphics Gems III, p. 383-389.

Badouel, Didier
Badouel, Didier, An Efficient Ray-Polygon Intersection, Graphics Gems, p. 390-393, code: p. 735, RayPolygon.c.
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.

Bajaj, Chandrajit
Bajaj, Chandrajit, and Xu, Guoliang, Converting a Rational Curve to a Standard Rational Bernstein-Bézier Representation, Graphics Gems IV, p. 256-260.
Bajaj, Chandrajit, and Xu, Guoliang, Sparse Smooth Connection Between Bézier/B-Spline Curves, Graphics Gems V, p. 191-198.

Bame, Paul D.
Bame, Paul D., Albers Equal-Area Conic Map Projection, Graphics Gems, p. 321-325, code: p. 726-729, Albers.c.

Barr, A.H.
Barr, A.H., Physically Based Superquadrics, Graphics Gems III, p. 137-159, code: p. 472-477, sqfinal.c.

Barry, Phillip
Barry, Phillip, and Goldman, Ronald, Knot Insertion using Forward Differences, Graphics Gems IV, p. 251-255.

Barzel, Ronen
Salesin, David, and Barzel, Ronen, Compositing Black-and-White Bitmaps, Graphics Gems III, p. 34-35.
Snyder, John, Barzel, Ronen, and Gabriel, Steve, Motion Blur on Graphics Workstations, Graphics Gems III, p. 374-382, code: p. 606-609, motblur.c.

Bashein, Gerard
Bashein, Gerard, and Detmer, Paul R., Centroid of a Polygon, Graphics Gems IV, p. 3-6, code: p. 5, centroid.c.

Behrens, Uwe
Behrens, Uwe, Fence Shading, Graphics Gems IV, p. 404-409.

Beran-Koehn, Jeffrey C.
Beran-Koehn, Jeffrey C., and Pavicic, Mark J., A Cubic Tetrahedral Adaptation of the Hemi-Cube Algorithm, Graphics Gems II, p. 299-302.
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.

Bian, Buming
Bian, Buming, Hemispherical Projection of a Triangle, Graphics Gems III, p. 314-317, code: p. 569-574, hemis.c.

Bieri, Hanspeter
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.

Blanc, Carole
Blanc, Carole, Generic Implementation of Axial Deformation Techniques, Graphics Gems V, p. 139-145, code: p. 141-144, ch3-6/.

Bloomenthal, Jules
Bloomenthal, Jules, Calculation of Reference Frames Along a Space Curve, Graphics Gems, p. 567-571.
Bloomenthal, Jules, An Implicit Surface Polygonizer, Graphics Gems IV, p. 324-349, code: p. 334-349, implicit.c.

Bogart, Rod G.
Thomas, Spencer W., and Bogart, Rod G., Color Dithering, Graphics Gems II, p. 72-77, code: p. 509-513, dither/.
Bogart, Rod G., View Correlation, Graphics Gems II, p. 181-190, code: p. 550-562, viewcorr/.
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.

Bouma, William
Bouma, William, and Vanecek, George, Jr., Velocity-based Collision Detection, Graphics Gems V, p. 380-385, code: p. 383-385, ch7-3/.

Bragg, Dennis
Bragg, Dennis, A Simple Color Reduction Filter, Graphics Gems III, p. 20-22, code: p. 429-431, rgbvary.c rgbvaryW.c.

Buckley, Robert
Buckley, Robert, Parallelohedra and Uniform Color Quantization, Graphics Gems V, p. 65-71.

Capelli, Ron
Capelli, Ron, Fast Approximation To the Arctangent, Graphics Gems II, p. 389-391.

Carling, Richard
Carling, Richard, Matrix Inversion, Graphics Gems, p. 470-471, code: p. 766-769, MatrixInvert.c.

Carvalho, Paulo Cezar Pinto
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/.

Cavalcanti, Paulo Roma
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/.

Chen, Shenchang Eric
Chen, Shenchang Eric, Implementing Progressive Radiosity with User-Provided Polygon Display Routines, Graphics Gems II, p. 295-298, code: p. 583-597, radiosity/.

Cheng, Russell C.H.
Cheng, Russell C.H., Fast Linear Color Rendering, Graphics Gems III, p. 343-348, code: p. 583-585, fastLinear.c.
Cheng, Russell C.H., Edge and Bit-Mask Calculations for Anti-Aliasing, Graphics Gems III, p. 349-354, code: p. 586-593, edgeCalc.c.

Chin, Norman
Chin, Norman, Partitioning a 3-D Convex Polygon with an Arbitrary Plane, Graphics Gems III, p. 219-222, code: p. 502-510, partition3d/.
Chin, Norman, A Walk Through BSP Trees, Graphics Gems V, p. 121-138, code: p. 131-138, ch3-5/.

Chiu, Kenneth
Chiu, Kenneth, Shirley, Peter, and Wang, Changyaw, Multi-Jittered Sampling, Graphics Gems IV, p. 370-374, code: p. 373-374, multi_jitter/.

Christensen, Jon
Christensen, Jon, Marks, Joe, and Shieber, Stuart, Placing Text Labels on Maps and Diagrams, Graphics Gems IV, p. 497-504.

Cohen, Daniel
Cohen, Daniel, Voxel Traversal along a 3D Line, Graphics Gems IV, p. 366-369, code: p. 368, vox_traverse.c.

Cromwell, Robert L.
Cromwell, Robert L., Efficient Eigenvalues for Visualization, Graphics Gems IV, p. 193-198.

Cross, Robert A.
Cross, Robert A., Sampling Patterns Optimized for Uniform Distribution of Edges, Graphics Gems V, p. 359-363, code: p. 362, ch6-7/.

Cunningham, Steve
Cunningham, Steve, 3D Viewing and Rotation Using Orthonormal Bases, Graphics Gems, p. 516-521, code: p. 778-779, ViewTrans.c.

Cychosz, Joseph M.
Cychosz, Joseph M., Efficient Generation of Sampling Jitter Using Look-up Tables, Graphics Gems, p. 64-74, code: p. 660-661, FastJitter.c.
Cychosz, Joseph M., Efficient Post-Concatenation of Transformation Matrices, Graphics Gems, p. 476-481, code: p. 770-772, MatrixPost.c.
Cychosz, Joseph M., Intersecting a Ray with An Elliptical Torus, Graphics Gems II, p. 251-256, code: p. 577-580, intersect/.
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.
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.
Cychosz, Joseph M., Efficient Binary Image Thinning using Neighborhood Maps, Graphics Gems IV, p. 465-473, code: p. 470-472, thin_image.c.

Dana, Paul
Dana, Paul, Issues and Techniques for Keyframing Transformations, Graphics Gems III, p. 121-123.

Dawson, Robert
Lalonde, Paul, and Dawson, Robert, A High-Speed, Low Precision Square Root, Graphics Gems, p. 424-426, code: p. 756-757, SquareRoot.c.

de Figueiredo, Luiz Henrique
de Figueiredo, Luiz Henrique, Adaptive Sampling of Parametric Curves, Graphics Gems V, p. 173-178, code: p. 177, ch4-4/.

Detmer, Paul R.
Bashein, Gerard, and Detmer, Paul R., Centroid of a Polygon, Graphics Gems IV, p. 3-6, code: p. 5, centroid.c.

Donovan, Walt
Donovan, Walt, and Van Hook, Tim, Direct Outcode Calculation for Faster Clip Testing, Graphics Gems IV, p. 125-131, code: p. 127-131, outcode/.

Doué, Jean-François
Doué, Jean-François, C++ Vector and Matrix Algebra Routines, Graphics Gems IV, p. 534-557, code: p. 535-557, vec_mat/.
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/.

Eilers, Paul H. C.
Eilers, Paul H. C., Smoothing and Interpolation with Finite Differences, Graphics Gems IV, p. 241-250, code: p. 246-249, data_smooth/.

Eker, Steven
Eker, Steven, Faster Linear Interpolation, Graphics Gems IV, p. 526-533, code: p. 532-533, interp_fast.c.
Eker, Steven, Faster Pixel-Perfect Line Clipping, Graphics Gems V, p. 314-322, code: p. 319-322, ch6-3/.

Elber, Gershon
Elber, Gershon, Interpolation Using Bézier Curves, Graphics Gems III, p. 133-136, code: p. 468-471, bzrinter.c.

Feda, Martin
Feda, Martin, Improving Intermediate Radiosity Using Directional Light, Graphics Gems V, p. 290-293.

Feldman, Tim
Feldman, Tim, Generating Iso-value Contours From a Pixmap, Graphics Gems III, p. 29-33, code: p. 432-440, contour.c.

Feustel, Charles D.
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.

Fisher, Frederick
Schorn, Peter, and Fisher, Frederick, Testing the Convexity of a Polygon, Graphics Gems IV, p. 7-15, code: p. 11-15, convex_test/.
Fisher, Frederick, and Woo, Andrew, R.E versus N.H Specular Highlights, Graphics Gems IV, p. 388-400.

Fishkin, Ken
Fishkin, Ken, Filling a Region in a Frame Buffer, Graphics Gems, p. 278-284.
Fishkin, Ken, A Fast HSL-to-RGB Transform, Graphics Gems, p. 448-449, code: p. 763-764, HSLtoRGB.c.

Fleischer, Kurt
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/.

Furman, Eric
Furman, Eric, A Fast Boundary Generator for Composited Regions, Graphics Gems III, p. 39-43, code: p. 441-445, scallops8.c.

Fusco, Mike
Wanger, Len, and Fusco, Mike, Fast N-Dimensional Extent Overlap Testing, Graphics Gems III, p. 240-243, code: p. 527-533, exttest/.

Gabriel, Steve
Snyder, John, Barzel, Ronen, and Gabriel, Steve, Motion Blur on Graphics Workstations, Graphics Gems III, p. 374-382, code: p. 606-609, motblur.c.

Geiler, Manfred
Purgathofer, Werner, Tobler, Robert F., and Geiler, Manfred, Improved Threshold Matrices for Ordered Dithering, Graphics Gems V, p. 297-301.

Georgiades, Príamos
Georgiades, Príamos, Signed Distance From Point To Plane, Graphics Gems III, p. 223-224, code: p. 511, pt2plane.c.
Georgiades, Príamos, Plane-to-Plane Intersection, Graphics Gems III, p. 233-235, code: p. 519-520, pl2plane.c.

Gervautz, Michael
Gervautz, Michael, and Purgathofer, Werner, A Simple Method for Color Quantization: Octree Quantization, Graphics Gems, p. 287-293.
Kopp, Manfred, and Gervautz, Michael, XOR-Drawing with Guaranteed Contrast, Graphics Gems IV, p. 413-414.

Glassner, Andrew
Glassner, Andrew, Useful 2D Geometry, Graphics Gems, p. 3-11.
Glassner, Andrew, Useful Trigonometry, Graphics Gems, p. 13-17.
Glassner, Andrew, Frame Buffers and Color Maps, Graphics Gems, p. 215-218.
Glassner, Andrew, Normal Coding, Graphics Gems, p. 257-264.
Glassner, Andrew, Useful 3D Geometry, Graphics Gems, p. 297-300.
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.
Glassner, Andrew, Generating Random Integers, Graphics Gems, p. 438-439.
Glassner, Andrew, Computing Surface Normals for 3D Models, Graphics Gems, p. 562-566.
Glassner, Andrew, Planar Cubic Curves, Graphics Gems, p. 575-578.
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.
Glassner, Andrew, Adaptive Run-Length Encoding, Graphics Gems II, p. 89-92.
Glassner, Andrew, A Simple Viewing Geometry, Graphics Gems II, p. 179-180.
Glassner, Andrew, Maintaining Winged-Edge Models, Graphics Gems II, p. 191-201.
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.
Glassner, Andrew, Darklights, Graphics Gems III, p. 366-368.
Glassner, Andrew, Anti-Aliasing in Triangular Pixels, Graphics Gems III, p. 369-373.
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.
Glassner, Andrew, Building Vertex Normals from an Unstructured Polygon List, Graphics Gems IV, p. 60-73, code: p. 64-73, vert_norm/.
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.
Glassner, Andrew, Clipping a Concave Polygon, Graphics Gems V, p. 50-54.

Goldman, Ronald
Goldman, Ronald, Triangles, Graphics Gems, p. 20-23.
Goldman, Ronald, Intersection of Two Lines in Three-Space, Graphics Gems, p. 304.
Goldman, Ronald, Intersection of Three Planes, Graphics Gems, p. 305.
Goldman, Ronald, Matrices and Transformations, Graphics Gems, p. 472-475.
Goldman, Ronald, Some Properties of Bézier Curves, Graphics Gems, p. 587-593.
Goldman, Ronald, Integration of Bernstein Basis Functions, Graphics Gems, p. 604-606.
Goldman, Ronald, Area of Planar Polygons and Volume of Polyhedra, Graphics Gems II, p. 170-171.
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.
Goldman, Ronald, Cross Product in Four Dimensions and Beyond, Graphics Gems III, p. 84-88.
Goldman, Ronald, Decomposing Projective Transformations, Graphics Gems III, p. 98-107.
Goldman, Ronald, Decomposing Linear and Affine Transformations, Graphics Gems III, p. 108-116.
Barry, Phillip, and Goldman, Ronald, Knot Insertion using Forward Differences, Graphics Gems IV, p. 251-255.
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.

Gomez, Julian
Gomez, Julian, Fast Spline Drawing, Graphics Gems, p. 585-586.

Grace, Thom
Grace, Thom, Fast Span Conversion: Unrolling Short Loops, Graphics Gems III, p. 355-357, code: p. 594-596, fastSpan.c.

Gravesen, Jens
Gravesen, Jens, The Length of Bézier Curves, Graphics Gems V, p. 199-205, code: ch4-7/.

Green, Daniel
Green, Daniel, and Hatch, Don, Fast Polygon-Cube Intersection Testing, Graphics Gems V, p. 375-379, code: ch7-2/.

Greene, Ned
Greene, Ned, Transformation Identities, Graphics Gems, p. 485-493.
Greene, Ned, Detecting Intersection of a Rectangular Solid and a Convex Polyhedron, Graphics Gems IV, p. 74-82.

Haines, Eric
Haines, Eric, Fast Ray-Convex Polyhedron Intersection, Graphics Gems II, p. 247-250, code: p. 575-576, RayCPhdron.c.
Haines, Eric, Efficiency Improvements for Hierarchy Traversal in Ray Tracing, Graphics Gems II, p. 267-272.
Haines, Eric, Point in Polygon Strategies, Graphics Gems IV, p. 24-46, code: p. 34-45, ptpoly_haines/.
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.

Hall, Jim
Hall, Jim, and Lindgren, Terence, A Fast Approach To PHIGS PLUS Pseudo Color, Graphics Gems II, p. 138-142.
Lindgren, Terence, Sanchez, Juan, and Hall, Jim, Curve Tessellation Criteria Thru Sampling, Graphics Gems III, p. 262-265.

Hall, Mark
Hall, Mark, Defining Surfaces From Sampled Data, Graphics Gems, p. 552-557.
Hall, Mark, Defining Surfaces From Contour Data, Graphics Gems, p. 558-561.

Hanson, Andrew J.
Hanson, Andrew J., The Rolling Ball, Graphics Gems III, p. 51-60, code: p. 452-453, 3d.c defs.h.
Hanson, Andrew J., Geometry for N-Dimensional Graphics, Graphics Gems IV, p. 149-170.
Hanson, Andrew J., Rotations for N-dimensional Graphics, Graphics Gems V, p. 55-64.

Hart, John C.
Hart, John C., Distance to an Ellipsoid, Graphics Gems IV, p. 113-119.

Hatch, Don
Green, Daniel, and Hatch, Don, Fast Polygon-Cube Intersection Testing, Graphics Gems V, p. 375-379, code: ch7-2/.

Hawley, Stephen
Hawley, Stephen, Ordered Dithering, Graphics Gems, p. 176-178, code: p. 713-714, OrderDither.c.

Heckbert, Paul S.
Heckbert, Paul S., Nice Numbers for Graph Labels, Graphics Gems, p. 61-63, code: p. 657-659, Label.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.
Heckbert, Paul S., Digital Line Drawing, Graphics Gems, p. 99-100, code: p. 685, DigitalLine.c.
Heckbert, Paul S., What Are the Coordinates of a Pixel?, Graphics Gems, p. 246-248.
Heckbert, Paul S., Recording Animation in Binary Order for Progressive Temporal Refinement, Graphics Gems, p. 265-269, code: p. 720, BinRec.c.
Heckbert, Paul S., A Seed Fill Algorithm, Graphics Gems, p. 275-277, code: p. 721-722, SeedFill.c.
Heckbert, Paul S., A Minimal Ray Tracer, Graphics Gems IV, p. 375-381, code: p. 378-380, minray/.
Heckbert, Paul S., Bilinear Coons Patch Image Warping, Graphics Gems IV, p. 438-446, code: p. 441-444, coons_warp.c.

Herbison-Evans, Don
Herbison-Evans, Don, Solving Quartics and Cubics for Graphics, Graphics Gems V, p. 3-15, code: ch1-1/.

Hill, F. S., Jr.
Hill, F. S., Jr., The Pleasures of `Perp Dot' Products, Graphics Gems IV, p. 138-148.

Hill, Kenneth J.
Hill, Kenneth J., Matrix-based Ellipse Geometry, Graphics Gems V, p. 72-77, code: ch2-6/.

Hill, Steve
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/.
Hill, Steve, Tri-linear Interpolation, Graphics Gems IV, p. 521-525, code: p. 523-524, trilerp.c.
Hill, Steve, and Roberts, Jonathan C., Surface Models and the Resolution of N-Dimensional Cell Ambiguity, Graphics Gems V, p. 98-106.

Hollasch, Steve
Hollasch, Steve, Useful C Macros for Vector Operations, Graphics Gems II, p. 467-469, code: p. 467-469, vector.h.
Hollasch, Steve, Progressive Image Refinement via Gridded Sampling, Graphics Gems III, p. 358-361, code: p. 597-598, PIR.c.
Hollasch, Steve, Useful C Macros for Vector Operations, Graphics Gems III, p. 405-407, code: p. 405-407, vector.h.

Holt, Jeff
Holt, Jeff, Rotation of Run-Length Encoded Image Data, Graphics Gems II, p. 86-88, code: p. 516-524.

Hook, D.G.
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/.

Hsu, Siu-chi
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/.
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/.

Hultquist, Jeff
Hultquist, Jeff, Backface Culling, Graphics Gems, p. 346-347.
Hultquist, Jeff, Intersection of a Ray with a Sphere, Graphics Gems, p. 388-389.
Hultquist, Jeff, A Virtual Trackball, Graphics Gems, p. 462-463.
Hultquist, Jeff, Memory Allocation in C, Graphics Gems, p. 643, code: p. 643.

Karinthi, Raghu
Karinthi, Raghu, Accurate Z-buffer Rendering, Graphics Gems V, p. 398-399, code: ch7-6/.

Kirk, David
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.

Klassen, R. Victor
Klassen, R. Victor, Intersecting Parametric Cubic Curves by Midpoint Subdivision, Graphics Gems IV, p. 261-277, code: p. 266-276, curve_isect/.

Kohler, Andreas
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.

Kopp, Manfred
Kopp, Manfred, and Gervautz, Michael, XOR-Drawing with Guaranteed Contrast, Graphics Gems IV, p. 413-414.

Lalonde, Paul
Lalonde, Paul, and Dawson, Robert, A High-Speed, Low Precision Square Root, Graphics Gems, p. 424-426, code: p. 756-757, SquareRoot.c.

Lee, Greg
Lee, Greg, Penk, Mike, and Wallis, Bob, Periodic Tilings of the Plane on a Raster Grid, Graphics Gems, p. 129-139.

Lee, I.H.H.
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/.

Lee, Mark E.
Lee, Mark E., Fast Dot Products for Shading, Graphics Gems, p. 348-360.
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.

Leipelt, Andreas
Leipelt, Andreas, Ray Tracing a Swept Sphere, Graphics Gems V, p. 258-267, code: p. 261-267, ch5-4/.

Lindgren, Terence
Hall, Jim, and Lindgren, Terence, A Fast Approach To PHIGS PLUS Pseudo Color, Graphics Gems II, p. 138-142.
Lindgren, Terence, Symmetric Evaluation of Polynomials, Graphics Gems II, p. 420-423.
Lindgren, Terence, Sanchez, Juan, and Hall, Jim, Curve Tessellation Criteria Thru Sampling, Graphics Gems III, p. 262-265.

Lischinski, Dani
Lischinski, Dani, Converting Bézier Triangles Into Rectangular Patches, Graphics Gems III, p. 256-261, code: p. 536-537, bezierTri.C.
Lischinski, Dani, Incremental Delaunay Triangulation, Graphics Gems IV, p. 47-59, code: p. 51-58, delaunay/.
Lischinski, Dani, Converting Rectangular Patches into Bézier Triangles, Graphics Gems IV, p. 278-285, code: p. 281-285, patch_conv.C.

López-López, Fernando J.
López-López, Fernando J., Triangles Revisited, Graphics Gems III, p. 215-218.

Maillot, Patrick-Gilles
Maillot, Patrick-Gilles, Using Quaternions for Coding 3D Transformations, Graphics Gems, p. 498-515, code: p. 775-777, Quaternions.c.
Maillot, Patrick-Gilles, Three-Dimensional Homogeneous Clipping of Triangle Strips, Graphics Gems II, p. 219-231, code: p. 563-570.

Manocha, Dinesh
Narkhede, Atul, and Manocha, Dinesh, Fast Polygon Triangulation Based on Seidel's Algorithm, Graphics Gems V, p. 394-397, code: ch7-5/.

Marks, Joe
Christensen, Jon, Marks, Joe, and Shieber, Stuart, Placing Text Labels on Maps and Diagrams, Graphics Gems IV, p. 497-504.

Martindale, David
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.

Massalin, Henry
Wolberg, George, and Massalin, Henry, Fast Convolution with Packed Lookup Tables, Graphics Gems IV, p. 447-464, code: p. 455-463, convolve.c.

Max, Nelson L.
Max, Nelson L., An Optimal Filter for Image Reconstruction, Graphics Gems II, p. 101-104.
Max, Nelson L., and Allison, Michael J., Linear Radiosity Approximation Using Vertex-to-Vertex Form Factors, Graphics Gems III, p. 318-323.

May, Stephen
Paeth, Alan W., Scheepers, Ferdi, and May, Stephen, A Survey of Graphics Libraries, Graphics Gems V, p. 400-406, code: ch7-7/.

McAree, P.R.
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/.

Meyer, Gary W.
Meyer, Gary W., An Inexpensive Method of Setting the Monitor White Point, Graphics Gems II, p. 159-162.

Miller, Robert D.
Miller, Robert D., Joining Two Lines with a Circular Arc Fillet, Graphics Gems III, p. 193-198, code: p. 496-499, fillet.c.
Miller, Robert D., Computing the Area of a Spherical Polygon, Graphics Gems IV, p. 132-137, code: p. 135-136, sph_poly.c.
Miller, Robert D., Transforming Coordinates From One Coordinate Plane To Another, Graphics Gems V, p. 111-120, code: p. 115-120, ch3-4/.
Miller, Robert D., Quick and Simple Bézier Curve Drawing, Graphics Gems V, p. 206-209, code: p. 207-209, ch4-8/.

Minh, Hong Tong
Thalmann, Nadia Magnenat, Thalmann, Daniel, and Minh, Hong Tong, InterPhong Shading, Graphics Gems II, p. 232-241, code: p. 571-574, InterPhong.c.

Miranda, Rick
Alciatore, David, and Miranda, Rick, The Best Least-Squares Line Fit, Graphics Gems V, p. 91-97.

Montani, Claudio
Montani, Claudio, and Scopigno, Roberto, Spheres-to-Voxels Conversion, Graphics Gems, p. 327-334.
Montani, Claudio, and Scopigno, Roberto, Quadtree/Octree-to-Boundary Conversion, Graphics Gems II, p. 202-218.

Moore, Doug
Moore, Doug, and Warren, Joseph, Least-Squares Approximations To Bézier Curves and Surfaces, Graphics Gems II, p. 406-411.
Moore, Doug, and Warren, Joseph, Compact Isocontours From Sampled Data, Graphics Gems III, p. 23-28.
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.

Morrison, Jack C.
Morrison, Jack C., Fast Anti-Aliasing Polygon Scan Conversion, Graphics Gems, p. 76-83, code: p. 662-666, AAPolyScan.c.
Morrison, Jack C., Distance From a Point To a Line, Graphics Gems II, p. 10-13.
Morrison, Jack C., Quaternion Interpolation with Extra Spins, Graphics Gems III, p. 96-97, code: p. 461-462, quatspin.c.

Morton, Mike
Morton, Mike, A Digital "Dissolve" Effect, Graphics Gems, p. 221-232, code: p. 715-717, Dissolve.c.

Musgrave, F. Kenton
Musgrave, F. Kenton, A Peano Curve Generation Algorithm, Graphics Gems II, p. 25, code: p. 477-484, Peano/.
Musgrave, F. Kenton, A Random Color Map Animation Algorithm, Graphics Gems II, p. 134-137, code: p. 536-541, ran_ramp.c.
Musgrave, F. Kenton, Some Tips for Making Color Hardcopy, Graphics Gems II, p. 163-165.
Musgrave, F. Kenton, A Panoramic Virtual Screen for Ray Tracing, Graphics Gems III, p. 288-294, code: p. 551-554, panorama.c.

Musial, Christopher J.
Musial, Christopher J., An Integer Square Root Algorithm, Graphics Gems II, p. 387-388, code: p. 612.
Musial, Christopher J., A Good Straight-Line Approximation of a Circular Arc, Graphics Gems II, p. 435-439, code: p. 617.

Márton, Gábor
Márton, Gábor, Acceleration of Ray Tracing via Voronoi-diagrams, Graphics Gems V, p. 268-284, code: p. 276-283, ch5-5/.

Möller, Tomas
Möller, Tomas, Fast Bitmap Stretching, Graphics Gems III, p. 4-7, code: p. 411-413, fastBitmap.c.
Möller, Tomas, Faster Ray Tracing Using Scanline Rejection, Graphics Gems V, p. 242-257, code: p. 249-257, ch5-3/.

Narkhede, Atul
Narkhede, Atul, and Manocha, Dinesh, Fast Polygon Triangulation Based on Seidel's Algorithm, Graphics Gems V, p. 394-397, code: ch7-5/.

Ohashi, Yoshikazu
Ohashi, Yoshikazu, Fast Linear Approximations of Euclidean Distance in Higher Dimensions, Graphics Gems IV, p. 121-124, code: dist_fast.c.

Olsen, John
Olsen, John, Smoothing Enlarged Monochrome Images, Graphics Gems, p. 166-170.

Paeth, Alan W.
Paeth, Alan W., Trigonometric Functions at Select Points, Graphics Gems, p. 18-19.
Paeth, Alan W., A Fast 2D Point-on-line Test, Graphics Gems, p. 49-50, code: p. 654-655, PntOnLine.c.
Paeth, Alan W., Circles of Integral Radius on Integer Lattices, Graphics Gems, p. 57-60.
Paeth, Alan W., Median Finding on a 3-by-3 Grid, Graphics Gems, p. 171-175, code: p. 711-712, Median.c.
Paeth, Alan W., A Fast Algorithm for General Raster Rotation, Graphics Gems, p. 179-195.
Paeth, Alan W., Reading a Write-Only Write Mask, Graphics Gems, p. 219-220.
Paeth, Alan W., Mapping RGB Triples Onto Four Bits, Graphics Gems, p. 233-245, code: p. 718, RGBTo4Bits.c.
Paeth, Alan W., Proper Treatment of Pixels as Integers, Graphics Gems, p. 249-256, code: p. 719, PixelInteger.c.
Paeth, Alan W., Digital Cartography for Computer Graphics, Graphics Gems, p. 307-320.
Paeth, Alan W., A Fast Approximation To the Hypotenuse, Graphics Gems, p. 427-431, code: p. 758, HypotApprox.c.
Paeth, Alan W., Image File Compression Made Easy, Graphics Gems II, p. 93-100.
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.
Paeth, Alan W., Exact Dihedral Metrics for Common Polyhedra, Graphics Gems II, p. 174-178.
Paeth, Alan W., and Schilling, David, Of Integers, Fields, and Bit Counting, Graphics Gems II, p. 371-376, code: p. 610-611, BitCounting/.
Paeth, Alan W., A Half-Angle Identity for Digital Computation: The Joys of the Halved Tangent, Graphics Gems II, p. 381-386.
Paeth, Alan W., Great Circle Plotting, Graphics Gems II, p. 440-445.
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.
Paeth, Alan W., Ideal Tiles for Shading and Halftoning, Graphics Gems IV, p. 486-492.
Paeth, Alan W., Distance Approximations and Bounding Polyhedra, Graphics Gems V, p. 78-87, code: p. 85-86, ch2-7/.
Paeth, Alan W., Scheepers, Ferdi, and May, Stephen, A Survey of Graphics Libraries, Graphics Gems V, p. 400-406, code: ch7-7/.

Pavicic, Mark J.
Pavicic, Mark J., Anti-Aliasing Filters that Minimize "Bumpy" Sampling, Graphics Gems, p. 144-146.
Beran-Koehn, Jeffrey C., and Pavicic, Mark J., A Cubic Tetrahedral Adaptation of the Hemi-Cube Algorithm, Graphics Gems II, p. 299-302.
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.

Pearce, Andrew
Pearce, Andrew, Shadow Attenuation for Ray Tracing Transparent Objects, Graphics Gems, p. 397-399.
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.

Penk, Mike
Lee, Greg, Penk, Mike, and Wallis, Bob, Periodic Tilings of the Plane on a Raster Grid, Graphics Gems, p. 129-139.

Peterson, John W.
Peterson, John W., Tessellation of NURB Surfaces, Graphics Gems IV, p. 286-320, code: p. 294-319, nurb_polyg/.

Pique, Michael E.
Pique, Michael E., Rotation Tools, Graphics Gems, p. 465-469.

Prasad, Mukesh
Prasad, Mukesh, Intersection of Line Segments, Graphics Gems II, p. 7-9, code: p. 473-476, xlines.c.

Purgathofer, Werner
Gervautz, Michael, and Purgathofer, Werner, A Simple Method for Color Quantization: Octree Quantization, Graphics Gems, p. 287-293.
Purgathofer, Werner, Tobler, Robert F., and Geiler, Manfred, Improved Threshold Matrices for Ordered Dithering, Graphics Gems V, p. 297-301.

Rabbitz, Rich
Rabbitz, Rich, Fast Collision Detection of Moving Convex Polyhedra, Graphics Gems IV, p. 83-109, code: p. 91-108, collide.c.

Raible, Eric
Raible, Eric, Matrix Orthogonalization, Graphics Gems, p. 464, code: p. 765, MatrixOrtho.c.
Raible, Eric, Two Useful C Macros, Graphics Gems, p. 644, code: p. 644.

Rasala, Richard
Rasala, Richard, Explicit Cubic Spline Interpolation Formulas, Graphics Gems, p. 579-584.

Ritter, Jack
Ritter, Jack, An Algorithm for Filling in 2D Wide Line Bevel Joints, Graphics Gems, p. 107-113.
Ritter, Jack, An Efficient Bounding Sphere, Graphics Gems, p. 301-303, code: p. 723-725, BoundSphere.c.
Ritter, Jack, A Simple Ray Rejection Test, Graphics Gems, p. 385-386.
Ritter, Jack, A Fast Approximation To 3D Euclidian Distance, Graphics Gems, p. 432-433.
Ritter, Jack, Fast 2D-3D Rotation, Graphics Gems, p. 440-441.
Ritter, Jack, Fast Sign of Cross Product Calculation, Graphics Gems II, p. 392-393, code: p. 613-614.

Roberts, Jonathan C.
Hill, Steve, and Roberts, Jonathan C., Surface Models and the Resolution of N-Dimensional Cell Ambiguity, Graphics Gems V, p. 98-106.

Rokne, Jon
Rokne, Jon, The Area of a Simple Polygon, Graphics Gems II, p. 5-6.
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.
Rokne, Jon, Interval Arithmetic, Graphics Gems III, p. 61-66, code: p. 454-457, interval.C.

Rosati, Claudio
Rosati, Claudio, A Simple Connection Algorithm for 2-D Drawing, Graphics Gems III, p. 173-181, code: p. 480-486, con2d.c.

Rubio, Ruben Gonzalez
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/.

Salesin, David
Salesin, David, and Barzel, Ronen, Compositing Black-and-White Bitmaps, Graphics Gems III, p. 34-35.
Salesin, David, and Tampieri, Filippo, Grouping Nearly Coplanar Polygons Into Coplanar Sets, Graphics Gems III, p. 225-230, code: p. 512-516, planeSets.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/.

Sanchez, Juan
Lindgren, Terence, Sanchez, Juan, and Hall, Jim, Curve Tessellation Criteria Thru Sampling, Graphics Gems III, p. 262-265.

Scheepers, Ferdi
Paeth, Alan W., Scheepers, Ferdi, and May, Stephen, A Survey of Graphics Libraries, Graphics Gems V, p. 400-406, code: ch7-7/.

Schilling, David
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
Schlag, John, Noise Thresholding in Edge Images, Graphics Gems II, p. 105-106.
Schlag, John, Using Geometric Constructions to Interpolate Orientation with Quaternions, Graphics Gems II, p. 377-380.
Schlag, John, A Simple Formulation for Curve Interpolation with Variable Control Point Approximation, Graphics Gems II, p. 417-419.
Schlag, John, Fast Embossing Effects on Raster Image Data, Graphics Gems IV, p. 433-437, code: p. 435-436, emboss.c.

Schlick, Christophe
Schlick, Christophe, A Fast Alternative to Phong's Specular Model, Graphics Gems IV, p. 385-387.
Schlick, Christophe, Fast Alternatives to Perlin's Bias and Gain Functions, Graphics Gems IV, p. 401-403.
Schlick, Christophe, High Dynamic Range Pixels, Graphics Gems IV, p. 422-429, code: p. 425-428, dyn_range/.
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/.
Schlick, Christophe, Wave Generators for Computer Graphics, Graphics Gems V, p. 367-374, code: p. 371-374, ch7-1/.

Schneider, Philip J.
Schneider, Philip J., A Bézier Curve-Based Root-Finder, Graphics Gems, p. 408-415, code: p. 787, NearestPoint.c.
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.

Schorn, Peter
Schorn, Peter, and Fisher, Frederick, Testing the Convexity of a Polygon, Graphics Gems IV, p. 7-15, code: p. 11-15, convex_test/.

Schumacher, Dale A.
Schumacher, Dale A., Useful 1-to-1 Pixel Transforms, Graphics Gems, p. 196-209.
Schumacher, Dale A., 1-to-1 Pixel Transforms Optimized Through Color-Map Manipulation, Graphics Gems, p. 270-274.
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.
Schumacher, Dale A., Fast Anamorphic Image Scaling, Graphics Gems II, p. 78-79.
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.

Schwarze, Jochen
Schwarze, Jochen, Cubic and Quartic Roots, Graphics Gems, p. 404-407, code: p. 738-786, Roots3And4.c.

Scofield, Cary
Scofield, Cary, 2-1/2-d Depth-of-Field Simulation for Computer Animation, Graphics Gems III, p. 36-38.
Arvo, James, and Scofield, Cary, The Shader Cache: A Rendering Pipeline Accelerator, Graphics Gems III, p. 383-389.

Scopigno, Roberto
Montani, Claudio, and Scopigno, Roberto, Spheres-to-Voxels Conversion, Graphics Gems, p. 327-334.
Montani, Claudio, and Scopigno, Roberto, Quadtree/Octree-to-Boundary Conversion, Graphics Gems II, p. 202-218.

Seidel, Hans-Peter
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.

Sevici, Constantin A.
Sevici, Constantin A., Solving the Problem of Apollonius and Other Related Problems, Graphics Gems III, p. 203-209.

Shaffer, Clifford A.
Shaffer, Clifford A., Fast Circle-Rectangle Intersection Checking, Graphics Gems, p. 51-53, code: p. 656, CircleRect.c.
Shaffer, Clifford A., Bit Interleaving for Quad- or Octrees, Graphics Gems, p. 443-447, code: p. 759-762, Interleave.c.
Shaffer, Clifford A., Getting Around on a Sphere, Graphics Gems II, p. 172-173.
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.

Shapira, Andrew
Shapira, Andrew, Fast Line-Edge Intersections on a Uniform Grid, Graphics Gems, p. 29-36, code: p. 651-653, LineEdge.c.

Sharma, Rajesh
Sharma, Rajesh, Priority-based Adaptive Image Refinement, Graphics Gems V, p. 355-358.

Shene, Ching-Kuang
Shene, Ching-Kuang, Equations of Cylinders and Cones, Graphics Gems IV, p. 321-323.
Shene, Ching-Kuang, Computing the Intersection of a Line and a Cylinder, Graphics Gems IV, p. 353-355.
Shene, Ching-Kuang, Computing the Intersection of a Line and a Cone, Graphics Gems V, p. 227-231.

Shieber, Stuart
Christensen, Jon, Marks, Joe, and Shieber, Stuart, Placing Text Labels on Maps and Diagrams, Graphics Gems IV, p. 497-504.

Shirley, Peter
Shirley, Peter, Radiosity via Ray Tracing, Graphics Gems II, p. 306-310.
Shirley, Peter, Nonuniform Random Point Sets, Graphics Gems III, p. 80-83.
Sung, Kelvin, and Shirley, Peter, Ray Tracing with the BSP Tree, Graphics Gems III, p. 271-274, code: p. 538-546, bsp.c.
Chiu, Kenneth, Shirley, Peter, and Wang, Changyaw, Multi-Jittered Sampling, Graphics Gems IV, p. 370-374, code: p. 373-374, multi_jitter/.

Shoemake, Ken
Shoemake, Ken, Bit Patterns for Encoding Angles, Graphics Gems, p. 442.
Shoemake, Ken, Quaternions and 4x4 Matrices, Graphics Gems II, p. 351-354.
Shoemake, Ken, Bit Picking, Graphics Gems II, p. 366-367.
Shoemake, Ken, Faster Fourier Transform, Graphics Gems II, p. 368-370.
Shoemake, Ken, Interval Sampling, Graphics Gems II, p. 394-395.
Shoemake, Ken, Beyond Bézier Curves, Graphics Gems II, p. 412-416.
Shoemake, Ken, Uniform Random Rotations, Graphics Gems III, p. 124-132, code: p. 465-467, urot.c.
Shoemake, Ken, Arcball Rotation Control, Graphics Gems IV, p. 175-192, code: p. 178-191, arcball/.
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/.
Shoemake, Ken, Fiber Bundle Twist Reduction, Graphics Gems IV, p. 230-236.
Shoemake, Ken, Rational Approximation, Graphics Gems V, p. 25-32, code: p. 29-31, ch1-4/.
Shoemake, Ken, Linear Form Curves, Graphics Gems V, p. 210-223, code: p. 220-222, ch4-9/.

Sillion, François
Sillion, François, Detection of Shadow Boundaries for Adaptive Meshing in Radiosity, Graphics Gems II, p. 311-315.

Simar, Ray
Van Aken, Jerry, and Simar, Ray, A Parametric Elliptical Arc Algorithm, Graphics Gems III, p. 164-172, code: p. 478-479, parelarc.c.

Snyder, John
Snyder, John, Barzel, Ronen, and Gabriel, Steve, Motion Blur on Graphics Workstations, Graphics Gems III, p. 374-382, code: p. 606-609, motblur.c.

Spoelder, Hans J.W.
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/.

Srinivasan, Raman V.
Srinivasan, Raman V., A Fast Circle Clipping Algorithm, Graphics Gems III, p. 182-187, code: p. 487-490, circlexc.c.

Steinhart, Jonathan E.
Steinhart, Jonathan E., Scanline Coherent Shape Algebra, Graphics Gems II, p. 31-45, code: p. 487-501.

Subrenat, Gilles
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/.

Sung, Kelvin
Sung, Kelvin, and Shirley, Peter, Ray Tracing with the BSP Tree, Graphics Gems III, p. 271-274, code: p. 538-546, bsp.c.

Szirmay-Kalos, László
Szirmay-Kalos, László, Dynamic Layout Algorithm to Display General Graphs, Graphics Gems IV, p. 505-517, code: p. 511-517, graph_layout/.

Tampieri, Filippo
Tampieri, Filippo, Fast Vertex Radiosity Update, Graphics Gems II, p. 303-305, code: p. 598, FastUpdate.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.
Tampieri, Filippo, Accurate Form-Factor Computation, Graphics Gems III, p. 329-333, code: p. 577-581, accForm.c.

Thalmann, Daniel
Thalmann, Nadia Magnenat, Thalmann, Daniel, and Minh, Hong Tong, InterPhong Shading, Graphics Gems II, p. 232-241, code: p. 571-574, InterPhong.c.

Thalmann, Nadia Magnenat
Thalmann, Nadia Magnenat, Thalmann, Daniel, and Minh, Hong Tong, InterPhong Shading, Graphics Gems II, p. 232-241, code: p. 571-574, InterPhong.c.

Thomas, Spencer W.
Thomas, Spencer W., and Bogart, Rod G., Color Dithering, Graphics Gems II, p. 72-77, code: p. 509-513, dither/.
Thomas, Spencer W., Efficient Inverse Color Map Computation, Graphics Gems II, p. 116-125, code: p. 528-535, inv_cmap/.
Thomas, Spencer W., Decomposing a Matrix Into Simple Transformations, Graphics Gems II, p. 320-323, code: p. 599-602, unmatrix.c.

Thompson, Kelvin
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.
Thompson, Kelvin, Rendering Anti-Aliased Lines, Graphics Gems, p. 105-106, code: p. 690-693, AALines/.
Thompson, Kelvin, Alpha Blending, Graphics Gems, p. 210-211.
Thompson, Kelvin, Scanline Depth Gradient of a Z-Buffered Triangle, Graphics Gems, p. 361-363.
Thompson, Kelvin, Full-Precision Constants, Graphics Gems, p. 434.
Thompson, Kelvin, Converting Between Bits and Digits, Graphics Gems, p. 435.
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.
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.

Tobler, Robert F.
Purgathofer, Werner, Tobler, Robert F., and Geiler, Manfred, Improved Threshold Matrices for Ordered Dithering, Graphics Gems V, p. 297-301.

Trumbore, Ben
Trumbore, Ben, Rectangular Bounding Volumes for Popular Primitives, Graphics Gems III, p. 295-300, code: p. 555-561, bounding_volumes.c.

Turk, Greg
Turk, Greg, Generating Random Points in Triangles, Graphics Gems, p. 24-28, code: p. 649-650, TriPoints.c.

Turkowski, Ken
Turkowski, Ken, Filters for Common Resampling Tasks, Graphics Gems, p. 147-165.
Turkowski, Ken, Fixed-Point Trigonometry with CORDIC Iterations, Graphics Gems, p. 494-497, code: p. 773-774, FixedTrig.c.
Turkowski, Ken, The Use of Coordinate Frames in Computer Graphics, Graphics Gems, p. 522-532.
Turkowski, Ken, Properties of Surface-Normal Transformations, Graphics Gems, p. 539-547.
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/.
Turkowski, Ken, Circular Arc Subdivision, Graphics Gems V, p. 168-172, code: p. 170-171, ch4-3/.

Ullings, Fons H.
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/.

Uselton, Samuel P.
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.

Van Aken, Jerry
Van Aken, Jerry, and Simar, Ray, A Parametric Elliptical Arc Algorithm, Graphics Gems III, p. 164-172, code: p. 478-479, parelarc.c.

Van Gelder, Allen
Van Gelder, Allen, Efficient Computation of Polygon Area and Polyhedron Volume, Graphics Gems V, p. 35-41.

Van Hook, Tim
Donovan, Walt, and Van Hook, Tim, Direct Outcode Calculation for Faster Clip Testing, Graphics Gems IV, p. 125-131, code: p. 127-131, outcode/.

Vanecek, George, Jr.
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/.

Voorhies, Douglas
Voorhies, Douglas, Space-Filling Curves and a Measure of Coherence, Graphics Gems II, p. 26-30, code: p. 485-486, Hilbert.c.
Voorhies, Douglas, and Kirk, David, Ray-Triangle Intersection Using Binary Recursive Subdivision, Graphics Gems II, p. 257-263.
Voorhies, Douglas, Triangle-Cube Intersection, Graphics Gems III, p. 236-239, code: p. 521-526, triangleCube.c.

Waggenspack, Warren N., Jr.
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., and Waggenspack, Warren N., Jr., Intersecting a Ray with a Cylinder, Graphics Gems IV, p. 356-365, code: p. 361-364, ray_cyl.c.

Wallace, Bill
Wallace, Bill, Precalculating Addresses for Fast Fills, Circles, and Lines, Graphics Gems, p. 285-286.

Wallis, Bob
Wallis, Bob, Fast Scan Conversion of Arbitrary Polygons, Graphics Gems, p. 92-97.
Wallis, Bob, Rendering Fat Lines on a Raster Grid, Graphics Gems, p. 114-120.
Lee, Greg, Penk, Mike, and Wallis, Bob, Periodic Tilings of the Plane on a Raster Grid, Graphics Gems, p. 129-139.
Wallis, Bob, Forms, Vectors, and Transforms, Graphics Gems, p. 533-538, code: p. 780-784, Forms.c.
Wallis, Bob, Tutorial on Forward Differencing, Graphics Gems, p. 594-603.

Wang, Changyaw
Wang, Changyaw, Physically Correct Direct Lighting for Distribution Ray Tracing, Graphics Gems III, p. 307-313, code: p. 562-568, luminaire/.
Chiu, Kenneth, Shirley, Peter, and Wang, Changyaw, Multi-Jittered Sampling, Graphics Gems IV, p. 370-374, code: p. 373-374, multi_jitter/.

Wanger, Len
Wanger, Len, and Fusco, Mike, Fast N-Dimensional Extent Overlap Testing, Graphics Gems III, p. 240-243, code: p. 527-533, exttest/.

Ward, Greg
Ward, Greg, Real Pixels, Graphics Gems II, p. 80-83, code: RealPixels/.
Ward, Greg, A Recursive Implementation of the Perlin Noise Function, Graphics Gems II, p. 396-401, code: p. 615-616, noise3.c.
Ward, Greg, A Contrast-Based Scalefactor for Luminance Display, Graphics Gems IV, p. 415-421.

Warren, Joseph
Moore, Doug, and Warren, Joseph, Least-Squares Approximations To Bézier Curves and Surfaces, Graphics Gems II, p. 406-411.
Moore, Doug, and Warren, Joseph, Compact Isocontours From Sampled Data, Graphics Gems III, p. 23-28.

Weiler, Kevin
Weiler, Kevin, An Incremental Angle Point in Polygon Test, Graphics Gems IV, p. 16-23, code: p. 17-22, ptpoly_weiler/.

Wolberg, George
Wolberg, George, and Massalin, Henry, Fast Convolution with Packed Lookup Tables, Graphics Gems IV, p. 447-464, code: p. 455-463, convolve.c.

Wong, Tien-tsin
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/.

Woo, Andrew
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.
Woo, Andrew, The Shadow Depth Map Revisited, Graphics Gems III, p. 338-342, code: p. 582, zdepth.c.
Fisher, Frederick, and Woo, Andrew, R.E versus N.H Specular Highlights, Graphics Gems IV, p. 388-400.

Wu, Kevin
Wu, Kevin, Fast Matrix Inversion, Graphics Gems II, p. 342-350, code: p. 603-605, inverse.c.
Wu, Kevin, Fast Inversion of Length- and Angle-Preserving Matrices, Graphics Gems IV, p. 199-206, code: p. 204-206, inv_fast.c.

Wu, Xiaolin
Wu, Xiaolin, Efficient Statistical Computations for Optimal Color Quantization, Graphics Gems II, p. 126-133, code: quantizer.c.
Wu, Xiaolin, Fast Anti-Aliased Circle Generation, Graphics Gems II, p. 446-450.
Wu, Xiaolin, A Linear-Time Simple Bounding Volume Algorithm, Graphics Gems III, p. 301-306.

Wuthrich, Charles A.
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.

Wyvill, Brian
Wyvill, Brian, Symmetric Double Step Line Algorithm, Graphics Gems, p. 101-104, code: p. 686-689, DoubleLine.c.
Wyvill, Brian, 3D Grid Hashing Function, Graphics Gems, p. 343-345, code: p. 733-734, Hash3D.c.
Wyvill, Brian, Storage-free Swapping, Graphics Gems, p. 436-437.

Xu, Guoliang
Bajaj, Chandrajit, and Xu, Guoliang, Converting a Rational Curve to a Standard Rational Bernstein-Bézier Representation, Graphics Gems IV, p. 256-260.
Bajaj, Chandrajit, and Xu, Guoliang, Sparse Smooth Connection Between Bézier/B-Spline Curves, Graphics Gems V, p. 191-198.

Yap, Sue-Ken
Yap, Sue-Ken, A Fast 90-Degree Bitmap Rotator, Graphics Gems II, p. 84-85, code: p. 514-515, rotate8x8.c.

Zimmerman, Kurt
Zimmerman, Kurt, Direct Lighting Models for Ray Tracing with Cylindrical Lamps, Graphics Gems V, p. 285-289.

Zuiderveld, Karel
Zuiderveld, Karel, Contrast Limited Adaptive Histogram Equalization, Graphics Gems IV, p. 474-485, code: p. 479-484, clahe.c.


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