Steve's Computer Graphics Notes
This page is my old collection of topics related to computer graphics. At
this point many of the links may no longer work, and I'd suggest that you just
use your favorite search engine to find information. I'm leaving it up here for
now for historical purposes.
Steve Hollasch
2020 April 1
A
- Algorithms (General)
- Pólya's Craft of Discovery
- Angles
- Finding the Angle Between Two Vectors
- Fowler Angles (comparing angles without using trig functions)
- Arc Length
- Cubic Bezier Arc Length
- Arithmetic
- IEEE Standard 754 Floating Point
- Portable Encoding of Floating-Point Values
B
- Barycentric Coordinates
- Usenet Excerpts
- Bezier Curves
- Converting Cubic Bezier Curves to Quadratic Splines
- Cubic Bezier Arc Length
- Bibliographies
- CG Notes Bibliography
C
- Catmull-Rom Splines
- CMYK
- The CMYK Color Scheme
- Color
- The CMYK Color Scheme
- Color Blindness, Theory and Simulation
- Converting Temperature to Color
- Frequency-RGB Conversion
- List of Colors and Their RGB Equivalents
- Coordinates
- Barycentric Coordinates (Usenet excerpts)
- Right-handed vs. left-handed
- Transforming One Vector Onto Another (Usenet excerpts)
D
- Dithering
- Usenet comments on dithering
F
- File Formats
- FLI
- GIF and LZW Explained
- Movie.byu
- OFF (3D Object File Format)
- Sun Rasterfile
- Floating-Point Arithmetic
- IEEE Standard 754 Floating Point
- Portable Encoding of Floating-Point Values
- Flood-Filling
- Fowler Angles
- Frequency
- Frequency-RGB Conversion
G
- Gamma Correction
- A Note on Gamma Correction and Images, Graeme W. Gill
- Grids
- Detecting and Converting Topological Grids from Indexed Trilists to Tristrips (C Source)
H
- Hologram
- Creating CG Holograms
I
- Illumination Equation
- Thoughts on Using Color Factors for All Illumination Components
- Intersection
- Ray-Torus Intersection
-
Fast, Minimum Storage Ray-Triangle Intersection
L
- Left-Handed Coordinates
- Right-handed vs. left-handed
M
- Mandelbrot
- The Mandelbrot Set
- Marching Cubes
- The Patent on Marching Cubes
- Mathematics
- Pólya's Craft of Discovery
- Matrices and Matrix Math
- Inverse of Affine Orthogonal Matrices
- Column vs. Row Vectors
- Matrix Inversion Code (C Source)
- Transforming One Vector Onto Another (Usenet excerpts)
- Meshes & Meshing
- Converting Triangle Lists to Triangle Strips (C Source)
- Detecting and Converting Topological Grids from Indexed Trilists to Tristrips (C Source)
- Metaballs (also called blobbies or implicit surfaces)
- Intro to Metaballs
N
- N-Dimensional Graphics
-
Four-Space Visualization of 4D Objects
- Noise
- Computing Noise (Usenet Excerpts)
- Normals
- Calculating Surface Normals for a Triangulated Mesh
- Inside/Outside Surface Determination
O
- Omnimax
- Rendering for an Omnimax Screen (Usenet excerpts)
P
- Phong Shading
- Quick Phong Calculation
- Platonic Solids
- Equations For
- Point in
- Point In Tetrahedron Test
- Polygons
- Flood-Filling
- Polyhedra
- Usenet Discussion on Polyhedra Intersection
- Definitions for Platonic Solids
- Polynomials
- Finding the Roots of a Cubic Polynomial (C Source)
- Finding the Roots of a Quadratic Polynomial
- Problem Solving
- Pólya's Craft of Discovery
Q
- Quaternions
- Rotating One Vector About Another (Usenet excerpts)
R
- Ray Tracing
- Ray-Torus Intersection
- Ray Tracing News
- Refraction
- Calculating Refraction Vectors
- Rendering
- Rendering for an Omnimax Screen (Usenet excerpts)
- Thoughts on Using Color Factors for All Illumination Components
- Right-Handed Coordinates
- Right-handed vs. left-handed
- Roots
- Finding the Roots of a Cubic Polynomial (C Source)
- Finding the Roots of a Quadratic Polynomial
- Computing the Cube Root
- Rotation
- Rotating One Vector About Another (Usenet excerpts)
S
- SIGGRAPH
- Satirical SIGGRAPH Conference Announcement
- Specular Reflection
- Quick Phong Calculation
- Spheres
- 3D Sphere Scan Conversion
- Finding a Sphere from Four Points
- Tessellation (C Source)
- Splines
- Catmull-Rom Splines
- Converting Cubic Bezier Curves to Quadratic Splines
- Square Roots
- Computing the Integer Square Root
- Using Pythagorean Sums to Compute the Square Root
- Surfaces
- Inside/Outside Surface Determination
T
- Teapot
- Source for The Famous Newell Teapot (shell archive)
- https://www.sjbaker.org/wiki/index.php?title=The_History_of_The_Teapot, Steve Baker
- Tetrahedron
- Point In Tetrahedron Test
- Texture Maps
- Making Tiled Textures
- Torus
- Ray-Torus Intersection
- Transforms
- Transforming One Vector Onto Another (Usenet excerpts)
- Triangle Strips
- Converting Triangle Lists to Triangle Strips (C Source)
- Detecting and Converting Topological Grids from Indexed Trilists to Tristrips (C Source)
- Trigonometry
- Incremental Sine/Cosine Generation
- A Nice Diagram of Trigonometric Functions (Usenet excerpt)
U
- Uniform Distribution of Points on a Sphere
- Usenet Thread, circa 1993
V
- Vectors
- Rotating One Vector About Another (Usenet excerpts)
- Transforming One Vector Onto Another (Usenet excerpts)
Z
- Z-buffering
- Setting Z-Buffer Bounds Automatically
- The Stitching Problem (Z-buffered rendering of outlined polygons)