래스터라이제이션

Rasterisation
래스터 그래픽 이미지

래스터라이제이션(또는 래스터라이제이션)은 벡터 그래픽 형식(쉐이프)으로 기술된 이미지를 가져와서 래스터 이미지(화소, 점 또는 선 시리즈)로 변환하는 작업이다. 이 작업은 함께 표시되면 형상을 통해 표현된 이미지를 생성한다.[1][2]래스터화된 이미지는 컴퓨터 디스플레이, 비디오 디스플레이 또는 프린터에 표시되거나 비트맵 파일 형식으로 저장될 수 있다.래스터라이징(rasterization)은 3D 모델을 그리는 기법이나 폴리곤(polygon), 라인 세그먼트(line segment)와 같은 2D 렌더링 원형을 래스터화 형식으로 변환하는 기법을 가리킬 수 있다.

이 용어는 독일 라스터('프레임워크, 스키마')에서 라틴어 라스트룸인 "스크래퍼, 레이크"에서 유래되었다.[3][4]

2D 이미지

선 원시 요소

브레센함의 선 알고리즘은 선을 렌더링하는 데 사용되는 알고리즘의 예다.

원 원추형

중간점 알고리즘과 같은 알고리즘은 픽셀화된 캔버스에 원을 렌더링하는 데 사용된다.

3D 영상

래스터라이징은 대표적인 3D 모델 렌더링 기법 중 하나이다.레이트레이싱과 같은 다른 렌더링 기법과 비교해 래스터레이션은 매우 빨라서 대부분의 실시간 3D 엔진에서 사용된다.그러나 래스터라이징은 단순히 장면 기하학에서 픽셀까지의 매핑을 계산하는 과정이며, 그러한 픽셀의 색상을 계산하는 특별한 방법을 규정하지 않는다.각 픽셀의 특정 색상은 픽셀 셰이더(현대 GPU에서는 완전히 프로그래밍할 수 있다)에 의해 할당된다.음영 처리에는 가벼운 위치, 근사치 또는 순수 예술적 의도 같은 물리적 영향을 고려할 수 있다.

컴퓨터 화면에 표시하기 위해 3D 모델을 2D 평면에 래스터링하는 과정("화면 공간")은 그래픽 파이프라인 내의 고정 기능(프로그래밍 불가능한) 하드웨어에 의해 수행되는 경우가 많다.렌더링 시[clarification needed] 사용하는 래스터라이징 기법을 수정할 동기가 없고 특수 목적 시스템이 고효율성을 허용하기 때문이다.

삼각 래스터라이징

왼쪽 상단 규칙을 사용하여 삼각형 래스터라이징

디지털 3D 모델의 일반적인 표현은 다각형이다.래스터라이징 전 개별 폴리곤은 삼각형으로 분해되기 때문에 3D 래스터라이징에서 풀어야 할 대표적인 문제는 삼각형의 래스터라이징이다.삼각 래스터화 알고리즘에서 일반적으로 요구되는 속성은 인접한 두 삼각형(즉, 가장자리를 공유하는 삼각형)을 래스터화하는 것이다.

  1. 삼각형 사이에 구멍(비래스터라이징 픽셀)을 남기지 않기 때문에 래스터라이징된 영역이 (주변 삼각형의 표면과 마찬가지로) 완전히 채워진다.그리고
  2. 화소는 두 번 이상 래스터화되지 않는다. 즉 래스터화 된 삼각형이 겹치지 않는다.삼각형이 래스터화되는 순서에 따라 결과가 달라지지 않도록 하기 위해서다.픽셀을 너무 많이 그리면 덮어쓸 수 있는 픽셀에 컴퓨팅 파워가 낭비될 수 있다.

이는 위의 조건을 보증하기 위한 래스터라이제이션 규칙을 제정하는 것으로 이어진다.그러한 규칙의 한 집합을 상단 왼쪽 규칙이라고 하는데, 이 규칙에는 화소가 다음과 같은 경우에만 래스터화 된다고 명시되어 있다.

  1. 그것의 중심은 완전히 삼각형 안에 있다.아니면
  2. 그것의 중심은 정확히 상단 또는 왼쪽 가장자리인 삼각형 가장자리(또는 모서리의 경우 모든 모서리)에 있다.

상단 가장자리는 정확히 수평이고 다른 가장자리 위에 놓여 있는 가장자리, 왼쪽 가장자리는 삼각형의 왼쪽에 있는 수평이 아닌 가장자리다.

이 규칙은 예를 들어 Direct3D[5]많은 OpenGL 구현에 의해 구현된다(사양이 이를 정의하지 않고 일관된 규칙만[6] 요구함).

품질

픽셀(왼쪽) 대 서브픽셀(오른쪽) 정밀도

래스터화의 품질은 안티앨리어싱으로 개선할 수 있으며, 이것은 "매끄러운" 가장자리를 만들어낸다.서브픽셀 정밀도는 픽셀 그리드보다 미세한 스케일의 위치를 고려하는 방식으로 원시시대의 엔드포인트가 동일한 픽셀 좌표로 떨어져도 다른 결과를 낼 수 있어 보다 부드러운 이동 애니메이션을 연출할 수 있다.플레이스테이션 1과 같이 단순하거나 오래된 하드웨어는 3D 래스터레이션에서 하위 픽셀 정밀도가 부족했다.[7]

참고 항목

참조

  1. ^ Michael F. Worboys (30 October 1995). GIS: A Computer Science Perspective. CRC Press. pp. 232–. ISBN 978-0-7484-0065-2.
  2. ^ Kang-Tsung Chang (27 August 2007). Programming ArcObjects with VBA: A Task-Oriented Approach, Second Edition. CRC Press. pp. 91–. ISBN 978-1-4200-0918-7.
  3. ^ Harper, Douglas. "raster". Online Etymology Dictionary.
  4. ^ 라스트럼찰튼 T.루이스와 찰스 쇼트.페르세우스 프로젝트에 관한 라틴어 사전.
  5. ^ "Rasterization Rules (Direct3D 9)". Microsoft Docs. Retrieved 19 April 2020.
  6. ^ OpenGL 4.6 (PDF). p. 478.
  7. ^ "PlayStation rasterization issues". Libretro. Retrieved 19 April 2020.

외부 링크