Voila j'affiche ma scene avec cette fonction :
void Terrain::Draw(VObject *CurrentObject)
{
int g_DetailScale = 128;
//Texture 0
glActiveTextureARB( GL_TEXTURE0_ARB );
glEnableClientState( GL_TEXTURE_COORD_ARRAY );
glEnable( GL_TEXTURE_2D );
glBindTexture( GL_TEXTURE_2D, _Texture[0] );
glTexCoordPointer( 2, GL_FLOAT, 0, CurrentObject->_TextureCoords );
//Configure le blending des 2 textures
glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_COMBINE_ARB);
glTexEnvi(GL_TEXTURE_ENV, GL_RGB_SCALE_ARB, 2);
//Texture 0 dans TU 1
glActiveTextureARB( GL_TEXTURE1_ARB );
glBindTexture( GL_TEXTURE_2D, _Texture[1] );
glEnable( GL_TEXTURE_2D );
glMatrixMode(GL_TEXTURE);
glLoadIdentity();
glScalef((float)g_DetailScale, (float)g_DetailScale, 1);
glTexCoordPointer( 2, GL_FLOAT, 0, CurrentObject->_TextureCoords );
glMatrixMode(GL_MODELVIEW);
//Affichage
glEnableClientState(GL_VERTEX_ARRAY);
glVertexPointer(3, GL_FLOAT, 0, CurrentObject->_Vertices);
glDrawArrays( GL_TRIANGLES, 0, CurrentObject->_TriangleCount*3);
//Désactive la TU 1
glEnable(GL_TEXTURE_2D);
glDisableClientState( GL_TEXTURE_COORD_ARRAY );
}
dans Texture[0] j'ai la grande texture de ma map, et dans texture[1] une petite qui sert a afficher les details.
L'ennui est que je n'arrive pas a avoir Deux echelle differente pour mes texture :(
tout est la l'echelle de la grande ou de la petite....
ya t'il une solution ?