2013-10-16 1 views
-1

모양 :OpenGL을 : 나는의 배열을 사용하고 때 그림자가 내 큐브 모양의 비점 얼굴에서 사라진 이유는 큐브에없는 그림자

vertices[] 
indices[] 
colors[] 
normals[] 
texcoords[] 
// and draw them by 
glDrawElements(); 

을하지만 사용할 때 :

glBegin(...); 
glVertex3f(...); 
glEnd(...); 

그림자는 괜찮아. 여기 당신은 무슨 일이 일어나고 있는지의 이미지를 가지고 : IMG

내 빛 아래 설정 :

glShadeModel (GL_SMOOTH); 
glEnable(GL_LIGHTING); 
glEnable(GL_LIGHT0); 
glEnable(GL_DEPTH_TEST); 
glColorMaterial(GL_FRONT_AND_BACK, GL_AMBIENT_AND_DIFFUSE); 
glEnable(GL_COLOR_MATERIAL);   
glHint (GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST); 

GLfloat AmbientLight[] = {0.0, 0.0, 0,0, 1.0}; 
GLfloat DiffuseLight[] = {1.0, 1.0, 1,0, 1.0}; 
GLfloat SpecularLight[] = {1.0, 1.0, 1.0, 1.0}; 
GLfloat Shininess[] = { 90.0 }; 
GLfloat Emission[] = {0.0, 0.0, 0.0, 1.0}; 

glLightfv(GL_LIGHT0, GL_AMBIENT, AmbientLight); 
glLightfv(GL_LIGHT0, GL_DIFFUSE, DiffuseLight); 
glLightfv(GL_LIGHT0, GL_SPECULAR, SpecularLight); 
glMaterialfv(GL_FRONT_AND_BACK, GL_AMBIENT, AmbientLight); 
glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, DiffuseLight); 
glMaterialfv(GL_FRONT_AND_BACK, GL_SPECULAR, SpecularLight); 
glMaterialfv(GL_FRONT_AND_BACK, GL_SHININESS, Shininess); 
glMaterialfv(GL_FRONT_AND_BACK, GL_EMISSION, Emission); 
+0

에 대한 호출을 누락? 어떤 이미지도 그림자와 비슷한 것을 보여주지 않으며 하나의 큐브면과 원 모양의 오브젝트에 대해 다른 음영을 나타냅니다. –

답변

0

당신은 아마

어떤 그림자
glEnableClientState(GL_NORMAL_ARRAY);