Hi.
GLSL uses arb_fragment_shader and arb_vertex_shader.
So I could write my shader in GPU assembler and they would work also with newer generations of graphic cards?
Of course there are some limitations of GPU assembler but its mostly the same thing as I would write my shader in GLSL?
I ask this because nvidia doesn’t have a GLSL support currently and I want also to support older cards like gf3 with some fallback arb_vertex_shaders.
The problem with gpu assembler is that any shader you write may not work on other card’s.
GLSL actuarly compiles to GPU assembler code when loaded, so in theory you should be able to run GLSL on allmost any GPU that support’s pixel/vertex shader’s.
So GLSL will work for most card’s once there is driver support for it.
ATI and 3DLabs has some beta support for GLSL and Nvidia is expected to release GLSL support soon(perhaps they decided to release a better version than the other’s).
the actual speed largely depend’s on the card and the complexity of your shader.
If you dissregard the effect that the actual speed of the card creates, some (simple)shader’s may actuarly run allmost as fast on any geforce(3,4,FX) while other(most)ones will run faster.
I don’t want to argue, but on my Athlon 2000+ 600x600 pixels using 20-30 instruction shader are rendered via emulator in about 1-2 seconds. With GFFX I get 70 FPS. I think there is a great difference.