home *** CD-ROM | disk | FTP | other *** search
/ Photo CD Demo 1 / Demo.bin / gems / graphics / readme.ori < prev    next >
Text File  |  1992-04-09  |  7KB  |  153 lines

  1.  
  2. README     
  3. Andrew Glassner / 14 August 1990 
  4. This document looks best when viewed with a fixed-pitch font 
  5. on a line width of at least 60 characters.
  6.  
  7. This directory contains the 43 original C source files from 
  8. the book "Graphics Gems" (editor, Andrew S. Glassner, 
  9. published by Academic Press, Cambridge, MA, 1990, 
  10. ISBN 0-12-286165-5, 833 pgs.).
  11.  
  12. Many of the files depend on the header "GraphicsGems.h" 
  13. (called "GraphicsGems.h" in this directory), and the Graphics 
  14. Gems vector library (called "GGVectorLibrary.c" in this 
  15. directory).  You will also need the standard I/O library 
  16. <stdio.h> and the math library <math.h> for many of the Gems.
  17.  
  18. Each Gem is made available on an as-is basis; although 
  19. considerable effort has been expended to check the programs 
  20. as originally designed and their release in electronic form, 
  21. the authors and the publisher make no guarantees or 
  22. warrantees about the correctness of any of these programs or 
  23. algorithms.  
  24.  
  25. The authors and the publisher hold no copyright restrictions 
  26. on any of these files; this source code is public domain, and 
  27. is freely available to the entire computer graphics community 
  28. for study, use, and modification.  We do request that the 
  29. comment at the top of each file, identifying the original 
  30. author and its original publication in the book Graphics 
  31. Gems, be retained in all programs that use these files.
  32.  
  33. These files are stored in a plain text format; you may 
  34. download  them without any special techniques (i.e. you need 
  35. not enable binary transfer, or have a special formatter to 
  36. read and use the code).
  37.  
  38. The master ftp site for this source code is 
  39. weedeater.math.yale.edu.  If you suspect that a file at some 
  40. site has been corrupted or changed, the originals will always 
  41. be available there.  Additional submissions (bug fixes, 
  42. skeleton programs, auxiliary routines, etc.) may be directed 
  43. to the site administrator, Craig Kolb (kolb@yale.edu).  He 
  44. will determine on a case-by-case basis if a particular 
  45. submission should be included in this archive.  If accepted, 
  46. these routines will be made available in a companion 
  47. directory.
  48.  
  49. These files may be downloaded via anonymous ftp.  Connect to 
  50. weedeater@math.yale.edu using a communications program that 
  51. understands ftp (File Transfer Protocol).  When prompted for 
  52. a login name use 'anonymous' (in this paragraph, all phrases 
  53. in single quotes are strings you type, without the quotes).  
  54. For your password use your own last name.  When logged in, 
  55. type 'cd pub/GraphicsGems/src' .  To look at the contents type 
  56. 'ls' or 'dir'.  To download a file, type 'get filename', where 
  57. filename is the explicit name of the file you wish to 
  58. retreive.  To download many files with a single command, type 
  59. 'mget metaname' (here metaname refers to a name using the 
  60. standard UNIX metacharacter * to represent any sequence of 
  61. characters; e.g. 'mget *.h *.c' will retreive all files that 
  62. end in .h or .c).  Normally mget will prompt you to confirm 
  63. each file; if you wish to turn prompting off type 'prompt' 
  64. before the mget command.  Additional files (such as big fixes 
  65. and helpful test and skeleton routines) may be available in 
  66. companion directories; to see if any such directories exist 
  67. type 'cd ..' to rise one directory in the hierarchy, and type 
  68. 'ls' to see all subdirectories under GraphicsGems.
  69.  
  70. ================
  71.  
  72. The table below gives the correspondence between each source
  73. file in this directory and the name of the Gem it implements.
  74. Each implementation illustrates one way to realize the
  75. techniques described by the accompanying Gem in the book. 
  76. The files here contain only the source code for that 
  77. realization.  For a more complete description of the 
  78. algorithms and their applications see the Gems of the same 
  79. name in the first 11 Chapters of the book.
  80.  
  81. ---------- header files ----------
  82. GraphicsGems.h         / Graphics Gems C Header File
  83.  
  84. ----------    C code    ----------
  85. 2DClipping.c           / Two-Dimensional Clipping: 
  86.                          A Vector-Based Approach
  87. 2DPointOnLine.c        / A Fast 2D Point-On-Line Test
  88. 3DHashingFunction.c    / 3D Grid Hashing Function
  89. 3DViewAndRotation.c    / 3D Viewing and Rotation Using
  90.                          Orthonormal Bases
  91. AAPolyScan.c           / Fast Anti-Aliasing Polygon
  92.                          Scan Conversion
  93. AlbersProjection.c     / Albers Equal-Area Conic Map
  94.                          Projection
  95. AntiAliasedLines.c     / Rendering Anti-Aliased Lines
  96. BitInterleaving.c      / Bit Interleaving for Quad- 
  97.                          or Octrees
  98. BoundingSphere.c       / An Efficient Bounding Sphere
  99. BoxSphereIntersect.c   / A Simple Method for Box-Sphere 
  100.                          Intersection Checking 
  101. CircleRectIntersect.c  / Fast Circle-Rectangle Intersection
  102.                          Checking 
  103. ConcavePolygonScan.c   / Concave Polygon Scan Conversion
  104. CubicAndQuarticRoots.c / Cubic and Quartic Roots
  105. DigitalDissolve.c      / A Digital "Dissolve" Effect
  106. DigitalLineDrawing.c   / Digital Line Drawing
  107. EfficientJitter.c      / Efficient Generation of Sampling
  108.                          Jitter Using Look-up Tables
  109. FitDigitizedCurves.c   / An Algorithm for Automatically 
  110.                          Fitting Digitized Curves
  111. FixedPointTrig.c       / Fixed-Point Trigonometry with 
  112.                          CORDIC Iterations
  113. FormsAndVectors.c      / Forms, Vectors, and Transforms
  114. GenericPolygonScan.c   / Generic Convex Polygon 
  115.                          Scan Conversion and Clipping
  116. GGVectorLibrary.c      / 2D And 3D Vector C Library   
  117. HSLtoRGB.c             / A Fast HSL-to-RGB Transform
  118. HypotenuseApprox.c     / A Fast Approximation to 
  119.                          the Hypotenuse
  120. LineEdgeIntersect.c    / Fast Line-Edge Intersections On 
  121.                          A Uniform Grid   
  122. MatrixInversion.c      / Matrix Inversion
  123. MatrixOrthogonalize.c  / Matrix Orthogonalization
  124. MatrixPostConcat.c     / Efficient Post-Concatenation of 
  125.                          Transformation Matrices
  126. MedianFinding.c        / Median Finding on a 3x3 Grid
  127. NearestPointOnCurve.c  / Solving the 
  128.                          Nearest-Point-On-Curve Problem
  129.                          and
  130.                          A Bezier Curve-Based Root-Finder
  131. NumbersForGraphcs.c    / Nice Numbers for Graph Labels
  132. OrderedDithering.c     / Ordered Dithering
  133. PixelsAsIntegers.c     / Proper Treatment of Pixels 
  134.                          As Integers
  135. PointsInTriangle.c     / Generating Random Points 
  136.                          In Triangles   
  137. Quaternions.c          / Using Quaternions for Coding 
  138.                          3D Transformations
  139. RayBoxIntersect.c      / Fast Ray-Box Intersection
  140. RayPolygonIntersect.c  / An Efficient Ray-Polygon 
  141.                          Intersection
  142. RecordingAnimation.c   / Recording Animation in Binary Order 
  143.                          For Progressive Temporal Refinement  
  144. RGBTriplesTo4Bits.c    / Mapping RGB Triples Onto Four Bits
  145. SeedFill.c             / A Seed Fill Algorithm
  146. SquareRoot.c           / A High-Speed, Low-Precision 
  147.                          Square Root
  148. SturmSequences.c       / Using Sturm Sequences to Bracket 
  149.                          Real Roots of Polynomial Equations
  150. SymmetricDoubleStep.c  / Symmetric Double Step Line Algorithm
  151. TransformingBoxes.c    / Transforming Axis-Aligned 
  152.                          Bounding Boxes
  153.