2014-02-18 8 views
0

:gluLookAt는 glRotate/glTranslate/glScale에 영향을 미칩니 까? 내가 다음 코드를 한

glMatrixMode(GL_MODELVIEW); 
    glLoadIdentity(); 
    gluLookAt (0.0, 0.0, 10.0, 0.0, 0.0, 0.0, 0.0, 0.1, 20.0); 
    glRotatef ((GLfloat) 45, 0.0, 1.0, 0.0); 
    glRectf(-1,-1,1,1); 

사각형은 y 축 중심으로 회전됩니다. 내 결과가 보여 주듯이, 그것은 여전히 ​​내 창문의 중앙에있다. 하지만 왜?

제가 알고 있듯이 gluLookAt MODELVIEW 행렬이 수정되어 내부에서 glTranslate에 대한 호출을 실행하므로 위의 glRotatef 호출과 정확히 일치합니까? 회전 반경이 10이 아닌 이유는 무엇입니까? (10은 gluLookAt에 전달 된 세 번째 매개 변수입니다.)

+0

가능한 중복 [어떻게 gluLookAt 작동합니까?] (http://stackoverflow.com/questions/13166135/how-does-glulookat-work) – Kromster

+0

감사합니다. – suitianshi

답변

0

코드를 보았을 때 내 객체가 자기 회전 할 수없는 이유를 찾고있었습니다. 제 코드에서는 glRotatefgluLookAt 앞에 두었습니다. 이것은 코드와 유일한 차이점입니다. 주문을 변경하려고 시도하고 자동 회전하기 시작했습니다. 코드에서 두 함수의 순서를 변경하고 그 모습을 확인하십시오. 나는 그 이유를 정말로 모른다. 희망을 누군가 그것을 설명 할 수 있습니다.