2012-10-12 6 views
0

나는 절두적 인 시각 시스템 뒤에있는 개념을 이해한다. 그것은 피라미드 모양이며, 물체가 중심에 가까워 질수록 마침내 잘려 나올 때까지 점점 작아집니다. 그러나, OpenGL (head up : 더 이상 사용되지 않는 기능을 사용하지 않습니다)과 같은 전망을 사용하는 경우 좌표계를 다음과 같이 설정하십시오.원근법보기를위한 좌표계 설정?

orthoExample (왼쪽, 오른쪽, 아래, 위, 가까운, 멀리);

모두 괜찮습니다.하지만 말하기에 관해서는 관점이 조금 이상합니다.

perspectiveExample (field_of_view_y, aspect, near, far);

좌표계를 다음과 같은 함수로 설정하는 방법은 무엇입니까?!? 그것은 내가 왼쪽, 오른쪽, 아래쪽, 위쪽 등을 지정하게하지 않습니다. 나는 원근감이 절두체 투영법의 변형이라고 알고 있습니다 ...

+0

사실 직각 투영만큼 쉽지는 않습니다. 나는 수학을 기억하지 않지만 GLU 라이브러리의 gluPerspective 명령을 살펴볼 수 있습니다. 투시 투영을 많이 설정하는 것을 단순화합니다. 정말로 원한다면 수학에 대한 조사를하고 여기에 게시 할 수 있습니다 (그다지 어렵지는 않습니다). –

+0

GLM - OpenGL 수학 라이브러리를 살펴볼 것을 권합니다. 그것은 모든 것들을 빌드하는 루틴을 가지고 있으며 - GLSL에 맞춰져 있습니다 (예를 들어, 비 사용되지 않는 기능들). http://glm.g-truc.net/ –

+0

제가 할 수 있으면 좋겠지 만 저는 C를 사용하고 있습니다. 유사한 라이브러리를 사용하고 있습니다. 그렇다면 비슷한 GLM 방법을 가르쳐주세요. @ ViníciusGobboA.deOliveira : 별도의 라이브러리에서 해당 기능을 사용하고 있지만 해당 명령을 통해 좌표계를 설정하는 방법을 이해하지 못합니까? 내부적으로 절두체를 사용한다는 것을 이해합니다. – Shokwav

답변

0

코드는 here이 당신에게 일을 명확하게 해줄 것입니다.

Z 축은 투영의 중심으로 간주됩니다. tan (fov_y) * 근처가 당신에게 최고 (그리고 음수, 아래)를줍니다. aspect는 너비와 높이의 비율입니다. 따라서 가로를 세로로 곱하면 오른쪽이되고 네거티브는 왼쪽이됩니다.