Source code related to the book "Graphics Gems" (editor, Andrew S. Glassner, published by Academic Press, Cambridge, MA, 1990, ISBN 0-12-286165-5, 833 pgs.). The source code is contained in 5 text files designed to be extracted by the command processor (shell) of the UNIX OS. part1, part2, part3, part4, part 5

- ---------- header files ----------
- GraphicsGems.h / Graphics Gems C Header File
- ---------- C code ----------
- 2DClip / Two-Dimensional Clipping: A Vector-Based Approach
- AALines / Rendering Anti-Aliased Lines
- AAPolyScan.c / Fast Anti-Aliasing Polygon Scan Conversion
- Albers.c / Albers Equal-Area Conic Map Projection
- BinRec.c / Recording Animation in Binary Order For Progressive Temporal Refinement
- BoundSphere.c / An Efficient Bounding Sphere
- BoxSphere.c / A Simple Method for Box-Sphere Intersection Checking
- CircleRect.c / Fast Circle-Rectangle Intersection Checking
- ConcaveScan.c / Concave Polygon Scan Conversion
- DigitalLine.c / Digital Line Drawing
- Dissolve.c / A Digital "Dissolve" Effect
- DoubleLine.c / Symmetric Double Step Line Algorithm
- FastJitter.c / Efficient Generation of Sampling Jitter Using Look-up Tables
- FitCurves.c / An Algorithm for Automatically Fitting Digitized Curves
- FixedTrig.c / Fixed-Point Trigonometry with CORDIC Iterations
- Forms.c / Forms, Vectors, and Transforms
- GGVecLib.c / 2D And 3D Vector C Library
- HSLtoRGB.c / A Fast HSL-to-RGB Transform
- Hash3D.c / 3D Grid Hashing Function
- HypotApprox.c / A Fast Approximation to the Hypotenuse
- Interleave.c / Bit Interleaving for Quad-or Octrees
- Label.c / Nice Numbers for Graph Labels
- LineEdge.c / Fast Line-Edge Intersections On A Uniform Grid
- MatrixInvert.c / Matrix Inversion
- MatrixOrtho.c / Matrix Orthogonalization
- MatrixPost.c / Efficient Post-Concatenation of Transformation Matrices
- Median.c / Median Finding on a 3x3 Grid
- NearestPoint.c / Solving the Nearest-Point-On-Curve Problem and A Bezier Curve-Based Root-Finder
- OrderDither.c / Ordered Dithering
- PixelInteger.c / Proper Treatment of Pixels As Integers
- PntOnLine.c / A Fast 2D Point-On-Line Test
- PolyScan / Generic Convex Polygon Scan Conversion and Clipping
- Quaternions.c / Using Quaternions for Coding 3D Transformations
- RGBTo4Bits.c / Mapping RGB Triples Onto Four Bits
- RayBox.c / Fast Ray-Box Intersection
- RayPolygon.c / An Efficient Ray-Polygon Intersection
- Roots3And4.c / Cubic and Quartic Roots
- SeedFill.c / A Seed Fill Algorithm
- SquareRoot.c / A High-Speed, Low-Precision Square Root
- Sturm / Using Sturm Sequences to Bracket Real Roots of Polynomial Equations
- TransBox.c / Transforming Axis-Aligned Bounding Boxes
- TriPoints.c / Generating Random Points In Triangles
- ViewTrans.c / 3D Viewing and Rotation Using Orthonormal Bases

C Code From Graphics Gems II, Academic Press, Inc.

This is a list of the files and directories containing the C code for Graphics Gems II. They are listed in order of their appearance in the book. Beside each file name is the Gem number, author's name, and Gem title to help you find what you're looking for. Unfortunately, not all of the code listed in the appendix of the book is here (for various reasons). The missing ones will be added as they turn up. Changes will be listed at the bottom of this file. The is in GGemsII.tar.z

File or Directory | GemNumber | Author and Title of Gem |
---|---|---|

xlines.c | I.2 | Mukesh Prasad, "Intersection of Line Segments" |

Peano/ Makefile main.c mapply.c peano.c types.h | I.7 | Ken Musgrave, "A Peano Curve Generation Algorithm" |

Hilbert.c | I.8 | Douglas Voorhies, "Space-Filling Curves and a Measure of Coherence" |

dither/ dither.3 dither.c | II.3 | Spencer W. Thomas and Rod G. Bogart, "Color Dithering" |

RealPixels/ color.c color.h colrops.c header.c rasterfile.h ra_pr24.c resolu.c | II.5 | Greg Ward, "Real Pixels" |

rotate8x8.c | II.6 | Sue-Ken Yap, "A fast 90-Degree Bitmap Rotator" |

inv_cmap/ inv_cmap.3 inv_cmap.c | III.1 | Spencer W. Thomas, "Efficient Inverse Color Map Computation" |

quantizer.c | III.2 | Xiaolin Wu, "Efficient Statistical Computations for Optimal Color Quantization" |

ran_ramp.c | III.3 | Ken Musgrave, "A Random Color Map Animation Algorithm" |

hot.c | III.6 | Dave Martindale and Alan Paeth, "Television Color Encoding and 'Hot' Broadcast Colors" |

viewcorr/ matrix.h viewcorr.c viewcorr.h viewfind.c | IV.5 | Rod G. Bogart, "View Correlation" matrix.c |

InterPhong.c | IV.9 | Nadia Magnenat Thalmann and Daniel Thanmann, "InterPhong Shading" |

RayCPhdron.c | V.1 | Eric Haines, "Fast Ray-Convex Polyhedron Intersection" |

intersect/ inttor.c intsph.c | V.2 | Joseph M. Cychosz, "Intersecting a Ray with an Elliptical Torus" |

VoxelCache.c | V.6 | Andrew Pearce, "A Recursive Voxel Cache for Ray Tracing" |

radiosity/ README draw.c rad.c rad.h room.c | VI.1 | Eric Chen, "Implementing Progressive Radiosity with User-Provided Polygon Display Routines" |

FastUpdate.c | VI.3 | Filippo Tampieri, "Fast Vertex Radiosity Update" |

inverse.c | VII.5 | Kevin Wu, "Fast Matrix Inversion" |

rotate.c | VII.7 | James Arvo, "Random Rotation Matrices" |

sparse.c | VII.8 | James Arvo, "Classifying Small Sparse Matrices" |

BitCounting/ bit32.c test.c | VIII.3 | Alan W. Paeth and David Schilling, "Of Integers, Fields, and Bit Counting" |

noise3.c | VIII.10 | Greg Ward, "A Recursive Implementation of the Perlin Noise Function" |

Additional header files and utilities

-------------------------------------

GraphicsGems.h Andrew Glassner

GGVecLib.c Andrew Glassner

vector.h Steve Hollasch, "Useful C Macros for Vector Operations"

c_format.c Dale Schumacher, "A PostScript typesetting program for C source code"

Changes

-------------------------------------

10/02/91 Added ran_ramp.c, rotate8x8.c, inverse.c, VoxelCache.c, and Peano directory.

10/09/91 Added dither and inv_cmap directories.

11/05/91 Updated quantizer.c and sparse.c

file: /Techref/method/io/graphics.htm, 8KB, , updated: 2002/1/17 06:16, local time: 2023/11/29 07:55, |

©2023 These pages are served without commercial sponsorship. (No popup ads, etc...).Bandwidth abuse increases hosting cost forcing sponsorship or shutdown. This server aggressively defends against automated copying for any reason including offline viewing, duplication, etc... Please respect this requirement and DO NOT RIP THIS SITE. Questions?<A HREF="http://www.sxlist.com/Techref/method/io/graphics.htm"> method io graphics</A> |

Did you find what you needed? |

## Welcome to sxlist.com!sales, advertizing, & kind contributors
just like you! Please don't rip/copy
(here's why Copies of the site on CD are available at minimal cost. |

## Welcome to www.sxlist.com! |

.