2010-05-14 19 views
0

Je travaille sur la création d'un trou dans un mur à l'aide de masquage dans opengl, mon code est quit simple comme cela,Opengl: Problème avec masquage

//Draw the mask 
glEnable(GL_BLEND);       
glBlendFunc(GL_DST_COLOR,GL_ZERO); 
glBindTexture(GL_TEXTURE_2D, texture[3]); 

glBegin(GL_QUADS); 
glTexCoord2d(0,0); glVertex3f(-20,40,-20); 
glTexCoord2d(0,1);glVertex3f(-20,40,40); 
glTexCoord2d(1,1);glVertex3f(20,40,40); 
glTexCoord2d(1,0);glVertex3f(20,40,-20); 

glEnd(); 

//Draw the Texture 
glBlendFunc(GL_ONE, GL_ONE); 


glBindTexture(GL_TEXTURE_2D, texture[2]); 
glBegin(GL_QUADS); 
glTexCoord2d(0,0); glVertex3f(-20,40,-20); 
glTexCoord2d(0,1);glVertex3f(-20,40,40);  
glTexCoord2d(1,1);glVertex3f(20,40,40); 
glTexCoord2d(1,0);glVertex3f(20,40,-20); 
glEnd(); 

Le problème est, je suis arrivé le trou dans le mur correctement mais c'est semi transparent, je deviens comme une ombre noire dessus, aussi je peux voir à travers. Voici une photo pour ce que je reçois: alt text http://i43.tinypic.com/iw7ju0.jpg

des suggestions?

Répondre

0

RESOLU: D Il était un problème avec les Normales de surfaces, une fois que je mets les Normales à l'ombre noire correcte fané dehors position.Procédé.

+0

N'hésitez pas à accepter votre propre réponse! –