Jim Blinn’s Corner:
A Trip down the Graphics Pipeline,
Morgan Kauffmann, 1996
Jim Blinn’s Corner:
Dirty Pixels,
Morgan Kauffmann, 1998
Jim Blinn’s Corner:
Notation, Notation, Notation,
Morgan Kauffmann, 2002


Major Papers

Teapot with texture and reflections

Texture and Reflection in Computer Generated Images
J. F. Blinn and M. E. Newell
CACM, 19(10), October 1976, pp. 542-547.
(The original teapot paper. Introduces environment mapping.)

Also in HERE

Light reflection function including highlights

Models of Light Reflection for Computer Synthesized Pictures
SIGGRAPH 77, pp. 192-198.
(Introduces the Torrance-Sparrow highlight model.)

Also in HERE


Leather donut Simulation of Wrinkled Surfaces
SIGGRAPH 78, pp. 286-292.
(Introduces Bump Mapping.)
Blobby man

A Generalization of Algebraic Surface Drawing
ACM Transactions on Graphics, 1(3), July 1982, pp 235-256.
(Introduces Blobby modeling.)

Originally in Siggraph ‘82  HERE

saturn rings Light Reflection Functions for the Simulation of Clouds and Dusty Surfaces
SIGGRAPH 82, pp. 21-29.
(Lighting model used for rings of Saturn.)
Ovelayed transparent objects Blue Screen matting
Alvy Ray Smith and James F. Blinn
SIGGRAPH 96 pp. 259,268
(Mathematical model of blue screen matte extraction)
The letter e rendered as curved outline

Resolution independent curve rendering using programmable graphics hardware
Charles T. Loop and James F. Blinn
ACM Trans. Graph. 24(3): 1000-1009 (2005)


Cubic surface

Real-Time GPU Rendering of Piecewise Algebraic Surfaces
Charles Loop and Jim Blinn
Siggraph Proceedings, Boston, 2006


Other Papers 

University of Michigan Early 70’s 

University of Utah Late 70’s

JPL 1980’s

  • Raster Graphics
    Tutorial: Computer Graphics, 1979, Ed. Kellogg Booth
  • Geometric Representations in Computer Graphics, Part I
    SIGGRAPH ‘80 Advanced 3D Raster Graphics seminar notes
  • Image Processing: the Future Vital Link?
    Computer Graphics, Infotech State of the Art Report, 1980, volume 2, number 5
  • Scan line methods for displaying parametrically defined surfaces
    J. Lane and L. Carpenter and T. Whitted and J. Blinn,
    Communications of the ACM, Vol 23 Issue 1, Jan 1980
    Reprinted in HERE
  • The Algebraic Properties of Homogeneous Second Order Surfaces
    SIGGRAPH ‘84 Mathematics of Computer Graphics seminar notes
  • The Ancient Chinese Art of Chi-Ting, 1985
    SIGGRAPH ‘85 Image Rendering Tricks seminar notes
  • Beyond scientific visualization: Mapping information
    Donna J. Cox and Jim Blinn and Richard Ellson and Helga M. Leonardt Hendriks
    Computer Graphics (SIGGRAPH ‘90 Panel Proceedings),

Microsoft 1995-2009

  • Rendering Vector Art on the GPU
    Charles Loop and Jim Blinn
    GPU Gems 3, Chapter 25, Addison Wesley, 2007

Jim Blinn’s Corner Articles

These were all published in the IEEE Computer Graphics and Applications journal. Dates are attached to each entry below:

  • How many ways can you draw a circle? JBC1(Aug 1987, vol 7, issue 8)
    A collection of circle drawing algorithms.hms.
  • What, Teapots again? (Sep 1987, vol 7, issue 9)
    The database for the teapot in surface-of-revoluton form.
  • Nested transformations and blobby man (Oct 1987, vol 7, issue10)
    A syntax for representing nested transforms and some examples.
  • Platonic solids (Nov 1987, vol 7, issue11)
    A database for platonic solids with very simple values for vertex coordinates.
  • How to write a paper for Siggraph (Dec 1987, vol 7, issue12)
    Some thoughts on what gets a paper accepted
  • Me and my (fake) shadow (Jan 1988, vol 8, issue 1)
    How to cast shadows on the ground plane using perspective transformations
  • The world’s largest easter egg (Mar 1988, vol 8, issue 2)
    Description of some of Ron Resch’s construction techniques
  • Things I hope not to see or hear at Siggraph (May 1988, vol 8, issue 3)
    Some thoughts on what makes an effective presentation
  • Where am I, what am I looking at? (Jul 1988, vol 8, issue 4)
    A generalization of the lookat transformation that I used in space movies.
  • The 3d kaleidoscope (Sep 1988, vol 8, issue 5)
    Some playing with 3D groups to make related polyhedra and other interesting shapes.
  • Fractional invisibility (Nov 1988, vol 8, issue 6)
    A way to remove most of the singuarites in quantitative invisibility types of hidden line algorithms
  • What we need around here is more aliasing (Jan 1989, vol 9, issue 1)
    A collection of graphs showing where aliasing comes from and the theory of how to get rid of it
  • Return of the Jaggy (Mar 1989, vol 9, issue 2)
    A continuation of above with a discussion of reconstruction filtering.
  • How many different cubic curves are there? (May 1989, vol 9, issue 3)
    A categorizaion of the types of shapes a homogeneous cubic can generate.
  • Dirty pixels (Jul 1989, vol 9, issue 4)
    How to optimally encode intensity into an 8 bit pixel
  • Optimal tubes (Sep 1989, vol 9, issue 5)
    A simple modelling primitive for long cylenders that takes into account the viewpoint.
  • Cubic curve update (Nov 1989, vol 9, issue 6)
    Fixing some errors in May ‘89 article
  • Triage tables (Jan 1990, vol 10, issue 1)
    A data structure useful in recursive culling situations
  • The truth about texture mapping (Mar 1990, vol 10, issue 2)
    Storing texture maps as tiles increases locality of access in virtual memory situations.
  • Wonderful world of video (May 1990, vol 10, issue 3)
    Intro to various video signal and tape formats
  • The ultimate design tool (Nov 1990, vol 10, issue 6)
    Some thoughts on the early stages of design
  • A Trip Down The Graphics Pipeline: Line Clipping (Jan 1991, vol 11, issue 1)
    The best line clipping algorithm I have seen
  • WYSBOAVRTWYG (May 1991, vol 11, issue 3)
    Various experiments in reproduction of images by the printing process
  • A Trip Down The Graphics Pipeline: Pixel Coordinates (Jul 1991, vol 11, issue 4)
    Mapping the continuous range -1…+1 to pixel coordinate values and how it is usually done wrong.
  • A Trip Down The Graphics Pipeline: Sub-Pixelic Particles (Sep 1991, vol 11, issue 5)
    How to map sub-pixels to regular pixels for subsampling
  • A Trip Down The Graphics Pipeline: Grandpa, What does Viewport Mean? (Jan 1992, vol 12, issue 1)
    How to properly map viewports onto the screen
  • Uppers and Downers (Mar 1992, vol 12, issue 2)
    Subscript and superscript index notation for covariant and contravariant tensors and how it simplifies some calculations.
  • Uppers and Downers: Part 2 (May 1992, vol 12, issue 3)
    Use of a simple form of Feynman diagrams to represent and manipulate complicated tensor equations.
  • Hyperbolic Interpolation (Jul 1992, vol 12, issue 4)
    How to interpolate colors and texture indices onto objects viewed in perspective.
  • The World of Digital Video (Sep 1992, vol 12, issue 5)
    Formats for the D1 and D2 digital video signal
  • How I Spent My Summer Vacation—1976 (Nov 1992, vol 12, issue 6)
    Reminiscences on my summer at NYIT
  • NTSC: Nice Technology, Super Color (Mar 1993, vol 13, issue 2)
    How NTSC encodes color and how to cooperate with this process to make CG images that encode nicely.
  • A Trip Down The Graphics Pipeline: Homogeneous Perspective (May 1993, vol 13,issue 3)
    How the perspective transform works in homogeneous coordinates.
  • What’s the deal with the DCT? (Jul 1993, vol 13, issue 4)
    A comparison of DCT and DFT and some intuitive insights on how the DCT helps in image compression.
  • Backface Culling Snags (Nov 1993, vol 13, issue 6)
    Some things that can go wrong if you’re not careful with back face culling.
  • Farewell to Fortran (Mar. 1994, vol 14, issue 2)
    Thoughts on changing from Fortran to C++.
  • Quantization Error (Jul. 1994, vol 14, issue 4)
    Fourier transform plots of various dithering techniques.
  • Image Compositing—Theory (Sep. 1994, vol 14, issue 5)
    The mathematics and a new derivation of the use of alpha in image blending, and a justification for using associated colors.
  • Image Composting—Practice (Nov. 1994, vol. 14, issue 6)
    Some speed up tricks in alpha blending.
  • How To Draw a Sphere — Part 1 (Jan 1995, vol. 15, issue 1)
    Homogeneous mathematics of second order surfaces.
  • How To Draw a Sphere — Part 2, coordinate systems (Mar 1995, vol. 15, issue 2)
    Tricks of picking coordinate systems for fast sphere drawing.
  • How To Addend A Siggraph Conference (July 1995, Vol. 15, issue 4)
    Tips on how to maximize the experience.
  • How To Draw A Sphere — Part 3 (Sept. 1995, Vol. 15, issue 5)
    Optimizing the inner loop of the sphere drawer
  • Three Wrongs Make A Right (Nov. 1995, Vol. 15, issue 6)
    A quick way to divide by 255
  • Consider The Lowly 2x2 Matrix (Mar. 1996, Vol. 16, issue 2)
    Using a 2x2 matrix to build intuition about various matrix properties
  • Calculating Screen Coverage (May. 1996, Vol. 16, issue 3 )
    A technique that works even if the object is very near you
  • The Geometry of Compositing (Sep. 1996, Vol. 16, issue 5 )
    Geometric interpretations of the “over” operator
  • Hey Buddy, How Do You Get Into The Siggraph Electronic Theater (Nov, 1996, Vol. 16, issue 6 )
    Tips on making animations that somebody might want to watch (with Andrew Glassner)
  • Fugue for MMX (Mar. 1997, Vol. 17, issue 2 )
    The “over” operator encoded in MMX instructions using 8 cycles/pixel
  • Floating Point Tricks (Jul. 1997, Vol. 17, issue 4 )
    Fast but approximate mathematical algorithms using the bit pattern of IEEE floating point.
  • A Ghost In A Snowstorm (Jan. 1998, Vol. 18, issue 1 )
    What happens when you do linear calculations on gamma corrected data
  • W Pleasure, W Fun (May 1998, Vol. 18, issue 3)
    Using perspective and non-perspective Z for depth comparisons
  • Upon Further Consideration (Jul. 1998, Vol. 18, issue 4)
    Corrections and updates to several of the earlier columns
  • Ten More Unsolved Problems In Computer Graphics (Sep.1998, Vol. 18, issue 5)
    An update to Ivan Sutherland’s list
  • The Cross Ratio (Nov. 1998, Vol. 18, issue 6)
    An intuitive reason why the cross ratio is preserved by perspective projection
  • Inferring Transforms (May 1999, Vol. 19, issue 3)
    A quick way to get a 2d perspective transform from 4 input/output point pairs.
  • How Many Rational Parametric Cubic Curves Are There? Part 1: Inflection Points (July 19, issue 3 7/99)
    Using the epsilon-delta rule to find inflection points
  • A Bright Shiny Future (Jan. 2000, Vol. 20, issue 1)
    Musings in the future of graphics
  • How Many Different Parametric Cubic Curves Are There? Part 2: The “Same” Game (Nov. 1999, Vol. 19, issue 6)
    How to tell if two curves are the same
  • How Many Different Parametric Cubic Curves Are There? Part 3: The Catalog (Mar 2000, Vol. 20, issue 2)
  • Optimizing C++ Vector Expressions (Jul 2000, Vol. 20 , issue 4)
  • Polynomial Discriminants 1:Matrix Magic (Nov 2000, Vol. 20, issue 6)
  • Polynomial Discriminants 2:Tensor Diagrams (Jan 2001, Vol. 21, issue 1)
  • Tensor Contraction in C++ (Mar 2001, Vol. 21, issue 2)
  • Quartic Discriminants and Tensor Invariants (Mar 2002, Vol. 22, issue 2)
  • Visualizing 2x2 Matrices (check date) (Jul 2002, Vol. 22, issue 4)
  • Lines in Space, Part 1: The 4D Cross Product (Mar 2003, Vol. 23, issue 2)
  • Lines in Space, Part 2: The Line Formulation (May 2003, Vol. 23, issue 3)
  • Lines in Space, Part 3: The Two Matrices (Jul 2003, Vol. 23, issue 4)
  • Lines in Space, Part 4: Back to the Diagrams (Sep 2003, Vol. 23, issue 5)
  • Lines in Space, Part 5: A Tale of Two Lines (Nov 2003, Vol. 23, issue 6)
  • Lines in Space, Part 6: Our Friend the Hyperbolic Paraboloid (May 2004, Vol. 24, issue 3)
  • Lines in Space, Part 7: The Algebra of Tinkertoys (Jul 2004, Vol. 24, issue 4)
  • Lines in Space, Part 8: A Line Through Four Lines (Sep 2004, Vol. 24, issue 5)
  • User Interface Stories From The Real World (Jan 2005, Vol. 25, issue 1)
  • Vectors and Geometry and Objects, Oh My! (May 2005, Vol. 26, issue 3)
  • How To Solve A Quadratic Equation, Part 1 (2005, Vol 25, issue 5)
  • How To Solve A Quadratic Equation, Part 2 (Mar , Vol. 25, issue 6)
  • How To Solve A Cubic Equation, Part 1 - The Shape of the Discriminant (May 2006, Vol. 26, issue 3)
  • How To Solve A Cubic Equation, Part 2 - The 11bar Case (Jul 2006, Vol. 26, issue 4)
  • How To Solve A Cubic Equation, Part 3 - General Depression and a New Covariant (Nov 2006, Vol. 26, issue 6)
  • How To Solve A Cubic Equation, Part 4 - The 111 Case (Jan 2007, Vol. 27, issue 1)
  • How To Solve A Cubic Equation, Part 5 - Back to Numerics (May 2007, Vol. 27, issue 3)