📄 gems.html
字号:
<html>
<head>
<title>Graphics Gems, by Book</title>
</head>
<body>
<H1>Graphics Gems, by Book</H1>
Listed by book, in order.
<UL>
<LI><a href="#gems">Graphics Gems</a>
<LI><a href="#gemsii">Graphics Gems II</a>
<LI><a href="#gemsiii">Graphics Gems III</a>
<LI><a href="#gemsiv">Graphics Gems IV</a>
<LI><a href="#gemsv">Graphics Gems V</a>
</UL>
<P>
<I><a href="index.html">return to main page</a></I>
<HR>
<P><H2><a name="gems">Graphics Gems</a></H2>Glassner, Andrew,
<B>Useful 2D Geometry</B>,
p. 3-11.<BR>
Glassner, Andrew,
<B>Useful Trigonometry</B>,
p. 13-17.<BR>
Paeth, Alan W.,
<B>Trigonometric Functions at Select Points</B>,
p. 18-19.<BR>
Goldman, Ronald,
<B>Triangles</B>,
p. 20-23.<BR>
Turk, Greg,
<B>Generating Random Points in Triangles</B>,
p. 24-28, code: p. 649-650, <a href="gems/TriPoints.c">TriPoints.c</a>.<BR>
Shapira, Andrew,
<B>Fast Line-Edge Intersections on a Uniform Grid</B>,
p. 29-36, code: p. 651-653, <a href="gems/LineEdge.c">LineEdge.c</a>.<BR>
Thompson, Kelvin,
<B>Area of Intersection: Circle and a Half-Plane</B>,
p. 38-39.<BR>
Thompson, Kelvin,
<B>Area of Intersection: Circle and a Thick Line</B>,
p. 40-42.<BR>
Thompson, Kelvin,
<B>Area of Intersection: Two Circles</B>,
p. 43-46.<BR>
Thompson, Kelvin,
<B>Vertical Distance from a Point to a Line</B>,
p. 47-48.<BR>
Paeth, Alan W.,
<B>A Fast 2D Point-on-line Test</B>,
p. 49-50, code: p. 654-655, <a href="gems/PntOnLine.c">PntOnLine.c</a>.<BR>
Shaffer, Clifford A.,
<B>Fast Circle-Rectangle Intersection Checking</B>,
p. 51-53, code: p. 656, <a href="gems/CircleRect.c">CircleRect.c</a>.<BR>
Paeth, Alan W.,
<B>Circles of Integral Radius on Integer Lattices</B>,
p. 57-60.<BR>
Heckbert, Paul S.,
<B>Nice Numbers for Graph Labels</B>,
p. 61-63, code: p. 657-659, <a href="gems/Label.c">Label.c</a>.<BR>
Cychosz, Joseph M.,
<B>Efficient Generation of Sampling Jitter Using Look-up Tables</B>,
p. 64-74, code: p. 660-661, <a href="gems/FastJitter.c">FastJitter.c</a>.<BR>
Morrison, Jack C.,
<B>Fast Anti-Aliasing Polygon Scan Conversion</B>,
p. 76-83, code: p. 662-666, <a href="gems/AAPolyScan.c">AAPolyScan.c</a>.<BR>
Heckbert, Paul S.,
<B>Generic Convex Polygon Scan Conversion and Clipping</B>,
p. 84-86, code: p. 667-680, <a href="gems/PolyScan/">PolyScan/</a>.<BR>
Heckbert, Paul S.,
<B>Concave Polygon Scan Conversion</B>,
p. 87-91, code: p. 681-684, <a href="gems/ConcaveScan.c">ConcaveScan.c</a>.<BR>
Wallis, Bob,
<B>Fast Scan Conversion of Arbitrary Polygons</B>,
p. 92-97.<BR>
Heckbert, Paul S.,
<B>Digital Line Drawing</B>,
p. 99-100, code: p. 685, <a href="gems/DigitalLine.c">DigitalLine.c</a>.<BR>
Wyvill, Brian,
<B>Symmetric Double Step Line Algorithm</B>,
p. 101-104, code: p. 686-689, <a href="gems/DoubleLine.c">DoubleLine.c</a>.<BR>
Thompson, Kelvin,
<B>Rendering Anti-Aliased Lines</B>,
p. 105-106, code: p. 690-693, <a href="gems/AALines/">AALines/</a>.<BR>
Ritter, Jack,
<B>An Algorithm for Filling in 2D Wide Line Bevel Joints</B>,
p. 107-113.<BR>
Wallis, Bob,
<B>Rendering Fat Lines on a Raster Grid</B>,
p. 114-120.<BR>
Spoelder, Hans J.W., and Ullings, Fons H.,
<B>Two-Dimensional Clipping: A Vector-Based Approach</B>,
p. 121-128, code: p. 694-710, <a href="gems/2DClip/">2DClip/</a>.<BR>
Lee, Greg, Penk, Mike, and Wallis, Bob,
<B>Periodic Tilings of the Plane on a Raster Grid</B>,
p. 129-139.<BR>
Pavicic, Mark J.,
<B>Anti-Aliasing Filters that Minimize "Bumpy" Sampling</B>,
p. 144-146.<BR>
Turkowski, Ken,
<B>Filters for Common Resampling Tasks</B>,
p. 147-165.<BR>
Olsen, John,
<B>Smoothing Enlarged Monochrome Images</B>,
p. 166-170.<BR>
Paeth, Alan W.,
<B>Median Finding on a 3-by-3 Grid</B>,
p. 171-175, code: p. 711-712, <a href="gems/Median.c">Median.c</a>.<BR>
Hawley, Stephen,
<B>Ordered Dithering</B>,
p. 176-178, code: p. 713-714, <a href="gems/OrderDither.c">OrderDither.c</a>.<BR>
Paeth, Alan W.,
<B>A Fast Algorithm for General Raster Rotation</B>,
p. 179-195.<BR>
Schumacher, Dale A.,
<B>Useful 1-to-1 Pixel Transforms</B>,
p. 196-209.<BR>
Thompson, Kelvin,
<B>Alpha Blending</B>,
p. 210-211.<BR>
Glassner, Andrew,
<B>Frame Buffers and Color Maps</B>,
p. 215-218.<BR>
Paeth, Alan W.,
<B>Reading a Write-Only Write Mask</B>,
p. 219-220.<BR>
Morton, Mike,
<B>A Digital "Dissolve" Effect</B>,
p. 221-232, code: p. 715-717, <a href="gems/Dissolve.c">Dissolve.c</a>.<BR>
Paeth, Alan W.,
<B>Mapping RGB Triples Onto Four Bits</B>,
p. 233-245, code: p. 718, <a href="gems/RGBTo4Bits.c">RGBTo4Bits.c</a>.<BR>
Heckbert, Paul S.,
<B>What Are the Coordinates of a Pixel?</B>,
p. 246-248.<BR>
Paeth, Alan W.,
<B>Proper Treatment of Pixels as Integers</B>,
p. 249-256, code: p. 719, <a href="gems/PixelInteger.c">PixelInteger.c</a>.<BR>
Glassner, Andrew,
<B>Normal Coding</B>,
p. 257-264.<BR>
Heckbert, Paul S.,
<B>Recording Animation in Binary Order for Progressive Temporal Refinement</B>,
p. 265-269, code: p. 720, <a href="gems/BinRec.c">BinRec.c</a>.<BR>
Schumacher, Dale A.,
<B>1-to-1 Pixel Transforms Optimized Through Color-Map Manipulation</B>,
p. 270-274.<BR>
Heckbert, Paul S.,
<B>A Seed Fill Algorithm</B>,
p. 275-277, code: p. 721-722, <a href="gems/SeedFill.c">SeedFill.c</a>.<BR>
Fishkin, Ken,
<B>Filling a Region in a Frame Buffer</B>,
p. 278-284.<BR>
Wallace, Bill,
<B>Precalculating Addresses for Fast Fills, Circles, and Lines</B>,
p. 285-286.<BR>
Gervautz, Michael, and Purgathofer, Werner,
<B>A Simple Method for Color Quantization: Octree Quantization</B>,
p. 287-293.<BR>
Glassner, Andrew,
<B>Useful 3D Geometry</B>,
p. 297-300.<BR>
Ritter, Jack,
<B>An Efficient Bounding Sphere</B>,
p. 301-303, code: p. 723-725, <a href="gems/BoundSphere.c">BoundSphere.c</a>.<BR>
Goldman, Ronald,
<B>Intersection of Two Lines in Three-Space</B>,
p. 304.<BR>
Goldman, Ronald,
<B>Intersection of Three Planes</B>,
p. 305.<BR>
Paeth, Alan W.,
<B>Digital Cartography for Computer Graphics</B>,
p. 307-320.<BR>
Bame, Paul D.,
<B>Albers Equal-Area Conic Map Projection</B>,
p. 321-325, code: p. 726-729, <a href="gems/Albers.c">Albers.c</a>.<BR>
Montani, Claudio, and Scopigno, Roberto,
<B>Spheres-to-Voxels Conversion</B>,
p. 327-334.<BR>
Arvo, James,
<B>A Simple Method for Box-Sphere Intersection Testing</B>,
p. 335-339, code: p. 730-732, <a href="gems/BoxSphere.c">BoxSphere.c</a>.<BR>
Wyvill, Brian,
<B>3D Grid Hashing Function</B>,
p. 343-345, code: p. 733-734, <a href="gems/Hash3D.c">Hash3D.c</a>.<BR>
Hultquist, Jeff,
<B>Backface Culling</B>,
p. 346-347.<BR>
Lee, Mark E.,
<B>Fast Dot Products for Shading</B>,
p. 348-360.<BR>
Thompson, Kelvin,
<B>Scanline Depth Gradient of a Z-Buffered Triangle</B>,
p. 361-363.<BR>
Glassner, Andrew,
<B>Simulating Fog and Haze</B>,
p. 364-365.<BR>
Glassner, Andrew,
<B>Interpretation of Texture Map Indices</B>,
p. 366-375.<BR>
Glassner, Andrew,
<B>Multidimensional Sum Tables</B>,
p. 376-381.<BR>
Ritter, Jack,
<B>A Simple Ray Rejection Test</B>,
p. 385-386.<BR>
Hultquist, Jeff,
<B>Intersection of a Ray with a Sphere</B>,
p. 388-389.<BR>
Badouel, Didier,
<B>An Efficient Ray-Polygon Intersection</B>,
p. 390-393, code: p. 735, <a href="gems/RayPolygon.c">RayPolygon.c</a>.<BR>
Woo, Andrew,
<B>Fast Ray-Polygon Intersection</B>,
p. 394.<BR>
Woo, Andrew,
<B>Fast Ray-Box Intersection</B>,
p. 395-396, code: p. 736-737, <a href="gems/RayBox.c">RayBox.c</a>.<BR>
Pearce, Andrew,
<B>Shadow Attenuation for Ray Tracing Transparent Objects</B>,
p. 397-399.<BR>
Schwarze, Jochen,
<B>Cubic and Quartic Roots</B>,
p. 404-407, code: p. 738-786, <a href="gems/Roots3And4.c">Roots3And4.c</a>.<BR>
Schneider, Philip J.,
<B>A B閦ier Curve-Based Root-Finder</B>,
p. 408-415, code: p. 787, <a href="gems/NearestPoint.c">NearestPoint.c</a>.<BR>
Hook, D.G., and McAree, P.R.,
<B>Using Sturm Sequences To Bracket Real Roots of Polynomial Equations</B>,
p. 416-423, code: p. 743-755, <a href="gems/Sturm/">Sturm/</a>.<BR>
Lalonde, Paul, and Dawson, Robert,
<B>A High-Speed, Low Precision Square Root</B>,
p. 424-426, code: p. 756-757, <a href="gems/SquareRoot.c">SquareRoot.c</a>.<BR>
Paeth, Alan W.,
<B>A Fast Approximation To the Hypotenuse</B>,
p. 427-431, code: p. 758, <a href="gems/HypotApprox.c">HypotApprox.c</a>.<BR>
Ritter, Jack,
<B>A Fast Approximation To 3D Euclidian Distance</B>,
p. 432-433.<BR>
Thompson, Kelvin,
<B>Full-Precision Constants</B>,
p. 434.<BR>
Thompson, Kelvin,
<B>Converting Between Bits and Digits</B>,
p. 435.<BR>
Wyvill, Brian,
<B>Storage-free Swapping</B>,
p. 436-437.<BR>
Glassner, Andrew,
<B>Generating Random Integers</B>,
p. 438-439.<BR>
Ritter, Jack,
<B>Fast 2D-3D Rotation</B>,
p. 440-441.<BR>
Shoemake, Ken,
<B>Bit Patterns for Encoding Angles</B>,
p. 442.<BR>
Shaffer, Clifford A.,
<B>Bit Interleaving for Quad- or Octrees</B>,
p. 443-447, code: p. 759-762, <a href="gems/Interleave.c">Interleave.c</a>.<BR>
Fishkin, Ken,
<B>A Fast HSL-to-RGB Transform</B>,
p. 448-449, code: p. 763-764, <a href="gems/HSLtoRGB.c">HSLtoRGB.c</a>.<BR>
Thompson, Kelvin,
<B>Matrix Identities</B>,
p. 453-454.<BR>
Thompson, Kelvin,
<B>Transforming Axes</B>,
p. 456-459.<BR>
Thompson, Kelvin,
<B>Fast Matrix Multiplication</B>,
p. 460-461.<BR>
Hultquist, Jeff,
<B>A Virtual Trackball</B>,
p. 462-463.<BR>
Raible, Eric,
<B>Matrix Orthogonalization</B>,
p. 464, code: p. 765, <a href="gems/MatrixOrtho.c">MatrixOrtho.c</a>.<BR>
Pique, Michael E.,
<B>Rotation Tools</B>,
p. 465-469.<BR>
Carling, Richard,
<B>Matrix Inversion</B>,
p. 470-471, code: p. 766-769, <a href="gems/MatrixInvert.c">MatrixInvert.c</a>.<BR>
Goldman, Ronald,
<B>Matrices and Transformations</B>,
p. 472-475.<BR>
Cychosz, Joseph M.,
<B>Efficient Post-Concatenation of Transformation Matrices</B>,
p. 476-481, code: p. 770-772, <a href="gems/MatrixPost.c">MatrixPost.c</a>.<BR>
Greene, Ned,
<B>Transformation Identities</B>,
p. 485-493.<BR>
Turkowski, Ken,
<B>Fixed-Point Trigonometry with CORDIC Iterations</B>,
p. 494-497, code: p. 773-774, <a href="gems/FixedTrig.c">FixedTrig.c</a>.<BR>
Maillot, Patrick-Gilles,
<B>Using Quaternions for Coding 3D Transformations</B>,
p. 498-515, code: p. 775-777, <a href="gems/Quaternions.c">Quaternions.c</a>.<BR>
Cunningham, Steve,
<B>3D Viewing and Rotation Using Orthonormal Bases</B>,
p. 516-521, code: p. 778-779, <a href="gems/ViewTrans.c">ViewTrans.c</a>.<BR>
Turkowski, Ken,
<B>The Use of Coordinate Frames in Computer Graphics</B>,
p. 522-532.<BR>
Wallis, Bob,
<B>Forms, Vectors, and Transforms</B>,
p. 533-538, code: p. 780-784, <a href="gems/Forms.c">Forms.c</a>.<BR>
Turkowski, Ken,
<B>Properties of Surface-Normal Transformations</B>,
p. 539-547.<BR>
Arvo, James,
<B>Transforming Axis-Aligned Bounding Boxes</B>,
p. 548-550, code: p. 785-786, <a href="gems/TransBox.c">TransBox.c</a>.<BR>
Hall, Mark,
<B>Defining Surfaces From Sampled Data</B>,
p. 552-557.<BR>
Hall, Mark,
<B>Defining Surfaces From Contour Data</B>,
p. 558-561.<BR>
Glassner, Andrew,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -