OpenGL® 카메라 란 무엇입니까?
"OpenGL® 카메라"는 Open Graphics Library® (OpenGL®) 장면 내에서 뷰어의 가상 위치에 주어진 이름입니다. 장면 내에서 시청자의 위치에 의해 정의 된 다음 시청자가보고있는 위치 또는 방향으로 정의됩니다. OpenGL® 장면에서 카메라의 위치는 디스플레이 장치에 어떤 장면의 일부를 렌더링 할 것인지와 각도를 결정합니다. 두 개의 행렬은 OpenGL® 카메라를 설명하는 데 사용됩니다 : ModelView 행렬 및 프로젝션 매트릭스는 각각 카메라의 위치와 각각 보이는 객체가 렌더링되는 방식을 설명합니다. 카메라는 장면 내에서 다른 영역을 보여 주거나 움직임을 시뮬레이션하기 위해 카메라를 이동할 수 있지만, 많은 경우 카메라 대신 장면에서 객체를 이동하는 것이 더 쉽거나 효율적이거나 더 효율적입니다.
OpenGL®을 학습 할 때 일부 프로그래머는 OpenGL® 카메라의 비교적 추상적 특성을 이해하는 데 어려움을 겪고 있습니다. 이것은 대부분 BEC입니다일부 변환 및 기타 기능은 표준 OpenGL® 오브젝트에서와 같은 카메라에서 동일한 방식으로 작동하지 않습니다. 또한 OpenGL® 카메라를 사용한 복잡한 작업에는 일반적으로 Matrix Math의 숙련도와 OpenGL® 변환 파이프 라인에 대한 이해가 필요합니다. OpenGL® 라이브러리 지원에는 몇 가지 편의 기능이 있지만보다 대화 형 애플리케이션에서 지원 툴킷에만 의존하는 것은 어려울 수 있습니다.
OpenGL® 카메라의 위치는 ModelView 행렬을 사용하여 정의됩니다. 카메라는 장면 내에 위치하여 모든 축을 따라 번역 또는 회전 할 수 있습니다. 많은 응용 분야, 특히 소수의 객체 만 포함하는 대부분의 응용 프로그램에서 동작의 모양을 제공하기 위해 장면 내의 객체에 역 변환을 적용하는 것이 더 쉬울 수 있습니다. 본질적으로, 전체 장면은 통계를 중심으로 움직입니다이 경우 IC 카메라. 더 큰 장면의 경우 파이프 라인 및 매트릭스 수학의 복잡성을 처리하여 카메라를 자유롭게 이동하여 장면을 정적으로 남겨 두는 것이 더 쉬울 수 있습니다.
.OpenGL® 카메라의 속성은 투영 행렬에 의해 제어됩니다. 카메라 유추를 사용하기 위해 투영 행렬은 사용되는 렌즈 유형으로 생각할 수 있습니다. 투영 행렬은 관점 조정이없는 직교 예측을 만들기 위해 자주 수정되며, 객체의 크기를 결정할 때 거리를 설명하는 관점 투영. 어류 렌즈, 초점 거리 또는 다른 종횡비와 같은 다른 효과는 모두 투영 행렬을 사용하여 설정할 수 있습니다.