Old graphics cards/fragment shaders

Hi, I’m developing an application that uses fragment shaders and I’m now finding that some of our users have old hardware that don’t support them. Are there any similar alternatives in older versions of openGL (1.2?)?


There are alternatives depending upon GL version and h/w age.
First, and the oldest, is the register combiners which can allow textures to be combined in some fancy ways (although nothing like a GLSL shader). This was made core in GL 1.3 but nVidia exposed this and more flexability with it’s own extensions, eg NV_register_combiners2 and the like.

EXT_texture_env_combine - provided a programmable method of combining textures.
NV_register_combiners - GeForce 256
NV_vertex_program - GeForce 3
NV_texture_shader - GeForce 3
NV_texture_shader3 - GeForce 4
NV_vertex_program2 - GeForce FX
NV_fragment_program - GeForce FX

More advanced texturing requires progamability; this came with the ARB fragment and vertex program extensions. This is like assembly language pixel shaders - quite programable just not a very nice language.
Some features, such as loops and conditionals, are not available in ARB assembly, and using them requires to adopt either the NV_gpu_program4 extension, or the GLSL shading language.

A good explaination of all of this can be found here:
GPU assemby language

Thanks, appreciate the explanation.

This topic was automatically closed 183 days after the last reply. New replies are no longer allowed.