This sequel to Graphics Gems (Academic Press, 1990), and Graphics Gems II (Academic Press, 1991) is a practical collection of computer graphics programming tools and techniques. Graphics Gems III contains a larger percentage of gems related to modeling and rendering, particularly lighting and shading. This new edition also covers image processing, numerical and programming techniques, modeling and transformations, 2D and 3D geometry and algorithms,ray tracing and radiosity, rendering, and more clever new tools and tricks for graphics programming. Volume III also includes a disk containing source codes for either the IBM or Mac versions featuring all code from Volumes I, II, and III.
Author David Kirk lends his expertise to the Graphics Gems series in Volume III with his far-reaching knowledge of modeling and rendering, specifically focusing on the areas of lighting and shading. Volume III includes a disk containing source codes for both the IBM and Mac versions featuring all code from volumes I, II, and III. Graphics Gems I, II, and III are sourcebooks of ideas for graphics programmers. They also serve as toolboxes full of useful tricks and techniques for novice programmers and graphics experts alike. Each volume reflects the personality and particular interests of its respective editor.
- Includes a disk containing source codes for both the IBM and Mac versions featuring code from volumes I, II, and III
- Features all new graphics gems
- Explains techniques for making computer graphics implementations more efficient
- Emphasizes physically based modeling, rendering, radiosity, and ray tracing
- Presents techniques for making computer graphics implementations more efficient
Read an Excerpt
Another toolbox of useful tricks and techniques.
Table of ContentsMathematical Notation. Pseudo-Code. Image Processing: Introduction. T. Moller, Fast Bitmap Stretching. D. Schumacher, General Filtered Image Rescaling. D. Schumacher, Optimization of Bitmap Scaling Operations. D. Bragg, A Simple Color Reduction Filter. D. Moore and J. Warren, Compact Isocontours from Sampled Data. T. Feldman, Generating Iso-Value Contours from a Pixmap. D. Salesin and R. Barzel, Compositing Black and White Bitmaps. C. Scofield, 2 1/2-D Depth of Field Simulation for Computer Animation. E. Furman, A Fast Boundary Generator for Composited Regions. Numerical and Programming Techniques: Introduction. S. Hill, IEEE Fast Square Root. S. Hill, A Simple Fast Memory Allocator. A.J. Hanson, The Rolling Ball. J. Rokne, Interval Arithmetic. A. Paeth, Fast Generation of Cyclic Sequences. A. Paeth, A Generic Pixel Selection Mechanism. P. Shirley, Nonuniform Random PointSets. R.N. Goldman, Cross Product in 4-Dimensions and Beyond. D. Badouel and C.A. Wuthrich, Face Connected Line Segment Generation in an N-Dimensional Space. Modeling and Transformations: Introduction. J. Morrison, Quaternion Interpolation with Extra Spins. R.N. Goldman, Decomposing Projective Transformations. R.N. Goldman, Decomposing Linear and Affine Transformations. J. Arvo, Fast Random Rotation Matrices. P. Dana, Issues and Techniques for Keyframing Transformations. K. Shoemake, Uniform Random Rotations. G. Elber, Interpolation Using Bezier Curves. A.H. Barr, Physically Based Superquadrics. 2D Geometry and Algorithms: Introduction. J. VanAken and R. Simar, A Parametric Elliptical Arc Algorithm. C. Rosati, A Simple Connection Algorithm for 2D Drawing. R.V. Srinivasan, A Fast Circle Clipping Algorithm. C.A. Shaffer and C.D. Feustel, Exact Computation of 2D Intersection. R. Miller, Joining Two Lines with a Circular Arc Fillet. F. Antonio, Faster Line Segment Intersection. C.A. Sevici, Solving the Problem of Appolonius and Other Related Problems. 3D Geometry and Algorithms: Introduction. F.J. Lopez-Lopez, Triangles Revisited. N. Chin, Partitioning a 3D Polygon with an Arbitrary Plane. P. Georgiades, Signed Distance from Point to Plane. D. Salesin and F. Tampieri, Grouping Nearly Coplanar Polygons into Coplanar Sets. F. Tampieri, Newell's Method for Computing the Plane Equation of a Polygon. P. Georgiades, Plane to Plane Intersection. D. Voorhies, Triangle-Cube Intersection. L. Wanger and M. Fusco, Fast N-Dimensional Extent Overlap Testing. D. Moore, Subdividing Simplices. D. Moore, Understanding Simploids. D. Lischinski, Converting Bezier Triangles into Rectangular Patches. T. Lindgren, J. Sanchez, J. Hall, and T. Gross, Curve Tesselation Criteria through Sampling. Ray Tracing and Radiosity: Introduction. K. Sung, Ray Tracing with BSP Tree. J.M. Cychosz and W.G. Waggenspack, Intersecting a Ray with a Quadric Surface. J.M. Cychosz, Use of Residency Masks and Object Space Partitioning to Eliminate Ray-Object Intersection Calculations. F.K.Musgrave, A Panoramic Virtual Screen for Ray Tracing. B. Trumbore, Rectangular Bounding Volumes for Popular Primitives. X. Wu, A Linear Time Simple Bounding Volume Algorithm. C. Wang, Physically Correct Direct Lighting for Distribution Ray Tracing. B. Bian, Hemisphere Projection of a Triangle. N.L. Max and M.J. Allison, Linear Radiosity Approximations Using Vertex-to-Vertex Form Factors. J.C. Beran-Koehn and M.J. Pavicic, Delta Form Factor Calculation for the Cubic Tetrahedral Algorithm. F. Tampieri, Accurate Form Factor Computation. Rendering: Introduction. A. Woo, The Shadow Depth Map Revisited. R.C.H. Cheng, Fast Linear Color Rendering. R.C.H. Cheng, Edge and Bitmask Calculations forAnti-Aliasing. T. Grace, Fast Span Conversion: Unrolling Short Loops. S. Hollasch, Progressive Image Refinement Via Gridded Sampling. K. Fleischer and D. Salesin, Accurate Polygon Scan Conversion Using Half-Open Intervals. A.S. Glassner, Darklights. A.S. Glassner, Anti-Aliasing in Triangular Pixels. J. Snyder, R. Barzel, and S. Gabriel, Motion Blur on Graphics Workstation. J. Arvo, The Shader Cache: A Rendering Pipeline Accelerator. Appendices: C Utilities.C Implementations. Chapter References. Index.