icareo | J'utilise le multitexturing pour mon moteur 3D.
un pbroblème se pose : mes textures sont chargées parfaitement, sur 32 bits. ( GL_RGBA )
Seulement voila ... le blending de deux textures se passe bizzarement :
quand j'utilise glTexEnvi( GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_BLEND ); apres activation de ma texture,
tout se passe très bien niveau alpha, mais par contre, les couleurs sont comme "en négatif"...
(tu blanc apparait noir, et inversement...)
Inverser directement les couleurs de ma texture serait très handicapant pour d'autres raisons ^^ ...
Où doisje placer un glBlendFunc, et avec quels paramètres, pour que ca revienne à la normale ???
petite info : c'est du rendering par arrays, mon code ressemble donc à ca :
avec 'texs' qui est un tableau des textures GL_TEXTURE0 , GL_TEXTURE1 etc... (ou GL_TEXTURE_ARB0 , etc... comme vs voulez)
Citation :
glActiveTexture(texs[level]);
glClientActiveTexture(texs[level]);
glBindTexture(GL_TEXTURE_2D,glTex);
glEnable(GL_TEXTURE_2D);
if( level != 0 )
{
//glBlendFunc(GL_SRC_ALPHA,GL_ONE);
glTexEnvi( GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_DECAL );//GL_BLEND
}
glTexCoordPointer(2, arrTyp, 0, coordPtr);
|
|