gemsiv
Folders and files
Name | Name | Last commit date | ||
---|---|---|---|---|
parent directory.. | ||||
This directory contains the C and C++ code from the book "Graphics Gems IV", edited by Paul Heckbert, Academic Press, 1994. Comments in the source file or subdirectory's README file tell you if the code is old C, ANSI C, or C++. CONTENTS: file or book chapter title and author directory chapter ------------------------------------------------------------ I Polygons and Polyhedra centroid.c I.1 Centroid of a Polygon Gerard Bashein and Paul R. Detmer convex_test/ I.2 Testing the Convexity of a Polygon Peter Schorn and Frederick Fisher ptpoly_weiler/ I.3 An Incremental Angle Point in Polygon Test Kevin Weiler ptpoly_haines/ I.4 Point in Polygon Strategies Eric Haines delaunay/ I.5 Incremental Delaunay Triangulation Dani Lischinski vert_norm/ I.6 Building Vertex Normals from an Unstructured Polygon List Andrew Glassner collide.c I.8 Fast Collision Detection of Moving Convex Polyhedra Rich Rabbitz ------------------------------------------------------------ II Geometry dist_fast.c II.2 Fast Linear Approximations of Euclidean Distance in Higher Dimensions Yoshikazu Ohashi outcode/ II.3 Direct Outcode Calculation for Faster Clip Testing Walt Donovan and Tim Van Hook sph_poly.c II.4 Computing the Area of a Spherical Polygon Robert D. Miller ------------------------------------------------------------ III Transformations arcball/ III.1 Arcball Rotation Control Ken Shoemake inv_fast.c III.3 Fast Inversion of Length- and Angle-Preserving Matrices Kevin Wu polar_decomp/ III.4 Polar Matrix Decomposition Ken Shoemake euler_angle/ III.5 Euler Angle Conversion Ken Shoemake ------------------------------------------------------------ IV Curves and Surfaces data_smooth/ IV.1 Smoothing and Interpolation with Finite Differences Paul H. C. Eilers curve_isect/ IV.4 Intersecting Parametric Cubic Curves by Midpoint Subdivision R. Victor Klassen patch_conv.C IV.5 Converting Rectangular Patches into Bezier Triangles Dani Lischinski nurb_polyg/ IV.6 Tessellation of NURB Surfaces John W. Peterson implicit.c IV.8 An Implicit Surface Polygonizer Jules Bloomenthal ------------------------------------------------------------ V Ray Tracing ray_cyl.c V.2 Intersecting a Ray with a Cylinder Joseph M. Cychosz and Warren N. Waggenspack, Jr. vox_traverse.c V.3 Voxel Traversal along a 3D Line Daniel Cohen multi_jitter/ V.4 Multi-Jittered Sampling Kenneth Chiu, Peter Shirley, and Changyaw Wang minray/ V.5 A Minimal Ray Tracer Paul S. Heckbert ------------------------------------------------------------ VII Frame Buffer Techniques dyn_range/ VII.3 High Dynamic Range Pixels Christophe Schlick ------------------------------------------------------------ VIII Image Processing emboss.c VIII.1 Fast Embossing Effects on Raster Image Data John Schlag coons_warp.c VIII.2 Bilinear Coons Patch Image Warping Paul S. Heckbert convolve.c VIII.3 Fast Convolution with Packed Lookup Tables George Wolberg and Henry Massalin thin_image.c VIII.4 Efficient Binary Image Thinning using Neighborhood Maps Joseph M. Cychosz clahe.c VIII.5 Contrast Limited Adaptive Histogram Equalization Karel Zuiderveld mrsfoley.im VIII.6 Ideal Tiles for Shading and Halftoning Alan Wm Paeth ------------------------------------------------------------ IX Graphic Design graph_layout/ IX.2 Dynamic Layout Algorithm to Display General Graphs Laszlo Szirmay-Kalos ------------------------------------------------------------ X Utilities trilerp.c X.1 Tri-linear Interpolation Steve Hill interp_fast.c X.2 Faster Linear Interpolation Steven Eker vec_mat/ X.3 C++ Vector and Matrix Algebra Routines Jean-Francois Doue (there's a ray caster in the subdirectory "ray") GraphicsGems.c X.4 C Header File and Vector Library GraphicsGems.h Andrew Glassner and Eric Haines ------------------------------------------------------------ This code is available on the Internet by anonymous FTP from princeton.edu (128.112.128.1) in the directory pub/Graphics/GraphicsGems/GemsIV. These FTP versions are updated periodically with bug fixes. If you have corrections to this code, email to [email protected] . Paul Heckbert, 3/15/94 ------------------------------------------------------------ History: 5/16/94 - lint fixes made to many pieces of code; mostly cosmetic (Eric Haines) 8/18/94 - in README, fixed FTP path & added bug email addr. (Paul Heckbert)