Some performance detective work

I just found out recently that fixed pipe texgen is significantly faster with GL_OBJECT_LINEAR than GL_EYE_LINEAR. I recently changed some projected texture stuff to GL_OBJECT_LINEAR and got a boost.

This makes sense, because in terms of a vertex program, you would save an extra matrix multiply when implementing GL_OBJECT_LINEAR. (Assume lighting and other stuff is absent)

The interesting thing is that also NV-1x cards (GeForce 2, GeForce 4 MX) exhibit this behaviour. So is there a similar programmable vertex engine working behind the scenes on NV1x?

If so, the MX then needs 2 cycles per dot product (core clock 175 MHz / 8 = 22 M vertices / s).

I believe the GeForce line is “partly” programmable, and the drivers program it to implement the fixed pipe, but I believe it’s missing the flexibility necessary to make for a good vertex programming model, which is why they made it more flexible in GeForce 3.