| Contents | |
| A.General and Miscellaneous | D. Software Packages |
| B. Algorithms | E. File Formats and Conversions |
| C. Mathematical Techniques | F. Journals, Magazines, Books, Resources |
Also see: efg's Color, Simulation & Modeling,
and Image Processing Reference Library
Pages and
Graphics and Image Processing Project Pages
| Computer Graphics | Dr. Dobb's Graphics
Page
Cornell University Computer Graphics Publications (1976-1999) Steve's Computer Graphics Index Coding/Tutorials On-Line Computer Graphics Notes Documents / Tutorials |
| Game Programming |
Game Programming Information Game Development News and Information |
| Graphics Archive | Disks (1990-1998), Images (1992-1998), Programs www.hornet.org/graphics |
| Links |
Links (from Brazil) Software-Related Tools |
| Standards | Image Communication Information Board (ICIB) www.igd.fhg.de/icib/#STAN-REP |
| Symbols | SYMBOLS.com contains more than 2,500 Western signs, arranged into 54 groups according to their graphic characteristics. www.symbols.com |
| Tutorials |
Coding/Tutorials |
| User Interface | User Interface Design Tips by well-known expert Bruce
Tognazzini ("TOG") www.asktog.com/menus/designMenu.html Interface Hall of Fame Interface Hall of Shame User Interface Engineering Web Usability Digital Human Factors & Ergonomics Resources |
| World Wide Web Consortium Notes | Precision Graphics Markup Language www.w3.org/TR/1998/NOTE-PGML Vector
Markup Language |
| general | Long list of links to graphics algorithms http://thorkildsen.no/faqsys/cates/math.html TechnoMagi: Algorithm Links |
| 2D Transformations | [Foley96, pp. 201-213] |
| 3D Transformation | [Foley96, pp.
213-216] Mathematics of 3D Graphics |
| Alpha Blending |
MMX Enhanced Alpha Blending |
| Animation | [Foley96,
Chapter 21, pp. 1057-1081] Animation tools & tips |
| Antialiasing | High Quality Hardware Line Antialiasing http://www.acm.org/jgt/papers/Nelson97 Unweighted Area Sampling Antialiasing Lines Antialiasing Circles Antialiasing General Curves Antialiasing Rectangles, Polygons, and Line Ends Wu Anti-aliased Lines Antialiasing and Raytracing Twelve Characteristics of Correct Antialiased Lines High Quality Hardware Line Antialiasing |
| Barycentric Coordinates | UC Davis Notes |
| BitBlt | Making CopyPixel Fast [Foley96, Section 19.6, pp. 986-992] |
| Bresenham's algorithm | G. Hoffmann's "Drawing Lines" www.fho-emden.de/~hoffmann/drawf11102001.pdf Bresenham's Line and Circle Algorithms Bresenham
Ellipse Algorithm Bresenham's Line Algorithm from Byte, March 1988, pp. 249-253. |
| Bump Mapping | http://thorkildsen.no/faqsys/docs/bumpmap2.txt http://thorkildsen.no/faqsys/docs/bumpmap.txt |
| Camera Transform | Link
to U.C. Davis Notes
World and Camera Coordinates |
| Clipping |
A General Polygon Clipping Library Cohen-Sutherland Line-Clipping Algorithm Cyrus and Beck Parameteric Line-Clipping Algorithm Sutherland-Hodgman Polygon-Clipping Algorithm Parametric Line Clipping Generic Polygon Clipper Library Frustrum Clipping Clipping UC Davis Notes |
| comp.graphics.algorithms FAQ | www.exaflop.org/docs/cgafaq
or www.cis.ohio-state.edu/hypertext/faq/usenet/graphics/algorithms-faq/faq.html ftp://rtfm.mit.edu/pub/faqs/graphics/algorithms-faq |
| Contours, Contour Maps | 3-D Surface Contours, Dr. Dobb's Journal, July 1996. www.ddj.com/articles/1996/9607/9607b/9607b.htm Implementation of an Improved Contour Plotting Algorithm Contours & Isosurfaces MUMIL - a cursor based contouring routine Fill Area with Bicubics: X11 and Postscript Contour Plotting; Triangle Fills: Interactive Mesh Design and Filled Contours; A Contour Plot Program for Triangular Meshes; Fill Area with Bicubics on Rectangles - A Contour Plot Program. www.fhi-berlin.mpg.de/~grz/pub/preusser.html Contouring. A guide to the analysis and display of spatial data, Pergamon Press, 1992. Amazon Link Contouring Algorithm, Byte Magazine, July 1987 Contour Maps |
| Delaunay Triangulation | http://goanna.cs.rmit.edu.au/~gl/research/comp_geom/delaunay/delaunay.html www.edvz.sbg.ac.at/~samson/java/applets/triang.htm www.tc.cornell.edu/Research/CrackProp/nsf-visit/chew/sld003.htm www.scs.ryerson.ca/h2jang/gfx3.html#del www.ics.uci.edu/~eppstein/gina/delaunay.html http://mathworld.wolfram.com/DelaunayTriangulation.html http://cage.rug.ac.be/~dc/alhtml/Delaunay.html http://bart.ihpca.psu.edu/btp/main/node17.html www.cs.uu.nl/CGAL/Information/doc_html/ref-manual2/Triangulation/Chapter_triangulation.html Several papers about Delunay Triangulation by Dr. Ing. Ivana
Kolingerova A program for convex hulls DeWall: a fast divide & conquer Delaunay triangulation algorithm |
| Dithering | See efg's Image Processing Reference Library Algorithms page |
| Filling | Rectangles, Polygons [Foley96, Sections 3.5-3.6, pp. 91-98, 979-986] |
| Flare/Glare | Physically-based glare effects for digital images www.graphics.cornell.edu/pubs/1995/SSZG95.html |
| Graphics Gems Repository | On-line repository for the code from the Graphics Gems
series by Academic Press. www.graphicsgems.org www.acm.org/tog/GraphicsGems ftp://ftp.princeton.edu/pub/Graphics/GraphicsGems Also see Master Table of Contents at ftp://ftp-graphics.stanford.edu/pub/Graphics/GraphicsGems/AllGems.TOC |
| Halftone Approximation | [Foley96, pp. 568-573] |
| Homogeneous Coordinates | [Foley96,
Section 5.2, pp. 204-210] Practical Handbook on Image Processing for Scientific Applications p. 127 |
| Intersection | Test if two triangles in 3D intersect. Uses projections onto
separating axes www.magic-software.com/gr_intr.htm |
| Landscapes | Virtual Terrain Project http://vterrain.org Generating Random Fractal
Terrain Terragen is a scenery generator being developed for Windows 95, 98 and NT. At
this stage of its development, Terragen is free for personal non-commercial use.
Terragen is already capable of photorealistic results for professional
landscape visualisation, special effects, art and recreation. 3D Fractal Landscapes How to Render Landscapes |
| Lens Effect | http://thorkildsen.no/faqsys/docs/lens.txt |
| Lens Flares | Lens Flare www.wildtangent.com/developer/howtos/LensFlare/lens_flare_how_to.html www.opengl.org/Coding/KilgardTechniques/LensFlare/LensFlare.html Image-Based Rendering and Lens Flares PDF Lens Flare Tutorial |
| Marching Cubes Algorithm | http://exaflop.org/docs/marchcubes |
| Math SDK | MathEngine is the provider of natural behavior technology for 3D applications and simulations. www.mathengine.com |
| Perlin Noise | http://freespace.virgin.net/hugo.elias/models/m_perlin.htm
"Noise and Turbulence" by Ken Perlin "Making Noise" by Ken Perlin |
| Phong Illumination | Phong Palette Tutorial www.daniel-davies.pwp.blueyonder.co.uk/programming/tutorials/phong/index.htm |
| Point in Polygon |
Simple Point in Polygon (Convex) Tests An Incremental Angle Point in Polygon Test PNPOLY - Point Inclusion in Polygon Test Point in polygon Nochmal Punkt in Polygon (German: Again, Point in Polygon) Point in Triangle in Dave Eberly's UseNet Post: Let the points be (x0,y0,z0), (x1,y1,z1), (x2,y2,z2). Given (x,y), solve for s and t in (x,y) = (x0,y0)+s*(x1-x0,y1-y0)+t*(x2-x0,y2-y0). The point is inside the triangle if s >= 0, t >= 0, and s+t <= 1. Then choose z = (1-s-t)*z0+s*z1+t*z2. Barycentric Coordinates (in triangle) Barycentric Coordinates |
| Point in Tetrahedron | www.research.microsoft.com/~hollasch/cgindex/geometry/ptintet.html |
| Point left/right of line | See "Orientation" at www.cs.cmu.edu/~quake/robust.html |
| Projection | [Foley96, Section 6.1, pp. 230-237] |
| Radiosity | Radiosity Bibliography (Global Illumination
Bibliographies) www.helios32.com/resources.htm Radiosity Page |
| Ray Tracing | Ray Tracing FAQ www.cis.ohio-state.edu/hypertext/faq/usenet/graphics/raytrace-faq/top.html Ray Tracing News Guide Ray Tracing Bibliography Set of basic test images for ray tracing algorithms |
| Rendering |
Illumination and Shading Three-Dimensional Graphics-Realistic Rendering Lights! Camera! Action! Light Sourced Lambert Shading Shadow Rendering Algorithms Why is Shading a Hard Problem? Rendering Algorithms Rendering Volume Rendering |
| Rotation | 2D [Foley96, pp.
203, 206] 3D [Foley96, pp. 213-216] comp.graphics.algorithms FAQ 1.01, 5.01 Rotation using the three Eulerian angles efg's Lab Report about Math and Delphi Example of Image Rotation |
| Scaling | 2D [Foley96, pp.
202, 205-206] 3D [Foley96, pp. 213-216] |
| Scan Conversion | Circles [Foley96, Section 3.3, pp. 81-87] Ellipses Lines Basic Incremental Algorithm, Midpoint Line Algorithm (Bresenham) |
| Shadows | Lighting, Shadows www.geocities.com/SiliconValley/Park/9784/tut.html#light |
| Sprites | www.hornet.org/code/effects/sprites |
| Star Fields | www.hornet.org/code/effects/stars |
| Sub-Pixel Accuracy | www.flipcode.com/documents/wwh1.txt
Fast affine texture mapping (also discusses convex polygons and subpixel accuracy) |
| Surfaces | www.magic-software.com/gr_surf.htm |
| Terrain | See Landscapes |
| Text Placement | An Empirical Study of Algorithms for Point
Feature Label Placement www.merl.com/reports/TR94-12/index.html A General Cartographic Labeling Algorithm |
| Textures |
Texture Mapping Mathematics Texture Mapping and Image Warping Bibliography Links Texture Mapping Texture Mapping as a Fundamental Drawing Primitive Projective Texture Mapping "Affine
Texture Mapping" by André LaMothe Texture Land: Abnormal Textures Index Spherical Texture Mapping Textures |
| Translation | 2D [Foley96, pp.
201-202, 205] 3D [Foley96, pp. 213-216] |
| Tunnel | www.hornet.org/code/effects/tunnel |
| Viewing Transformation | Link
to U.C. Davis Notes Specifying an arbitrary 3D View 3D Transformations and Perspective |
| Visibility |
Visible-Surface Determination Hans-Bernhard Broeker's pseudocode from UseNet Post: (15 Sep 99) to
comp.graphics.algorithms: comp.graphics.algorithms FAQ, Section 2.05 Hidden Surface Removal Visibility Determination Hidden-Surface Rendering A Fast Algorithm for Calculating Shading and Visibility in a Two-Dimensional Field |
| Window to Viewport Transformation | [Foley96, pp. 210-212] |
| 3D | Mathematics of 3D Graphics http://pages.infinit.net/jstlouis/3dbhole/mathematics_of_3d_graphics.html |
||||
| Bezier Curves | Postscript Programming -- Bezier Techniques www.fho-emden.de/~hoffmann/pstutor22112002.pdf Curved Surfaces Using Bézier Patches [Foley96, Section 11.2.2, pp. 488-491, 521-525] Pierre Bézier died in France on the 25th of November 1999 (R. Forrest's UseNet Post) |
||||
| Convex Hull | Hull is an ANSI C program that computes the convex
hull of a point set in general (but small!) dimension. http://cm.bell-labs.com/netlib/voronoi/hull.html |
||||
| Distance | www.magic-software.com/gr_dist.htm | ||||
| FAQ | comp.graphics.algorithms FAQ Section 1, 2D Computations, Points, Segments, Circles, etc. Section 2, 2D Polygon Computations Section 4, Curve Computations Section 5, 3D Computations Section 6, Geometric Structures www.exaflop.org/docs/cgafaq |
||||
| Geometry | See efg's Algorithms page Mathematics of Planar Geometric Projections Projections [Foley96, pp. 253-258] |
||||
| Hexagonal Lattice | http://astronomy.swin.edu.au/~pbourke/geometry/hexagon | ||||
| Mathematics | Mathematics for Computer Graphics [Foley96, Appendix, pp.1083-1112] |
||||
| Matrices |
Matrices Matrices and 3D graphics |
||||
| Numers |
Postscript Programming -- Drawing Numbers www.fho-emden.de/~hoffmann/pstutor22112002.pdf |
||||
| NURBS | Non-Uniform Rational B-splines
Also see Splines |
||||
| Quaternions | www.magic-software.com/gr_quat.htm | ||||
| Shapes | Shape Modeling and Computer Graphics with Real Functions www.u-aizu.ac.jp/public/www/labs/sw-sm/FrepWWW/F-rep.html |
||||
| Solid Modeling | [Foley96, Chapter 12, pp. 533-562] | ||||
| Splines |
"Implementing Uniform Trigonometric Spline Curves" Also see NURBS |
||||
| Surfaces | Representing Curves and Surfaces [Foley96, Chapter 11, pp. 471-532] Paper and Plotter: A 3D Surface (excellent article) |
| gnuplot API in ANSI C | www.eso.org/~ndevilla/gnuplot |
| Graphics programs and utilities | Garbo Shareware Library, University of Vaasa in Finland http://garbo.uwasa.fi/pc/graphics.html http://garbo.uwasa.fi/windows/graphics.html |
| MAGIC | "My Alternate Graphics and Image Code" by Dave
Eberly. Computer Graphics: Approximation, Containment, Distance,
Tesselllation, Interpolation, Intersection, Separation, Projection, Matrices, Quaternions,
Dynamic Collision Detection, Constructive Planar Geometry, Curves, Surfaces www.magic-software.com |
| Mesa 3D Graphics Library | Mesa is a 3D graphics library with an API which is very similar to that of
OpenGL. www.mesa3d.org |
| OpenGL for Windows | by Silicon Graphics www.meer.net/~gold/OpenGL/sgi-download.html |
| Paint Shop Pro 5 | www.jasc.com |
E. File Formats and Conversions
Also see Delphi File Formats and Conversions page
| AVI | AVI Overview www.rahul.net/jfm/avi.html
Personal AVI Editor from FlickerFree Multimedia Products www.flickerfree.com |
| BMP | La structure des fichiers bitmap The structure of the bitmap .BMP record http://members.aol.com/bellamyjc/fr/bmpfile.html Bitmap-File Formats |
| Compression | comp.compression Newsgroup FAQ www.faqs.org/faqs/by-newsgroup/comp/comp.compression.html Mitsuharu ARIMURA's Bookmarks on Source Coding/Data Compression |
| Conversions | The Converter's Paradise http://hem.spray.se/joakim.slettengren |
| DIB | Windows Device-Independent Bitmap Using Device-Independent Bitmaps and Palettes http://support.microsoft.com/support/kb/articles/q72/0/41.asp Sample: 16 and 32 Bits-Per-Pel Bitmap Formats "More Fun with MFC: DIBs, Palettes, Subclassing, and a Gamut of Reusable
Goodies", Parts I, II, II, in January, March, June 1997 Microsoft Systems Journal
by Paul DiLascia. Select MSJJAN97, MSJMAR97 and MSJJUN97 at www.microsoft.com/msj/code.asp or
directly from: |
| DICOM | Digital Imaging and Communications in Medicine See info on efg's Image Processing Medical Applications page |
| EPS | Encapsulated PostScript is a page description language used
by imagesetters and some laser printers. See Postscript below. |
| File Formats | www.wotsit.org (great
file format resource)
My File Formats The Graphics File Formats Page
Encyclopedia of Graphics File Formats Home Page
Image Processing and File Formats
MS-DOS and UNIX Multimedia Formats
Graphics and Sound File Formats 3D Data Formats |
| FLIC | www.compuphase.com/flic.htm |
| GIF | Compuserve's Graphics Interchange Format using
Sperry-Univac's patented LZW compression is limited to 256-colors.
Review Unisys information about LZW
Patent and Software Information to learn about restrictions using GIFs
Optimized GIFs from Windows DIBs, December 1998, C/C++ Users Journal GIF89a-based Animation for the WWW GIF Movie Gear (for GIF animation) www.gamani.com Library of GIFs |
| ICO | IconEdit by
Michael J. Mefford in PC Magazine The Iconolog, collection of 22,963 ICOs that use the Windows 16-color palette |
| JPEG | FAQ: www.faqs.org/faqs/jpeg-faq
Independent JPEG Group, www.ijg.org High Speed
Lossless JPEG, Pegasus Imaging Corporation Implementing Fast DCTs Supported by ImageLib www.imagelib.com |
| MPEG | MPEG Pointers and Resources www.mpeg.org/MPEG |
| Multiple Conversions | Icon Forge. Extract icons froms from EXE, DLL ICO, ANI or CUR
files. Edited icons may be saved in icon/cursor formats or exported to commonly used
bitmap image formats (such as BMP, GIF, JPEG, PCX or TIFF). www.cursorarts.com/ca_if.html PaintLib.
Supports PNG, TGA, TIFF, JPEG/JFIF, BMP, Mac Pict, as well as EPS previews. C++ class. |
| PGM | Used with the AT&T's Laboratories Cambridge Database of Faces (400 images) See efg's Interactive PGMP5 "viewer" to display PGM files (P5 format) or the command-line utility ConvertFaces to convert PGM files of the Olivetti and Oracle Research Laboratory's Database of Faces (400 images) to BMP or JPG. |
| PNG | |
| Postscript | Ghostscript is a fully functional PostScript language
interpreter (currently supporting Language Level 2). Ghostscript has evolved into a
very general graphics engine with several interpreter front ends (PostScript language,
Adobe PDF, Hewlett-Packard PCL 5 and PCL XL) and many graphics file formats and device
drivers on the back end (TIFF, JPEG, EPS, etc). www.ghostscript.com Postscript Programming |
| R2V | Raster-to-vector conversion software by Able Software Co. www.ablesw.com |
| SVF | Simple Vector Format www.softsource.com/svf/spec.html |
| TIFF | Tag Image File Format (TIFF), pp. 299-302 Digital Image Processing: Principles and Applications Unofficial TIFF Home Page, http://home.earthlink.net/~ritter/tiff Reading the Tag Image File Format, The C Users Journal, March 1991, pp. 92-100. ftp://ftp.mfi.com/pub/cuj/1991/mar91.tar.Z Tiff 5 Technical Description TIFF Products Tagged Image File Format. Default setting for many scanning programs. |
| YUV | YUV Formats www.webartz.com/fourcc/fccyuv.htm
|
F. Journals, Magazines, Books, Resources
| ACM SIGGRAPH | www.siggraph.org
Siggraph 98 papers on the web |
| Bibliographies on Computer Graphics and Vision | http://liinwww.ira.uka.de/bibliography/Graphics/index.html |
| Books | efg's Computer Graphics Book Store: OpenGL, DirectX, Color Science, Image Processing, Delphi |
| Computer Graphics World | www.cgw.com |
| Journal of Graphics Tools | www.acm.org/jgt |
| Newsgroups | comp.games.development.programming.algorithms comp.graphics.algorithms FAQ from comp.graphics.algorithms www.exaflop.org/docs/cgafaq comp.graphics.visualization |
Links Verified 21 Dec 1999
Updated 14 Sep 2004
since 1 Nov 1998