Important Notice: Our web hosting provider recently started charging us for additional visits, which was unexpected. In response, we're seeking donations. Depending on the situation, we may explore different monetization options for our Community and Expert Contributors. It's crucial to provide more returns for their expertise and offer more Expert Validated Answers or AI Validated Answers. Learn more about our hosting issue here.

The value of GL_MAX_TEXTURE_UNITS is 4 for GeForce FX and GeForce 6 Series GPUs. Why is that, since those GPUs have 16 texture units?

FX GeForce GPUs SERIES Texture value
0
Posted

The value of GL_MAX_TEXTURE_UNITS is 4 for GeForce FX and GeForce 6 Series GPUs. Why is that, since those GPUs have 16 texture units?

0

GL_MAX_TEXTURE_UNITS refers to the number of conventional texture units as designed by the old GL_ARB_multitexture extension for which texture coordinate sets and texture image units have to correspond. Now, it doesn’t make sense to carry on with this design choice when, as it is the case with the GeForce FX and GeForce 6800 families, the number of texture coordinate sets and the number of texture image units differs, both of them are more than 4, and you can arbitrarily use any texture coordinate to sample any texture image. So, we have intentionally chosen not to further aggrandize conventional texturing with more texture units and have programmers use the GL_ARB_fragment_program and GL_NV_fragment_program extensions when they need to work with more than 4 texture units. Fragment programs are far more general, flexible, efficient, and forward-looking.

Related Questions

What is your question?

*Sadly, we had to bring back ads too. Hopefully more targeted.

Experts123