Available texture units on ATI cards using fragment programs


glGetIntegerv(GL_MAX_TEXTURE_UNITS,…) reports 8 units on my ATI9800. On a GFFX the same call results in 4, but using fragment programs you can use up to 16 different texture units(I think NVIDIA has another name than ‘texture unit’ for a unit where you can bind textures to, don’t remember what though).

I did a simple test and this call doesn’t fail on my ATI board


But with GL_TEXTURE16_ARB it does. Can anyone with experience in using many active textures(more than 8) and fragment programs on ATI boards tell me if they do support more than 8 active textures or not?


I’m pretty sure R300 and NV30+ can both bind 16 different textures for use in fragment programs.

Although some of it is NVIDIA specific, this thread may be useful for clarifying the differences between between texture units, texture coordinate sets, and texture image units:

Thanks, I remember that thread. Texture Image Units, that was their name.