그래픽스 파이프라인

Ahn9807 (토론 | 기여)님의 2023년 4월 5일 (수) 10:26 판 (새 문서: 분류: 그래픽스 파이프라인 == 개요 == 그래픽스 파이프라인이란 래스터 그래픽스에서 그래픽을 정점으로 구현된 3차원 오브젝트에서 화면에 출력되는 2D 픽셀로 변환하기 까지의 전과정을 통합하는 파이프라인을 칭한다. == 출력과 결과물 == 대부분 입력은 primitive라 불리는 삼각형의 배열과 그 삼각형의 성질들을 나타내는 값들이 주어지고 출력은 화면 각...)
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)


개요

그래픽스 파이프라인이란 래스터 그래픽스에서 그래픽을 정점으로 구현된 3차원 오브젝트에서 화면에 출력되는 2D 픽셀로 변환하기 까지의 전과정을 통합하는 파이프라인을 칭한다.

출력과 결과물

대부분 입력은 primitive라 불리는 삼각형의 배열과 그 삼각형의 성질들을 나타내는 값들이 주어지고 출력은 화면 각각 픽셀에 대응하는 RGB값들이 주어진다.

파이프라인

  1. Modeling Transformation: 오브젝트를 적당한 위치로 변환하는 과정이다. 오브젝트는 물체 뿐만 아니라 광원, 카메라도 포함한다.
  2. Illumination: 광원을 설정하여 빛 효과를 주는 것이다. 물체의 머테리얼(Material)을 이용한다.
  3. Viewing Transformation: 카메라위치를 원점으로 하는 좌표계로 변환하는 과정이다. World space 에서 Eye space (camera space)로 전환하는 과정.
  4. Clipping: 카메라가 현재 담고있는 장면 바깥의 물체를 날려버리는 과정이다.
  5. Projection Transformation: 3D공간에서 2D공간으로 변환하는 과정이다.
  6. Viewport Transformation: Canonical view volume 에서 Screen space로 변환하는 과정이다.
  7. Rasterization: 오브젝트를 레스터화하여 픽셀들로 표현하는 과정이다.
  8. Display: 픽셀들을 화면에 출력하는 과정이다.

그래픽 공간

그래픽 공간.png
  1. Object space: 선택하고 있는 물체가 원점이 되는 공간
  2. World space: 물체들을 포함하는 월드 좌표계가 원점이 되는 공간
  3. Camera space: 카메라가 원점이 되는 공간
  4. Canonical view volume: normalized 된 단위 공간.
  5. Screen space: 화면에 출력하기 위한 마지막 단계

한 좌표계 에서 다른 좌표계로 변환하기

행렬 곱을 이용하면 된다. 예를 들어 월드 공간에서 스크린 공간으로 이동하기 위해서는 [math] M = M_{viewport}M_{ortho}M_{viewing} [/math]를 적용시키면 된다.