Bonjour,
Voici mon problème : Je dois réaliser un mapping avec plusieurs textures de format RGB pour chaque sommets de mon mesh. J'ai également pour chaque sommet et pour chaque texture une information alpha. Ce que je fait : 1 plaquage de la première texture avec mes premières valeurs de alpha, 2 plaquer ma seconde texture avec mes secondes valeurs de alpha pour chaque sommet.

Voici le code grosso modo :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
 
glDisable(GL_BLEND);
// la premiere texture
glEnable(GL_TEXTURE_2D);
glBindTexture(GL_TEXTURE_2D,nomTexture1);
// le VOB des sommets
pglBindBufferARB(GL_ARRAY_BUFFER_ARB, bufferVerticesID);
glVertexPointer(3, GL_DOUBLE, 0 , (char *) NULL );
// le VOB des coord texture
pglBindBufferARB(GL_ARRAY_BUFFER_ARB, bufferTexturesID);
glTexCoordPointer(2, GL_DOUBLE, 0 , (char *) NULL);
//le VOB des couleur avec la valeur alpha
pglBindBufferARB(GL_ARRAY_BUFFER_ARB, bufferColorsID1);
glColorPointer(4, GL_DOUBLE, 0 , (char *) NULL);
 
glEnable(GL_BLEND);
glBlendFunc(GL_DST_COLOR, GL_ONE_MINUS_SRC_ALPHA);	
 
// la seconde texture
glEnable(GL_TEXTURE_2D);
glBindTexture(GL_TEXTURE_2D,nomTexture2);
// le VOB des sommets
pglBindBufferARB(GL_ARRAY_BUFFER_ARB, bufferVerticesID);
glVertexPointer(3, GL_DOUBLE, 0 , (char *) NULL );
// le VOB des coord texture
pglBindBufferARB(GL_ARRAY_BUFFER_ARB, bufferTexturesID);
glTexCoordPointer(2, GL_DOUBLE, 0 , (char *) NULL);
//le VOB des couleur avec la valeur alpha
pglBindBufferARB(GL_ARRAY_BUFFER_ARB, bufferColorsID2);
glColorPointer(4, GL_DOUBLE, 0 , (char *) NULL);
Ce qui est alors affiché et très sombre et je n'ai pas l'impression que le alpha présent dans bufferColorsID* soit pris en compte.
merci pour votre aide !

NB : je ne veux pas utiliser les extensions ARB pour le multitexture, ni les shaders.