2012-06-28 3 views
4

지금은 OpenGL에서 프로그램을 작성 중입니다. 나는 파일에서 복잡한 3D 수치를 렌더링하고 있습니다. 코드를 세 번 확인한 후에 모든 값이 올바르게 읽혀지고 있음을 알았습니다. 이상하게 행동하는 유일한 것은 법선입니다. 나는 이것들을 다음과 같이 드로잉합니다 :올바른 방법으로 OpenGL에서 법선을 그립니까?

 glVertex3fv(vert1); 
    glVertex3fv(vert2); 
    glVertex3fv(vert3); 


    glNormal3fv(norm1); 
    glNormal3fv(norm2); 
    glNormal3fv(norm3); 

GLFloats에서 값을 읽습니다. 나에게 옳은 길을 말하면, 적어도 내가 잘못하고있는 일을 말해줘.

답변

7

glVertex을 호출하면 정점이 완료되므로 그 전에 다른 모든 정점 상태를 설정해야합니다. 정점을 완성하기 전에 꼭지점의 법선을 설정해야합니다.

은 다음과 같아야합니다 대답에 대한

glNormal3fv(norm1); 
glVertex3fv(vert1); 

glNormal3fv(norm2); 
glVertex3fv(vert2); 

glNormal3fv(norm3); 
glVertex3fv(vert3); 
+0

감사합니다. 한 가지 더, 왜 이런 생각이 드나요? http://stackoverflow.com/questions/11229110/normals-acting-weird-in-opengl – BlueSpud

관련 문제