| 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 |
Documents / Tutorials |
| Game Programming |
Game Programming Information |
| Graphics Archive | Disks (1990-1998), Images (1992-1998), Programs www.hornet.org/graphics |
| Symbols | SYMBOLS.com contains more than 2,500 Western signs, arranged into 54 groups according to their graphic characteristics. www.symbols.com |
| User Interface | User Interface Design Tips by well-known expert Bruce
Tognazzini ("TOG") www.asktog.com/menus/designMenu.html 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 |
TechnoMagi: Algorithm Links |
| 2D Transformations | [Foley96, pp. 201-213] |
| 3D Transformation | [Foley96, pp. 213-216] |
| Alpha Blending |
MMX Enhanced Alpha Blending |
| Animation | [Foley96,
Chapter 21, pp. 1057-1081] Animation tools & tips |
| Antialiasing |
Unweighted Area Sampling Antialiasing Lines Antialiasing Circles Antialiasing General Curves Antialiasing Rectangles, Polygons, and Line Ends Wu Anti-aliased Lines Antialiasing and Raytracing |
| 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. |
| Camera Transform |
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 Generic Polygon Clipper Library Clipping |
| comp.graphics.algorithms FAQ | www.exaflop.org/docs/cgafaq
or ftp://rtfm.mit.edu/pub/faqs/graphics/algorithms-faq |
| Contours, Contour Maps |
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 |
| 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 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 |
| 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. How to Render Landscapes |
| Lens Flares |
Lens Flare Tutorial |
| Marching Cubes Algorithm | http://exaflop.org/docs/marchcubes |
| Perlin Noise | http://freespace.virgin.net/hugo.elias/models/m_perlin.htm
"Noise and Turbulence" by Ken Perlin "Making Noise" by Ken Perlin |
| Point in Polygon |
Simple Point in Polygon (Convex) Tests PNPOLY - Point Inclusion in Polygon Test 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. |
| 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 News Guide Ray Tracing Bibliography Set of basic test images for ray tracing algorithms |
| Rendering |
Illumination and Shading Lights! Camera! Action! Light Sourced Lambert Shading 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 |
| Terrain | See Landscapes |
| Textures |
Texture Mapping Mathematics Texture Mapping and Image Warping Bibliography Texture Mapping Texture Mapping as a Fundamental Drawing Primitive Texture Land: Abnormal Textures Index Spherical Texture Mapping Texture and Color |
| Translation | 2D [Foley96, pp.
201-202, 205] 3D [Foley96, pp. 213-216] |
| Tunnel | www.hornet.org/code/effects/tunnel |
| Viewing Transformation | 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 |
| Window to Viewport Transformation | [Foley96, pp. 210-212] |
| 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) |
| 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] |
| Mathematics | Mathematics for Computer Graphics [Foley96, Appendix, pp.1083-1112] |
| 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 |
| 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 | http://ndevilla.free.fr/gnuplot/ |
| Mesa 3D Graphics Library | Mesa is a 3D graphics library with an API which is very similar to that of
OpenGL. www.mesa3d.org |
E. File Formats and Conversions
Also see Delphi File Formats and Conversions page
| AVI | Personal AVI Editor from FlickerFree Multimedia Products www.flickerfree.com |
| BMP |
Bitmap-File Formats |
| Compression | comp.compression Newsgroup FAQ www.faqs.org/faqs/by-newsgroup/comp/comp.compression.html |
| 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. MSJJAN97, MSJMAR97 and MSJJUN97 [Microsoft failed to maintain their links.] |
| 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
Graphics and Sound File 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.
Unisys failed to maintain their link about their LZW
Patent and Software Information.
Optimized GIFs from Windows DIBs, December 1998, C/C++ Users Journal GIF Movie Gear (for GIF animation) www.gamani.com Library of GIFs |
| ICO | IconEdit by Michael J. Mefford in PC Magazine |
| JPEG | FAQ: www.faqs.org/faqs/jpeg-faq
Independent JPEG Group, www.ijg.org Implementing Fast DCTs Supported by ImageLib www.imagelib.com |
| 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 Reading the Tag Image File Format, The C Users Journal, March 1991, pp. 92-100. Tagged Image File Format. Default setting for many scanning programs. |
| YUV |
|
F. Journals, Magazines, Books, Resources
| ACM SIGGRAPH | www.siggraph.org |
| Bibliographies on Computer Graphics and Vision | http://liinwww.ira.uka.de/bibliography/Graphics/index.html |
| Computer Graphics World | www.cgw.com |
| Journal of Graphics, GPU & Game Tools | http://jgt.akpeters.com/ |
| Newsgroups | comp.games.development.programming.algorithms comp.graphics.algorithms FAQ from comp.graphics.algorithms www.exaflop.org/docs/cgafaq comp.graphics.visualization |
| Updated | 11 Jul 2009 |
| Since | 1 Nov 1998 |