The Aha moment, part 7

Interestingly, my idea of running a complete computer program at every pixel of an image ended up having some surprising consequences. This was also because I had introduced a particular kind of computer program to run at every pixel.

The programming language I implemented in 1984 made it very easy to do vector math and matrix math. I deliberately made no distinction between color vectors (with or without an opacity channel) and position vectors (with or without a homogeneous coordinate).

And any of those vectors could be transformed by matrices. Instead of the cumbersome notation of calling library functions to multiply matrices or to transform vectors, the programmer could just combine simple built-in operators.

As shader languages like RenderMan started to adopt my programming model, people became interested in using those shader programs to render images as quickly as possible. Eventually, special hardware was developed to do all that per-pixel matrix and vector math with great speed.

More tomorrow.

Leave a Reply

Your email address will not be published. Required fields are marked *