Cross platform vertex shaders

I am working on a (currently) cross platform compatible game engine which I would like to have run on not only Macs, Windows and Linux machines, but also on any of the preferred video cards. I see a lot about NV vertex programming, and very little about ATI vertex programming.

I am wondering, is there an easy way to program vertex shaders for both types of cards and have them run on a number of systems? Will I have to write shaders for both types of cards? Will there be any interesting problems getting these shaders to run on machines other than Windows machines (endians shooting errors included)?

Look at GL_ARB_vertex_program extension.

oooh, I looked at it. Not much to see, just one long winded text on the net, and reading it seems… well, almost like its written for ppl who already know all about it. Found a program that runs it, but that program tells me my GeForce 3 with just-downloaded-today drivers doesn’t support it.

[This message has been edited by 147-2 (edited 03-22-2003).]

GL_ARB_vertex_program works in hardware on GeForce 3 and up. For ATI cards on Radeon 8500 and up. There are presentations and whitepapers on nvidia’s site about GL_NV_vertex_program. The ARB version is almost the same. So learn vertex programming using GL_NV_vertex_program first, then reading the spec to the ARB version will make more sence to you. Unless there is some tutorial/paper/presentation on ARB_v_p then read that instead, but I’m not aware of any atm.

-SirKnight

Not much to see, just one long winded text on the net, and reading it seems… well, almost like its written for ppl who already know all about it.

Only nVidia seems to write their extension specs as actual documentation on how to use the extension, rather than just as a reference.