2011-11-17 2 views
2

글쎄, 그건 다른 폭과 높이로 미로를 그릴 수 없다는 것입니다. 나는 그것들을 단위로 그리는 것이고, 나의 질문은 어떻게하면 평면 안에서 볼 수있는 차원을 단위로 얻을 수 있는지를 알 수 있다는 것입니다. 스크린 내부에서 나는 완전히 볼 수있을 정도로 미로를 그려야 할 것입니다. 원근감을보기 위해 "gluperties (45.0f, (GLfloat) width/(GLfloat) height, 1.0f, 100.0f);"비행기 크기를 단위로 알 수있는 방법은 무엇입니까?

perspective

I 가까운 평면 치수 (폭 및 높이)는 OpenGL 단위 또는 원거리 평면 또는 그 평면 사이의 평면을 얻는 방법을 예를 들어. 완전히 볼 수있는 무언가를 그림으로 그리려면 OpenGL 단위로 평면 치수를 알아야합니까? 아니면 다른 방법이 있습니까? h_near = 2*near*tan(fovy/2) 멀리에 대해 동일합니다 :

+0

상황을 나타내는 그림을 첨부하십시오. 더 자세한 내용을 보지 않고도 질문에 대답하기는 어렵습니다. – Kromster

+0

"plaine"은 "비행기"의 오타가 되었습니까? 아니면 전에 만난 적이없는 기술 용어입니까? –

+0

독일에서는 "Dreisatz"라고 부릅니다. – knivil

답변

4

삼각법의 비트가 당신에게 그렇게 말할 것이다 h_far = 2*far*tan(fovy/2)

그런 비율이 당신에게 폭을 제공 할 것입니다.

"증명"의 경우,보기의 선, 렌더링면의 수직 및 뒤쪽에 의해 형성된 직각 삼각형을 고려하십시오. 시야의 길이는 near 또는 far (의존)이며, 눈 위치의 각도는 fovy/2 (즉, 시야 각의 절반)이고 평면의 수직은 h_near/2 또는 h_far/2입니다. 평면. 그런 다음 직각 삼각형의 각의 접선은 가까운면이 나눈 길이와 같습니다.

+0

예, 감사합니다. – Jaak

관련 문제