poor multitexture GeForceFX?

I noticed something disappointing, the GeForceFX only supports 4 textures! The SiS Xabre supports cool extensions like arb_shadow and arb_vertex_program, yet it only supports two textures! Fortunatly the Radeon 9000 supports 6 and the 9700 support 8.

Is there a trick to support more textures I’m not aware of? Lets say you want to do a cool lighting system with your GeForceFX where you had one main light and then a bunch of little lights. Maybe for a ghost in a cave (main light==sun, candles on wall==little point lights).

Texture0 could be a shadow map, t1 would be the light vector in tagent space, t2 would be the half vector in tangent space, and t3 would be the normal map. In the primary and secondary colours you would put the light values from the other seven lights in the scene. You still haven’t applied a specular or emision map for lighting or even a base texture!

The first thing you would think of is just go multipass. But you can’t if this ghost is transparent.

The Xabre with its primitive dual texture support is even worse.

Am I the only one who feels four textures is far too few? I could probably use 32 in extreme cases.

The GeForceFX exposes 8 texture coordinate interpolators and 16 image units. To use these 16 image units you need to be using fragment programs (GL_ARB_fragment_program or GL_NV_fragment_program).

See Mark Kilgard’s post ( http://www.opengl.org/discussion_boards/ubb/Forum3/HTML/009119.html ) for more information.

Originally posted by jra101:
[b]The GeForceFX exposes 8 texture coordinate interpolators and 16 image units. To use these 16 image units you need to be using fragment programs (GL_ARB_fragment_program or GL_NV_fragment_program).

See Mark Kilgard’s post ( http://www.opengl.org/discussion_boards/ubb/Forum3/HTML/009119.html ) for more information.[/b]

Thanks! It seemed too limiting to be true

Still a bit strange that they couldnt support 8 texture units without fragment programs…