Years in, it's easy to forget the details...

Sometimes after a decade or so of working with a technology you become so accustomed to the low-level operation you just stop thinking about how it actually works.  Writing the "legacy free" version of OpenGLContext is making me think again about how the whole edifice of computer graphics works.

Take, for example, the "normal matrix".  If you try to compress your OpenGL setup into a single matrix (a model-view matrix) and don't specify a projection matrix, you'll wind up with very dark geometry with lights that will seem to be dependent on the angle you look at the geometry.  You forget little details like that over the years, despite having hit them back when you started.

As I'm working I'm thinking maybe I should write some sort of "Introduction to 3D Graphics with Shaders" book.  The elegance every once in a while makes me stop and think, wow, yeah, that's beautiful stuff, that's something people should understand.  Little things like what happens if you have no perspective matrix (think simple orthographic).

For those who are curious as to how I've got so much time to play; I'm taking a few weeks between contracts to play with some technologies and sharpen tools before I decide what direction to go in next.  Much of my thinking seems to be heading into teaching or writing, with little side-excursions into graphics development or the like.


  1. Steven

    Steven on 04/20/2009 11:59 a.m. #

    The book sounds like a great idea. I've been enjoying the last couple nuts and bolts posts especially since my only graphics experience is the typical computer graphics 101.

  2. PN

    PN on 04/20/2009 6:29 p.m. #

    Go for the book writing, its the best thing to give to the community, makes you feel good and ties back into teaching the material you've written about which helps you sharpen up the original book(s) with lessons learned teaching in the real world.

  3. Simon

    Simon on 04/20/2009 11:21 p.m. #

    I'd like to read that book.

Comments are closed.


Pingbacks are closed.