래스터화

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

래스터화는 격자나 패턴을 의미하는 독일어 "Raster"에서 유래된 용어로, 2차원 및 3차원 이미지를 픽셀 기반의 형태로 변환하는 기술이다. 2D 이미지 래스터화는 선, 원 등을 픽셀로 표현하는 알고리즘을 사용하며, 3D 래스터화는 3D 모델을 2D 평면에 투영하여 렌더링하는 데 사용된다. 3D 래스터화는 속도가 빠르다는 장점으로 인해 실시간 3D 엔진에서 널리 사용되며, 삼각형 래스터화 알고리즘은 래스터화된 영역이 완전히 채워지고 픽셀이 중복되지 않도록 하는 규칙을 따른다. 래스터화 품질은 안티앨리어싱과 서브픽셀 정밀도를 통해 향상될 수 있으며, Mesa, SwiftShader, WARP 등 다양한 소프트웨어 래스터라이저가 존재한다.

래스터화
개요
종류컴퓨터 그래픽스
분야컴퓨터 과학
컴퓨터 그래픽스
정의
래스터화벡터 그래픽 이미지를 래스터 이미지 (픽셀 또는 도트)로 변환하는 과정
활용 분야프린터, 디스플레이 장치 등을 통해 벡터 그래픽 이미지를 표시
3D 모델을 2D 이미지로 변환
📚 더 읽어볼만한 페이지
  • 셰이딩 - 난반사
    난반사는 재료 표면 아래에서 빛이 산란되어 모든 방향으로 퍼져 나가는 현상으로, 재료 내부 구조에 의한 반복적인 반사 및 산란 때문에 발생하며 시각적 인식과 컴퓨터 그래픽스 등 다양한 분야에서 활용되고 특정 모델로 근사할 수 있다.
  • 셰이딩 - 광선 추적
    광선 추적은 빛의 경로를 시뮬레이션하여 3차원 컴퓨터 그래픽 이미지를 생성하는 렌더링 기법으로, 재귀적 광선 추적 개발과 하드웨어 가속 지원에도 불구하고 높은 계산 비용이 실시간 처리의 제약으로 남아있다.
  • 텔레비전 용어 - 페이퍼뷰
    페이퍼뷰는 케이블 TV, 위성방송, IPTV 등에서 특정 콘텐츠 시청 횟수에 따라 요금을 부과하는 방식이며, 스포츠, 영화 등 다양한 프로그램에 적용되고, 1972년 케이블 TV 시스템 도입을 통해 현재와 같은 형태가 시작되었다.
  • 텔레비전 용어 - 방송법
    방송법은 방송의 공익성 확보와 시장 경쟁 촉진의 균형을 맞추기 위한 각국의 법률 및 규정으로, 주파수 할당, 콘텐츠 심의, 공정성 확보, 공영방송 운영 등 다양한 내용을 포함하며, 디지털 전환과 새로운 플랫폼의 등장으로 인한 새로운 과제에 직면하여 각국은 방송법 개정을 통해 변화하는 미디어 환경에 적응하고 있다.
  • 3차원 컴퓨터 그래픽스 - 픽셀 셰이더
    픽셀 셰이더는 렌더링 과정에서 픽셀의 색상을 계산하여 최종 모습을 결정하며, 텍스처, 빛, 그림자 등의 시각 효과를 구현하고, 다양한 언어로 프로그래밍되며, 그래픽 카드 및 칩셋은 지원하는 버전을 가진다.
  • 3차원 컴퓨터 그래픽스 - 모션 캡처
    모션 캡처는 물체의 움직임을 디지털 데이터로 변환하는 기술로서, CG 영상 제작에 활용되며, 센서 부착 방식에서 마커리스 방식으로 발전하여 다양한 분야에 응용된다.

2. 어원

"래스터화"라는 용어는 Raster독일어에서 유래되었으며, 이는 Rastrum라틴어를 어원으로 한다.

3. 2D 이미지 래스터화

브레젠험의 선 알고리즘은 선을 래스터화하는 데 사용되는 알고리즘의 한 예이다.

3.1. 선 래스터화

브레젠험의 선 알고리즘은 선을 래스터화하는 데 사용되는 알고리즘의 한 예이다.

3.2. 원 래스터화

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

4. 3D 이미지 래스터화

래스터화는 3D 모델을 렌더링하는 일반적인 기술 중 하나이다. 광선 추적과 같은 다른 렌더링 기법에 비해 래스터화는 매우 빠르기 때문에 대부분의 실시간 3D 엔진에서 사용된다. 그러나 래스터화는 장면 기하학(scene geometry)에서 픽셀로의 매핑을 계산하는 과정일 뿐, 해당 픽셀의 색상을 계산하는 특정한 방법을 규정하지는 않는다. 각 픽셀의 특정 색상은 음영(쉐이딩, shading)에 의해 할당되며, 물리 법칙, 근사치 또는 순수한 예술적 의도에 기반할 수 있다.

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

4.1. 삼각형 래스터화

디지털 3D 모델의 일반적인 표현은 다각형 메쉬이다. 래스터화 전에 개별 다각형은 삼각형으로 분해되므로, 3D 래스터화에서 풀어야 하는 일반적인 문제는 삼각형의 래스터화다. 일반적으로 삼각형 래스터화 알고리즘에 필요한 속성은 인접한 두 삼각형(모서리를 공유하는 삼각형)의 래스터화 시 다음을 만족해야 한다.
# 삼각형 사이에 구멍(래스터화되지 않은 픽셀)을 남기지 않으므로, 래스터화된 영역이 인접한 삼각형의 표면과 동일하게 완전히 채워진다.
# 픽셀이 두 번 이상 래스터화되지 않는다. 즉, 래스터화된 삼각형이 겹치지 않는다. 이는 삼각형이 래스터화되는 순서에 따라 결과가 달라지지 않도록 하기 위한 것이다. 픽셀을 과도하게 그리면 덮어쓰게 되는 픽셀에 대한 계산 능력이 낭비될 수도 있다.
이는 위의 조건을 보장하기 위한 래스터화 규칙을 확립하는 것으로 이어진다. 이러한 규칙 집합 중 하나를 왼쪽 상단 규칙(top-left rule)이라고 하며, 다음과 같은 경우에 픽셀은 래스터화된다.
# 픽셀의 중심이 완전히 삼각형 안에 있을 경우.
# 픽셀의 중심이 정확히 삼각형 모서리(또는 여러 모서리)에 있으며, 그 모서리가 상단 또는 왼쪽 모서리 중 하나인 경우.
위쪽 모서리는 정확히 수평이면서 다른 모서리 위에 있는 모서리이고, 왼쪽 모서리는 삼각형의 왼쪽에 있는 수평이 아닌 모서리다.
이 규칙은 예를 들면 Direct3D 및 많은 OpenGL 구현에 의해 구현된다.(규격에서 정의하지 않고 일관된 규칙만 필요함).

왼쪽 상단 규칙을 이용한 삼각형의 래스터화
왼쪽 상단 규칙을 이용한 삼각형의 래스터화

5. 품질

래스터화의 품질은 "매끄러운" 모서리를 생성하는 안티앨리어싱으로 개선할 수 있다. 서브픽셀 정밀도는 픽셀 그리드보다 더 미세한 스케일의 위치를 고려하는 방법으로, 원시 도형의 끝점이 동일한 픽셀 좌표에 속하더라도 다른 결과를 생성하여 더 부드러운 움직임 애니메이션을 생성할 수 있다. 플레이스테이션 1과 같이 단순하거나 오래된 하드웨어는 3D 래스터화에서 서브픽셀 정밀도가 부족했다.

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

픽셀 정밀도 (왼쪽) vs 서브 픽셀 정밀도 (가운데) vs 안티 앨리어싱 (오른쪽)
픽셀 정밀도 (왼쪽) vs 서브 픽셀 정밀도 (가운데) vs 안티 앨리어싱 (오른쪽)

6. 소프트웨어 래스터라이저

소프트웨어 래스터라이저는 오픈 소스, 운영체제(OS) 부속, 기타 래스터라이저로 분류할 수 있다.

👆
좌우로 밀어서 보기
오픈 소스OS 부속기타

6.1. 오픈 소스 래스터라이저

* Mesa
: swrast
:
Softpipe
: LLVMpipe - Softpipe의 포크. 백엔드에 LLVM 사용.
:
OpenSWR - Intel이 개발
* SwiftShader - Google Chrome에서 사용되고 있다.
* Yeti3D

6.2. 운영체제 부속 래스터라이저

👆
좌우로 밀어서 보기
오픈 소스OS 부속기타