📄 gems.html
字号:
<B>IEEE Fast Square Root</B>,
p. 48, code: p. 446-447, <a href="gemsiii/sqrt.c">sqrt.c</a>.<BR>
Hill, Steve,
<B>A Simple Fast Memory Allocator</B>,
p. 49-50, code: p. 448-451, <a href="gemsiii/alloc/">alloc/</a>.<BR>
Hanson, Andrew J.,
<B>The Rolling Ball</B>,
p. 51-60, code: p. 452-453, <a href="gemsiii/3d.c">3d.c</a> <a href="gemsiii/defs.h">defs.h</a>.<BR>
Rokne, Jon,
<B>Interval Arithmetic</B>,
p. 61-66, code: p. 454-457, <a href="gemsiii/interval.C">interval.C</a>.<BR>
Paeth, Alan W.,
<B>Fast Generation of Cyclic Sequences</B>,
p. 67-76, code: p. 458-459, <a href="gemsiii/cyclic.c">cyclic.c</a>.<BR>
Paeth, Alan W.,
<B>A Generic Pixel Selection Mechanism</B>,
p. 77-79.<BR>
Shirley, Peter,
<B>Nonuniform Random Point Sets</B>,
p. 80-83.<BR>
Goldman, Ronald,
<B>Cross Product in Four Dimensions and Beyond</B>,
p. 84-88.<BR>
Badouel, Didier, and Wuthrich, Charles A.,
<B>Face-Connected Line Segment Generation in an n-Dimensional Space</B>,
p. 89-91, code: p. 460, <a href="gemsiii/ndline.c">ndline.c</a>.<BR>
Morrison, Jack C.,
<B>Quaternion Interpolation with Extra Spins</B>,
p. 96-97, code: p. 461-462, <a href="gemsiii/quatspin.c">quatspin.c</a>.<BR>
Goldman, Ronald,
<B>Decomposing Projective Transformations</B>,
p. 98-107.<BR>
Goldman, Ronald,
<B>Decomposing Linear and Affine Transformations</B>,
p. 108-116.<BR>
Arvo, James,
<B>Fast Random Rotation Matrices</B>,
p. 117-120, code: p. 463-464, <a href="gemsiii/rand_rotation.c">rand_rotation.c</a>.<BR>
Dana, Paul,
<B>Issues and Techniques for Keyframing Transformations</B>,
p. 121-123.<BR>
Shoemake, Ken,
<B>Uniform Random Rotations</B>,
p. 124-132, code: p. 465-467, <a href="gemsiii/urot.c">urot.c</a>.<BR>
Elber, Gershon,
<B>Interpolation Using B閦ier Curves</B>,
p. 133-136, code: p. 468-471, <a href="gemsiii/bzrinter.c">bzrinter.c</a>.<BR>
Barr, A.H.,
<B>Physically Based Superquadrics</B>,
p. 137-159, code: p. 472-477, <a href="gemsiii/sqfinal.c">sqfinal.c</a>.<BR>
Van Aken, Jerry, and Simar, Ray,
<B>A Parametric Elliptical Arc Algorithm</B>,
p. 164-172, code: p. 478-479, <a href="gemsiii/parelarc.c">parelarc.c</a>.<BR>
Rosati, Claudio,
<B>A Simple Connection Algorithm for 2-D Drawing</B>,
p. 173-181, code: p. 480-486, <a href="gemsiii/con2d.c">con2d.c</a>.<BR>
Srinivasan, Raman V.,
<B>A Fast Circle Clipping Algorithm</B>,
p. 182-187, code: p. 487-490, <a href="gemsiii/circlexc.c">circlexc.c</a>.<BR>
Shaffer, Clifford A., and Feustel, Charles D.,
<B>Exact Computation of 2-D Intersections</B>,
p. 188-192, code: p. 491-495, <a href="gemsiii/Polyintr.c">Polyintr.c</a>.<BR>
Miller, Robert D.,
<B>Joining Two Lines with a Circular Arc Fillet</B>,
p. 193-198, code: p. 496-499, <a href="gemsiii/fillet.c">fillet.c</a>.<BR>
Antonio, Franklin,
<B>Faster Line Segment Intersection</B>,
p. 199-202, code: p. 500-501, <a href="gemsiii/insectc.c">insectc.c</a>.<BR>
Sevici, Constantin A.,
<B>Solving the Problem of Apollonius and Other Related Problems</B>,
p. 203-209.<BR>
L髉ez-L髉ez, Fernando J.,
<B>Triangles Revisited</B>,
p. 215-218.<BR>
Chin, Norman,
<B>Partitioning a 3-D Convex Polygon with an Arbitrary Plane</B>,
p. 219-222, code: p. 502-510, <a href="gemsiii/partition3d/">partition3d/</a>.<BR>
Georgiades, Pr韆mos,
<B>Signed Distance From Point To Plane</B>,
p. 223-224, code: p. 511, <a href="gemsiii/pt2plane.c">pt2plane.c</a>.<BR>
Salesin, David, and Tampieri, Filippo,
<B>Grouping Nearly Coplanar Polygons Into Coplanar Sets</B>,
p. 225-230, code: p. 512-516, <a href="gemsiii/planeSets.c">planeSets.c</a>.<BR>
Tampieri, Filippo,
<B>Newell's Method for the Plane Equation of a Polygon</B>,
p. 231-232, code: p. 517-518, <a href="gemsiii/newell.c">newell.c</a>.<BR>
Georgiades, Pr韆mos,
<B>Plane-to-Plane Intersection</B>,
p. 233-235, code: p. 519-520, <a href="gemsiii/pl2plane.c">pl2plane.c</a>.<BR>
Voorhies, Douglas,
<B>Triangle-Cube Intersection</B>,
p. 236-239, code: p. 521-526, <a href="gemsiii/triangleCube.c">triangleCube.c</a>.<BR>
Wanger, Len, and Fusco, Mike,
<B>Fast N-Dimensional Extent Overlap Testing</B>,
p. 240-243, code: p. 527-533, <a href="gemsiii/exttest/">exttest/</a>.<BR>
Moore, Doug,
<B>Subdividing Simplices</B>,
p. 244-249, code: p. 534-535, <a href="gemsiii/simplex/">simplex/</a>.<BR>
Moore, Doug,
<B>Understanding Simploids</B>,
p. 250-255.<BR>
Lischinski, Dani,
<B>Converting B閦ier Triangles Into Rectangular Patches</B>,
p. 256-261, code: p. 536-537, <a href="gemsiii/bezierTri.C">bezierTri.C</a>.<BR>
Lindgren, Terence, Sanchez, Juan, and Hall, Jim,
<B>Curve Tessellation Criteria Thru Sampling</B>,
p. 262-265.<BR>
Sung, Kelvin, and Shirley, Peter,
<B>Ray Tracing with the BSP Tree</B>,
p. 271-274, code: p. 538-546, <a href="gemsiii/bsp.c">bsp.c</a>.<BR>
Cychosz, Joseph M., and Waggenspack, Warren N., Jr.,
<B>Intersecting a Ray with a Quadric Surface</B>,
p. 275-283, code: p. 547-550, <a href="gemsiii/intqdr.c">intqdr.c</a> <a href="gemsiii/intell.c">intell.c</a>.<BR>
Cychosz, Joseph M.,
<B>Use of Residency Masks and Object Space Partitioning to Eliminate Ray-Object Intersection Calculations</B>,
p. 284-287.<BR>
Musgrave, F. Kenton,
<B>A Panoramic Virtual Screen for Ray Tracing</B>,
p. 288-294, code: p. 551-554, <a href="gemsiii/panorama.c">panorama.c</a>.<BR>
Trumbore, Ben,
<B>Rectangular Bounding Volumes for Popular Primitives</B>,
p. 295-300, code: p. 555-561, <a href="gemsiii/bounding_volumes.c">bounding_volumes.c</a>.<BR>
Wu, Xiaolin,
<B>A Linear-Time Simple Bounding Volume Algorithm</B>,
p. 301-306.<BR>
Wang, Changyaw,
<B>Physically Correct Direct Lighting for Distribution Ray Tracing</B>,
p. 307-313, code: p. 562-568, <a href="gemsiii/luminaire/">luminaire/</a>.<BR>
Bian, Buming,
<B>Hemispherical Projection of a Triangle</B>,
p. 314-317, code: p. 569-574, <a href="gemsiii/hemis.c">hemis.c</a>.<BR>
Max, Nelson L., and Allison, Michael J.,
<B>Linear Radiosity Approximation Using Vertex-to-Vertex Form Factors</B>,
p. 318-323.<BR>
Beran-Koehn, Jeffrey C., and Pavicic, Mark J.,
<B>Delta Form-Factor Calculation for the Cubic Tetrahedral Algorithm</B>,
p. 324-328, code: p. 575-576, <a href="gemsiii/forfac.c">forfac.c</a>.<BR>
Tampieri, Filippo,
<B>Accurate Form-Factor Computation</B>,
p. 329-333, code: p. 577-581, <a href="gemsiii/accForm.c">accForm.c</a>.<BR>
Woo, Andrew,
<B>The Shadow Depth Map Revisited</B>,
p. 338-342, code: p. 582, <a href="gemsiii/zdepth.c">zdepth.c</a>.<BR>
Cheng, Russell C.H.,
<B>Fast Linear Color Rendering</B>,
p. 343-348, code: p. 583-585, <a href="gemsiii/fastLinear.c">fastLinear.c</a>.<BR>
Cheng, Russell C.H.,
<B>Edge and Bit-Mask Calculations for Anti-Aliasing</B>,
p. 349-354, code: p. 586-593, <a href="gemsiii/edgeCalc.c">edgeCalc.c</a>.<BR>
Grace, Thom,
<B>Fast Span Conversion: Unrolling Short Loops</B>,
p. 355-357, code: p. 594-596, <a href="gemsiii/fastSpan.c">fastSpan.c</a>.<BR>
Hollasch, Steve,
<B>Progressive Image Refinement via Gridded Sampling</B>,
p. 358-361, code: p. 597-598, <a href="gemsiii/PIR.c">PIR.c</a>.<BR>
Fleischer, Kurt, and Salesin, David,
<B>Accurate Polygon Scan Conversion Using Half-Open Intervals</B>,
p. 362-365, code: p. 599-605, <a href="gemsiii/accurate_scan/">accurate_scan/</a>.<BR>
Glassner, Andrew,
<B>Darklights</B>,
p. 366-368.<BR>
Glassner, Andrew,
<B>Anti-Aliasing in Triangular Pixels</B>,
p. 369-373.<BR>
Snyder, John, Barzel, Ronen, and Gabriel, Steve,
<B>Motion Blur on Graphics Workstations</B>,
p. 374-382, code: p. 606-609, <a href="gemsiii/motblur.c">motblur.c</a>.<BR>
Arvo, James, and Scofield, Cary,
<B>The Shader Cache: A Rendering Pipeline Accelerator</B>,
p. 383-389.<BR>
Glassner, Andrew,
<B>Graphics Gems Header File</B>,
p. 455-457, code: p. 393-395, <a href="gemsiii/GraphicsGems.h">GraphicsGems.h</a>.<BR>
Glassner, Andrew,
<B>2-D and 3-D Vector C Library -- Corrected and Indexed</B>,
p. 396-404, code: p. 396-404, <a href="gemsiii/GraphicsGems.c">GraphicsGems.c</a>.<BR>
Hollasch, Steve,
<B>Useful C Macros for Vector Operations</B>,
p. 405-407, code: p. 405-407, <a href="gemsiii/vector.h">vector.h</a>.<BR>
<P><H2><a name="gemsiv">Graphics Gems IV</a></H2>Bashein, Gerard, and Detmer, Paul R.,
<B>Centroid of a Polygon</B>,
p. 3-6, code: p. 5, <a href="gemsiv/centroid.c">centroid.c</a>.<BR>
Schorn, Peter, and Fisher, Frederick,
<B>Testing the Convexity of a Polygon</B>,
p. 7-15, code: p. 11-15, <a href="gemsiv/convex_test/">convex_test/</a>.<BR>
Weiler, Kevin,
<B>An Incremental Angle Point in Polygon Test</B>,
p. 16-23, code: p. 17-22, <a href="gemsiv/ptpoly_weiler/">ptpoly_weiler/</a>.<BR>
Haines, Eric,
<B>Point in Polygon Strategies</B>,
p. 24-46, code: p. 34-45, <a href="gemsiv/ptpoly_haines/">ptpoly_haines/</a>.<BR>
Lischinski, Dani,
<B>Incremental Delaunay Triangulation</B>,
p. 47-59, code: p. 51-58, <a href="gemsiv/delaunay/">delaunay/</a>.<BR>
Glassner, Andrew,
<B>Building Vertex Normals from an Unstructured Polygon List</B>,
p. 60-73, code: p. 64-73, <a href="gemsiv/vert_norm/">vert_norm/</a>.<BR>
Greene, Ned,
<B>Detecting Intersection of a Rectangular Solid and a Convex Polyhedron</B>,
p. 74-82.<BR>
Rabbitz, Rich,
<B>Fast Collision Detection of Moving Convex Polyhedra</B>,
p. 83-109, code: p. 91-108, <a href="gemsiv/collide.c">collide.c</a>.<BR>
Hart, John C.,
<B>Distance to an Ellipsoid</B>,
p. 113-119.<BR>
Ohashi, Yoshikazu,
<B>Fast Linear Approximations of Euclidean Distance in Higher Dimensions</B>,
p. 121-124, code: <a href="gemsiv/dist_fast.c">dist_fast.c</a>.<BR>
Donovan, Walt, and Van Hook, Tim,
<B>Direct Outcode Calculation for Faster Clip Testing</B>,
p. 125-131, code: p. 127-131, <a href="gemsiv/outcode/">outcode/</a>.<BR>
Miller, Robert D.,
<B>Computing the Area of a Spherical Polygon</B>,
p. 132-137, code: p. 135-136, <a href="gemsiv/sph_poly.c">sph_poly.c</a>.<BR>
Hill, F. S., Jr.,
<B>The Pleasures of `Perp Dot' Products</B>,
p. 138-148.<BR>
Hanson, Andrew J.,
<B>Geometry for N-Dimensional Graphics</B>,
p. 149-170.<BR>
Shoemake, Ken,
<B>Arcball Rotation Control</B>,
p. 175-192, code: p. 178-191, <a href="gemsiv/arcball/">arcball/</a>.<BR>
Cromwell, Robert L.,
<B>Efficient Eigenvalues for Visualization</B>,
p. 193-198.<BR>
Wu, Kevin,
<B>Fast Inversion of Length- and Angle-Preserving Matrices</B>,
p. 199-206, code: p. 204-206, <a href="gemsiv/inv_fast.c">inv_fast.c</a>.<BR>
Shoemake, Ken,
<B>Polar Matrix Decomposition</B>,
p. 207-221, code: p. 211-220, <a href="gemsiv/polar_decomp/">polar_decomp/</a>.<BR>
Shoemake, Ken,
<B>Euler Angle Conversion</B>,
p. 222-229, code: p. 225-228, <a href="gemsiv/euler_angle/">euler_angle/</a>.<BR>
Shoemake, Ken,
<B>Fiber Bundle Twist Reduction</B>,
p. 230-236.<BR>
Eilers, Paul H. C.,
<B>Smoothing and Interpolation with Finite Differences</B>,
p. 241-250, code: p. 246-249, <a href="gemsiv/data_smooth/">data_smooth/</a>.<BR>
Barry, Phillip, and Goldman, Ronald,
<B>Knot Insertion using Forward Differences</B>,
p. 251-255.<BR>
Bajaj, Chandrajit, and Xu, Guoliang,
<B>Converting a Rational Curve to a Standard Rational Bernstein-B閦ier Representation</B>,
p. 256-260.<BR>
Klassen, R. Victor,
<B>Intersecting Parametric Cubic Curves by Midpoint Subdivision</B>,
p. 261-277, code: p. 266-276, <a href="gemsiv/curve_isect/">curve_isect/</a>.<BR>
Lischinski, Dani,
<B>Converting Rectangular Patches into B閦ier Triangles</B>,
p. 278-285, code: p. 281-285, <a href="gemsiv/patch_conv.C">patch_conv.C</a>.<BR>
Peterson, John W.,
<B>Tessellation of NURB Surfaces</B>,
p. 286-320, code: p. 294-319, <a href="gemsiv/nurb_polyg/">nurb_polyg/</a>.<BR>
Shene, Ching-Kuang,
<B>Equations of Cylinders and Cones</B>,
p. 321-323.<BR>
Bloomenthal, Jules,
<B>An Implicit Surface Polygonizer</B>,
p. 324-349, code: p. 334-349, <a href="gemsiv/implicit.c">implicit.c</a>.<BR>
Shene, Ching-Kuang,
<B>Computing the Intersection of a Line and a Cylinder</B>,
p. 353-355.<BR>
Cychosz, Joseph M., and Waggenspack, Warren N., Jr.,
<B>Intersecting a Ray with a Cylinder</B>,
p. 356-365, code: p. 361-364, <a href="gemsiv/ray_cyl.c">ray_cyl.c</a>.<BR>
Cohen, Daniel,
<B>Voxel Traversal along a 3D Line</B>,
p. 366-369, code: p. 368, <a href="gemsiv/vox_traverse.c">vox_traverse.c</a>.<BR>
Chiu, Kenneth, Shirley, Peter, and Wang, Changyaw,
<B>Multi-Jittered Sampling</B>,
p. 370-374, code: p. 373-374, <a href="gemsiv/multi_jitter/">multi_jitter/</a>.<BR>
Heckbert, Paul S.,
<B>A Minimal Ray Tracer</B>,
p. 375-381, code: p. 378-380, <a href="gemsiv/minray/">minray/</a>.<BR>
Schlick, Christophe,
<B>A Fast Alternative to Phong's Specular Model</B>,
p. 385-387.<BR>
Fisher, Frederick, and Woo, Andrew,
<B>R.E versus N.H Specular Highlights</B>,
p. 388-400.<BR>
Schlick, Christophe,
<B>Fast Alternatives to Perlin's Bias and Gain Functions</B>,
p. 401-403.<BR>
Behrens, Uwe,
<B>Fence Shading</B>,
p. 404-409.<BR>
Kopp, Manfred, and Gervautz, Michael,
<B>XOR-Drawing with Guaranteed Contrast</B>,
p. 413-414.<BR>
Ward, Greg,
<B>A Contrast-Based Scalefactor for Luminance Display</B>,
p. 415-421.<BR>
Schlick, Christophe,
<B>High Dynamic Range Pixels</B>,
p. 422-429, code: p. 425-428, <a href="gemsiv/dyn_range/">dyn_range/</a>.<BR>
Schlag, John,
<B>Fast Embossing Effects on Raster Image Data</B>,
p. 433-437, code: p. 435-436, <a href="gemsiv/emboss.c">emboss.c</a>.<BR>
Heckbert, Paul S.,
<B>Bilinear Coons Patch Image Warping</B>,
p. 438-446, code: p. 441-444, <a href="gemsiv/coons_warp.c">coons_warp.c</a>.<BR>
Wolberg, George, and Massalin, Henry,
<B>Fast Convolution with Packed Lookup Tables</B>,
p. 447-464, code: p. 455-463, <a href="gemsiv/convolve.c">convolve.c</a>.<BR>
Cychosz, Joseph M.,
<B>Efficient Binary Image Thinning using Neighborhood Maps</B>,
p. 465-473, code: p. 470-472, <a href="gemsiv/thin_image.c">thin_image.c</a>.<BR>
Zuiderveld, Karel,
<B>Contrast Limited Adaptive Histogram Equalization</B>,
p. 474-485, code: p. 479-484, <a href="gemsiv/clahe.c">clahe.c</a>.<BR>
Paeth, Alan W.,
<B>Ideal Tiles for Shading and Halftoning</B>,
p. 486-492.<BR>
Christensen, Jon, Marks, Joe, and Shieber, Stuart,
<B>Placing Text Labels on Maps and Diagrams</B>,
p. 497-504.<BR>
Szirmay-Kalos, L醩zl
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -