<--back--      home      --next-->
Where is the hardware changing?
Shown here is a high level diagram of the modern graphics pipeline.

At the top, we have higher order surface evaluation. This is some sort of spline surface tessellation.

Next, we can specify a 128 instruction assembly level program to move the vertices and set their attributes.

It is doubtful that we will see any sort of programmability in the next stage, rasterization, any time soon.

Next we can specify how reads into our texture units occur and we can blend those texels with each other, a few constants, and a few interpolating vectors. These fragment shading features matter most to me in my work. 3D textures and dependent texture reads are a few of my favorites.

Another important advancement is off screen render buffers, known as P-Buffers. These are buffers whose attributes are not bound to the current frame buffer. They are great for multi-pass rendering approaches.