메뉴 닫기

렌더링과 카메라의 속성들

렌더링과 카메라의 속성들

렌더링 프로세스의 주요 구성 요소를 살펴 봅니다. 태양과 같은 광원, 큐브(Cube) 또는 구(Sphere)와 같이 렌더링하려는 액터(Actor)가 있으며 월드(World)를 바라 보는 카메라(Camera)가 있습니다. 액터는 그래픽 데이터 또는 객체를 나타내고, 조명은 액터를 비추고, 카메라는 액터를 뷰 평면에 투영하여 그림을 구성합니다. 조명, 카메라 및 액터의 조합을 장면(Scene)이라 하고 렌더링 프로세스를 장면 렌더링(Scene Rendering)이라고 합니다.

빛의 광선을 방출하는 광원과 표면 속성을 가진 액터가 있습니다. 액터 표면의 모든 지점에서 빛과의 상호 작용은 복합 색상(조명, 물체 표면, 반사광 및 주변 효과의 결합 색상)을 생성합니다. 이제 장면을 렌더링하기 위해 카메라가 필요합니다. 3D 장면이 2D 이미지를 형성하기 위해 평면에 투영되는 방법을 결정하는 중요한 요소들-카메라의 위치, 방향 및 초점, 카메라 투영 방법 및 카메라 클리핑 평면의 위치-이 있습니다.



카메라 위치에서 초점까지의 벡터를 투영 방향이라고 합니다(그림에서 오른쪽으로 향하는 화살표). 카메라 이미지 평면은 초점에 위치하며 일반적으로 투영 벡터에 수직입니다. 카메라의 방향은 위치와 초점 및 카메라 View-up 벡터에 의해 제어됩니다. 투영 방법은 Actor가 이미지 평면에 매핑되는 방식을 제어합니다.

  • 직교 그래픽 투영은 병렬 매핑 프로세스입니다. 직교 투영에서 카메라로 들어오는 모든 광선은 투영 벡터와 평행합니다.
  • 원근 투영은 모든 광선이 공통 지점(즉, viewpoint 또는 투영 중심)을 통과 할 때 발생합니다. 원근 각도 또는 카메라 뷰 각도를 지정해야합니다.
  • Front 및 back 클리핑 평면은 투영 벡터와 교차하며 일반적으로 수직입니다. 클리핑 평면은 카메라에 너무 가깝거나 너무 먼 데이터를 제거하는 데 사용됩니다. 결과적으로 클리핑 평면 내의 액터 또는 액터의 일부만 볼 수 있습니다. 평면의 위치는 투영 방향을 따라 카메라의 위치에서 측정됩니다.

3D 공간을 통과하는 광선 중 일부는 카메라의 렌즈를 통과하여 이미지를 생성합니다. 카메라의 위치 및 기타 여러가지 속성에 따라 캡처 및 투사되는 광선이 결정됩니다.


카메라의 동작



[Figure 3-12] – 카메라 변경 / 초점 고정

카메라의 방위각(Azimuth)을 변경하면, View-up 벡터를 중심으로 초점과의 거리를 항상 일정하게 유지하면서, 카메라를 왼쪽 또는 오른쪽으로 회전합니다.

카메라의 고도각(Elevation)를 변경하면, 투영 방향의 외적을 중심으로 위치가 회전합니다. 이것은 카메라가 위아래로 회전하는 것에 해당합니다.

카메라를 롤링(Rolling)하기 위해, View-up 벡터를 회전합니다. 즉, 카메라의 위치, 초점은 고정한 채 카메라를 회전합니다.

[Figure 3-13] – 카메라 고정 / 초점 변경

요(Yaw)를 변경하면 카메라 위치를 중심으로 뷰에 대한 초점이 좌우로 회전합니다. 이것은 초점이 카메라 대신 이동한다는 점을 제외하면 방위각과 같습니다.

피치(Pitch)를 변경하면 카메라 위치를 중심으로 보고 투영 방향의 외적을 중심으로 초점이 회전합니다.

이 외에 Dolly와 Zoom이 있습니다. 달리(Dolly)는 카메라의 위치가 투영방향을 따라 피사체에 접근하거나 멀어지는 것을 의미합니다. 줌(Zoom)은 카메라 뷰의 각도를 변경하여 뷰 평면에 들어오는 피사체의 크기를 조절합니다. 이해를 돕기 위해 리얼 카메라에 입각해서 설명하자면, Dolly는 사진을 찍을 때 사람이 직접 앞/뒤로 움직여서 얼굴만 찍을지, 또는 전신을 찍을지 조절하는 것입니다. 그리고 Zoom은 카메라 앵글을 조절해서 사람만 찍을지, 또는 풍경을 포함하여 찍을지 조절하는 것입니다. 카메라에서 Zoom을 하게 되면 화질이 떨어지는 이유가 앵글을 줄여 작은 영역을 획득하고, 그것을 스크린 사이즈만큼 확대하기 때문입니다.

* Reference

  • VTK Textbook – chapter3

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다