2012-06-13 15 views
5

Cuando dibujo de un cubo con este códigoLos comportamientos extraños OpenGL en la elaboración de un cubo

glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); 
glLoadIdentity(); 
gluLookAt(
x, y, z, 
x+xp, y+yp, z+zp, 
0.0f, 1.0f, 0.0f); 
glBegin(GL_QUADS);    

glColor3f(0.0f,1.0f,0.0f);    
glVertex3f(1.0f, 1.0f,-1.0f);   
glVertex3f(-1.0f, 1.0f,-1.0f);  
glVertex3f(-1.0f, 1.0f, 1.0f);  
glVertex3f(1.0f, 1.0f, 1.0f);   

glColor3f(1.0f,0.5,0.0f);   
glVertex3f(1.0f,-1.0f, 1.0f);   
glVertex3f(-1.0f,-1.0f, 1.0f);   
glVertex3f(-1.0f,-1.0f,-1.0f);  
glVertex3f(1.0f,-1.0f,-1.0f);   

glColor3f(1.0f,0.0f,0.0f);    
glVertex3f(1.0f, 1.0f, 1.0f);   
glVertex3f(-1.0f, 1.0f, 1.0f);  
glVertex3f(-1.0f,-1.0f, 1.0f);   
glVertex3f(1.0f,-1.0f, 1.0f);   

glColor3f(1.0f,1.0f,0.0f);    
glVertex3f(1.0f,-1.0f,-1.0f);   
glVertex3f(-1.0f,-1.0f,-1.0f);   
glVertex3f(-1.0f, 1.0f,-1.0f);   
glVertex3f(1.0f, 1.0f,-1.0f);   

glColor3f(0.0f,0.0f,1.0f);    
glVertex3f(-1.0f, 1.0f, 1.0f);  
glVertex3f(-1.0f, 1.0f,-1.0f);   
glVertex3f(-1.0f,-1.0f,-1.0f);  
glVertex3f(-1.0f,-1.0f, 1.0f);   

glColor3f(1.0f,0.0f,1.0f);    
glVertex3f(1.0f, 1.0f,-1.0f);   
glVertex3f(1.0f, 1.0f, 1.0f);   
glVertex3f(1.0f,-1.0f, 1.0f);  
glVertex3f(1.0f,-1.0f,-1.0f); 
glEnd(); 

me sale un dibujo cude extraña:

img1

y

img2

Incluso sin gluLookAt() todavía termino con un dibujo extraño.

Lo extraño es que utilicé exactamente el mismo código en un proyecto Python OpenGL y no tuve problemas con él. ¿Entonces parece ser un error C?

También parece que los primeros 2 quads (verde y naranja) no se dibujan en absoluto.

+0

Acabo de resolver mi problema añadiendo: glEnable (GL_DEPTH_TEST); a mi código. –

+0

Lo haría, pero necesito más representantes para hacerlo. –

Respuesta

3

acabamos de resolver mi problema agregando:

glEnable(GL_DEPTH_TEST); 

a mi código.

+0

También funciona para mí, gracias por esto: D – Giovani

Cuestiones relacionadas