register_combiners

Just would like to know if there are the same generic extension. If so, what is its name.

thx

GL_ARB_texture_env_combine

If you meant equivalent of the NV_register_combiners extension then the lowest generic equivalent whose capabilities are superset of that extension is ARB_fragment_program.

are you sure?
if I remember rightly, register combiners had min/max/dot3 operations, which is the domain of GL_ARB_texture_env_combine.
There was no dependent texture reading in register combiners, that was the domain of texture shaders.

Originally posted by knackered:
if I remember rightly, register combiners had min/max/dot3 operations, which is the domain of GL_ARB_texture_env_combine.

The NV register combines did have only add, mul and dot3 operations with some scaling, negation, saturation and biasing support. The important differences from the GL_ARB_texture_env_combine extension are:

  • Number of operations you can do is independent on number of enabled texture units and it might be much higher (exact number depends on type of instructions used) than the total number of texture units.[]There are two temporary registers and additional four registers might be used for the calculations once value they initially contain is not needed.[]Temporary values can be within the <-1,1> range instead of the <0,1> range.[*]There is full control of application of secondary color and fog.

I haven’t read the nv register combiner doc yet. So should I consider that they only apply on textures despite of the fact that they could do fog or so ? I don’t understand…

The nv register combiners serve as more powerfull replacement (with some enhancements) of standard texture environment (glTexEnv).

Thanks !

Anyway, I don’t understand why they have such a generic name if they only apply on textures and even if I still don’t understand why fog applies on textures and how.

The register combiner was such that you could do some common effects and I think it had a +Value in there so that you could add your fog color.
It was like FS 1.0
With textures shaders, it was like FS 1.1
There was NV_register_combiners, NV_register_combiners2, NV_texture_shader, NV_texture_shader2, NV_texture_shader3

You just noticed them now?

I’ve heard of them before but hadn’t any use for them so my curiosity ended there :slight_smile: