modelview 매트릭스 및 gluLookAt
의 사용법을 이해하고 있습니다. 즉, gluLookAt(ex,ey,ez,lx,ly,lz,ux,uy,uz)
을 선언하면 특정 지점을 직접 볼 수있는 방법을 쉽게 설정할 수 있습니다.gluLookAt 및 MODELVIEW MATRIX
내 질문은 - gluLookAt
이후 postmultiplies gluLookAt
을 호출하기 전에 ID를로드한다고 가정하고 현재 matrixmode가 modelview 인 경우 큐브를 그리면 어떻게됩니까?
그래서 이런 식으로 뭔가 : 큐브는 세계에서 렌더링
glMatrixMode(GL_PERSPECTIVE);
glLoadIdentity();
glFrustum(-5, 5, -5, 5, 15, 150);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
gluLookAt(0, 0, 16, 0, 0, 0, 0, 1, 0);
glutSolidCube(1.0);
좌표? 어떤 이유로이 경우 세계 기원에서 렌더링되며 뷰포트에서 볼 수 있습니다. 그러나 그 이유는 무엇입니까? gluLookAt
은 뷰 회전과 변환으로 modelview 행렬을 수정해야합니까? 큐브가 본질적으로 카메라로 렌더링되지 않아야합니까?
세계 좌표계에서 gluLookAt가 카메라에 대한 세계 원점을 변환 한 것처럼 이것을 해석 할 수 있습니까? 귀하의 케이스에 – geogaddi
예. 그러나 일반적으로 그것은 회전 + 번역이 될 수 있습니다. 그래서 gluLookAt는 모델 좌표 (기본적으로 세계 좌표, 즉 원점 (0,0,0)보기 dir (0,0, -1))에서 모델 좌표 (좌표계 (좌표계))를 변환 (회전 + 변환)하는 ModelViewMatrix를 만듭니다. 카메라/눈 즉 캠 위치에서의 원점, 카메라의 방향을 보았을 때) – Dirk
우수! 까다로운 일이지만, 지금은 생각합니다. – geogaddi