It looks like the key to getting shaders working with multiple texture units has to do with the texture target geometry knowing about the proper texture coordinates.  A while ago SetVertex()  was modified to set up the first 8 multitexture coordinates.  Right now only square uses this call as far as I can tell.  All of the Geos could be changed to use this function or a different SetTexCoord() one could be made to deal with the glMultiTexCoord2fARB calls.  The code would be pretty ugly if each Geo added 7 more texture calls per vertex otherwise.
<br><br>Also, I quickly added a 'texunit' message and glActiveTextureARB() call the pix_texture which allows for the use of multiple texture units in shaders without pix_multitexture.&nbsp; I don't know if this is duplicate work or goes against plan, but it seems pretty straightforward when working with shaders.
<br><br>cgc<br>