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.
Pingbacks are closed.