2016-10-06 4 views
0

내 카메라를 원점에서 내 모델을보기 위해 카메라를 xz 평면 둘레로 단순히 돌리려고하면 카메라가 x 축이 뒤집힌 것처럼 동작합니다.OpenGL x 축이 왜곡되어 뒤집습니다.

projectionMatrix = glm::perspective(60.0f, (float)800/(float)600, 0.1f, 1000.f); 
viewMatrix = glm::lookAt(
    glm::vec3(2.0f*sin(30.0f*(PI/180.0f)), 0, 2.0f*cos(30.0f*(PI/180.0f))), 
    glm::vec3(0, 0, 0), 
    glm::vec3(0, 1, 0) 
); 
modelMatrix = glm::scale(glm::mat4(1.0f), glm::vec3(1.5f)); 

하면 알 수 있듯이, 카메라 위치가 0도 (X = 0, Z = 2)에서 시작하고,도 30에 접근으로 카메라는 30도 마크를 우측으로 회전되어야한다. 대신 x 축은 어떤 이유로 든 거꾸로 된 것처럼 보이기 때문에 제 카메라가 오른쪽 대신 왼쪽으로 회전하고 330도에서 모델을 본 것입니다.

+0

이 매트릭스가 어떻게 적용될 것인지 완전히 명확하지 않으므로 기본적으로 어떤 것도 발생할 수 있습니다. – derhass

+0

GLM 라이브러리는 대부분의 OpenGL 응용 프로그램에서 꽤 표준입니다. 무작위로 생각하지 않습니다. S –

+0

glm을 알고 있습니다. 그러나 나는 나중에 당신이이 행렬에 어떤 일을하는지 알지 못합니다. 물건을 조이는 것은 매우 쉽습니다. 어떤 점에서 잘못된 곱셈 순서를 사용하십시오. – derhass

답변

0

30도에서 x = 1 및 z = 1.73이므로 카메라가 왼쪽으로 보입니다. X는 부정되어야합니다.

+0

미안하지만 왜 OpenGL의 RHS http://graphics.cs.williams.edu/courses/cs371/f10/G3D/에 긍정적 인 x 값이 남을까요? manual/coords.png –

관련 문제