Some documents that I refer to off and on.

  • GLSL Reference Doc

  • Representation of OpenGL Context Memory Layout

  • OpenGL Non-programmable Pipeline Overview This now is only good for understanding the geometric transformations involved. Sitll relevant/useful off and on. It is surprising how often I have had to revert back to it (and how many bugs I have found in it over the years!)

  • Coordinate Transformations: Probably more useful to those who come to graphics/robotics without any background in Linear Algebra. (On that note, it is amazing how many graphics engineers, including some who interviewed me for a job, thought, probably still think it is essential to use homogeneous coordinates for clipping!)

  • Linear Transformations and homogeneous coordinates: Another resource for those who do not have adequate background in Linear Algebra.

  • Derivation of OpenGL projection matrix: I am sure there should be some paper or a book that would do this in detail. But I have not found it. If you happen to see this and know of such a resource, do let me know.  At some point this was peer reviewed. So should be reasonably accurate. However no guarantees :-)

  • Perspective Correct Interpolation of Linear Functions in Homogeneous Space: Very first version of SGI IRIS hardware got this wrong. Result: they had swimming textures. When I was his teaching assistant at grad school, Pete Shirley told me about the swimming textures. Then I read through Paul Heckbert's thesis.  This document was created years after I had read through Paul Heckbert's thesis. Errors, if any, are mine.