you are limited to 8 texture object and 8 texture coordinates system in GX memory, that's right
a texture object hold a pointer to texture data, texture type, texture size, etc
texture coordinates are similar to the openGL concept, this defines how to draw the texture on your scene
when you load a texture object (GX_LoadTexObj), you specify an index (from GX_TEXMAP0 to GX_TEXMAP7)
also, you need to configure the TEV stages to do multitexturing, using GX_SetTevOrder function which also tell what texture mapping and texture coordinate (from GX_TEXCOORD0 to GX_TEXCOORD7) you are using... I don't really know how to use that function and all the TEV stages though, and I don't know many people using more than the first TEV stage (the HBC uses it I think)
I think that GX_SetNumTexGens set the number of texture coordinate systems you are using (max is 8 also)
I'm not sure what you are looking for but you could also ONLY use GX_TEXCOORD0 and GX_TEXMAP0 and simply reinitialize a new texture object everytime you need a new texture (GX_InitTexObj initialize a texture object and associate it to a specific texture data in main memory)
technically, you are not "really" limited to 8 textures since textures are stored in external memory but it's less efficient that way I bet
Edited 2 time(s). Last edit at 01/20/2009 10:46AM by ekeeke.