ARB_vertex_program limitations

Is it possible to emulate the standard OpenGL lighting path in just 128 instructions?

Not worst case things like 8 spotlights with localviewer and two-sided lighting.

You’ll need branching (or a lot more instructions) for that.

And it is even worse if you normalize the normals, if texgen is enabled for all texture units, if vertex weighting is enabled (though I think vertex weighting is not part of the standard OpenGL path), etc.

Hopefully, you rarely need 8 attenuated spotlights, so you can generally deal with 128 instructions.

But I thought that since the GF4 the standard fixed T&L path was sort of emulated with vertex shaders, is this false ? If not how does the driver deal with worst case scenario ?

And the GF FX seems to perform better in fixed T&L than in Vertex Shader by quite a margin, does this mean than standard fixed T&L functionality is still there ?

I don’t think any GeForce hardware emulates the fixed-function in vp’s. Maybe the 9500+ Radeons do, but I doubt that as well.

As nice as vertex programs are, fixed-function is simply the faster alternative.

Zeross,

It essentially uses the same computational resources, but fixed-function does not use a stored program model on GeForce hardware.

Thanks -
Cass

Originally posted by Korval:
[b]I don’t think any GeForce hardware emulates the fixed-function in vp’s. Maybe the 9500+ Radeons do, but I doubt that as well.

As nice as vertex programs are, fixed-function is simply the faster alternative.[/b]

The 9500+ does indeed run everything through a vertex program. So some worst case scenario fixed function lighting will force it into software mode.