For real-time rendering a completely programmable graphics solution is impractical - at least for now. Therefore programmability is enabled in three interesting areas, while leaving the rest of the graphics pipeline running as it always has. Until now these features are optional extensions to the OpenGL standard [18] and thus hardware dependent. Since every manufacturer of graphics hardware defines its own extensions1, we will restrict our description to graphics boards with Nvidias GeForce3 processor.