Rasterization — 정의, 단계 및 작동 원리

저자: IT Sectr 게시일: 2026-06-11 읽는 시간: 10 분

Rasterization(래스터화)은 3차원 프리미티브(삼각형, 선, 점)의 벡터 설명을 화면에 표시하기 위한 픽셀(프래그먼트) 집합으로 변환하는 프로세스입니다. Khronos Group, 2025에 따르면, 래스터화는 그래픽 파이프라인의 자동(비프로그래밍 가능) 단계로, Vertex Shader와 Fragment Shader 사이에 위치합니다. Rasterization은 화면의 어떤 픽셀이 어떤 삼각형에 속하는지 결정하고 각 프래그먼트에 대한 보간된 속성을 계산합니다.

핵심 사항

  • Rasterization — 벡터 프리미티브를 래스터 이미지(픽셀)로 변환.
  • Scanline conversion — 삼각형에 의한 픽셀 적용 범위를 결정하는 기본 알고리즘.
  • 속성 보간 — 각 프래그먼트에 대한 색상, 텍스처 좌표 및 법선 계산.
  • MSAA — 멀티샘플링, 래스터화 시 톱니 모서리(에일리어싱)를 부드럽게 처리.
  • 성능 래스터화의 성능은 삼각형 수와 화면 해상도에 따라 달라집니다.

래스터화란?

Rasterization은 기하학적 프리미티브(삼각형, 선)를 Fragment Shader에서 추가 처리하기 위한 프래그먼트 집합으로 변환하는 그래픽 파이프라인의 단계입니다. 입력 데이터는 화면 좌표의 삼각형 꼭짓점과 해당 속성(색상, 법선, UV)입니다. 출력은 보간된 속성이 있는 프래그먼트 집합입니다.

프로그래밍 가능한 셰이더(Vertex Shader 및 Fragment Shader)와 달리 래스터화는 고정(비프로그래밍 가능) 단계입니다. 개발자는 래스터화 알고리즘을 변경할 수 없지만 매개변수(컬링 모드, 선 두께, 폴리곤 오프셋, 멀티샘플링)를 제어할 수 있습니다.

실시간 그래픽에서 래스터화의 역할

거의 모든 최신 실시간 그래픽 — 게임, UI, AR/VR — 은 래스터화를 사용합니다. 이것은 가장 성능이 뛰어난 렌더링 방법으로, 60 FPS에서 프레임당 수백만 개의 삼각형을 처리할 수 있습니다. GPU 래스터라이저는 특수 ROP(렌더 출력 장치) 블록을 통해 동시에 수천 개의 삼각형을 병렬 처리하도록 최적화되어 있습니다.

래스터화의 작동 방식

삼각형 래스터화는 Vertex Shader가 꼭짓점을 화면 좌표로 변환한 후 시작됩니다. GPU는 삼각형의 세 꼭짓점을 가져와 해당 삼각형 내부에 있는 화면 픽셀을 결정합니다.

삼각형 래스터화의 단계

프로세스는 세 가지 순차적 단계로 구성됩니다: 픽셀 단위의 삼각형 경계 상자 결정 — 경계 상자 내 각 픽셀의 삼각형 포함 여부 확인(에지 함수) — 각 적용 픽셀에 대한 보간 속성(무게 중심 좌표) 계산. 에지 함수는 점이 삼각형 모서리의 어느 쪽에 있는지 결정하는 선형 방정식입니다.

단계설명결과
클리핑뷰포트 경계 밖의 삼각형 자르기가시 프리미티브
뷰포트 변환화면 좌표로 변환픽셀 좌표
삼각형 설정에지 함수 및 경계 상자 계산래스터화 매개변수
프래그먼트 생성적용 범위 테스트 및 보간프래그먼트 + 속성

래스터화 알고리즘

Rasterization은 다양한 알고리즘으로 구현할 수 있으며, 각각 성능과 품질 간의 절충점이 있습니다. 최신 GPU는 여러 접근 방식을 조합하여 사용합니다.

스캔라인 알고리즘

초기 GPU용으로 개발된 클래식 래스터화 알고리즘입니다. 삼각형은 라인별(스캔라인)로 처리됩니다: 화면의 각 라인에 대해 삼각형의 진입 및 종료 지점이 결정되고 그 사이의 모든 픽셀이 채워집니다. 스캔라인 변환은 큰 삼각형에 효율적이지만 임의 모양의 삼각형에는 복잡한 로직이 필요합니다.

하프 스페이스(에지 함수) 방법

최신 GPU는 하프 스페이스 래스터화 방법을 사용합니다: 삼각형의 각 변에 대해 에지 함수가 계산됩니다 — 한쪽은 양수, 반대쪽은 음수인 선형 방정식입니다. 세 에지 함수가 모두 양수이면 픽셀이 삼각형에 속합니다. 하프 스페이스 래스터화는 쉽게 병렬화할 수 있으며 SIMD GPU 아키텍처에 적합합니다.

타일 기반 래스터화(TBR)

모바일 GPU(Qualcomm Adreno, ARM Mali)는 타일 기반 렌더링(TBR)을 사용합니다. 화면은 작은 타일(16x16 또는 32x32 픽셀)로 분할되고 각 타일에 대해 별도로 래스터화가 수행됩니다. 이렇게 하면 프레임버퍼를 빠른 로컬 메모리(타일 메모리)에 저장하여 메모리 액세스를 최소화합니다. TBR은 배터리로 작동하는 모바일 장치에 중요한 전력 소비를 줄입니다.

래스터화 vs Ray Tracing

Rasterization과 레이 트레이싱은 3D 그래픽 렌더링에 대한 두 가지 근본적으로 다른 접근 방식입니다. 래스터화는 실시간 애플리케이션에서 지배적이며, 레이 트레이싱은 오프라인 렌더링에서 사용되며 점차 실시간(RTX 호환 GPU)으로 진입하고 있습니다.

매개변수RasterizationRay Tracing
원리삼각형 → 프래그먼트광선 → 장면 교차
속도매우 빠름(수백만 삼각형/프레임)느림(수천 광선/프레임)
품질추가 기술 필요(그림자, 반사)물리적으로 정확한 그림자 및 반사
모바일 GPU표준 방법제한적 지원(A17 Pro, Snapdragon Gen 3)
전력 소비낮음높음

MSAA 및 래스터화의 안티에일리어싱

래스터화는 에일리어싱 문제를 유발합니다 — 삼각형 경계에서의 톱니 모서리(계단 현상). 이는 픽셀이 이산적이며 삼각형에 의해 부분적으로 덮일 수 없기 때문에 발생합니다. 에일리어싱을 방지하기 위해 멀티샘플링(MSAA)이 사용됩니다.

MSAA 작동 방식

MSAA(멀티샘플 안티에일리어싱)는 증가된 샘플링 속도(2x, 4x, 8x)로 래스터화를 수행합니다. 픽셀당 하나의 샘플 대신 여러 서브 샘플이 사용되며 각각 삼각형 적용 범위에 대해 테스트됩니다. MSAA 4x는 픽셀당 4개의 서브 샘플을 처리하여 렌더링 해상도를 완전히 높이지 않으면서 눈에 띄는 모서리 부드러움을 제공합니다.

FXAA 및 기타 포스트 프로세스 방법

MSAA와 달리 포스트 프로세스 안티에일리어싱 방법(FXAA, SMAA, TAA)은 최종 이미지를 분석하여 래스터화 후에 작동합니다. FXAA(고속 근사 안티에일리어싱)는 이미지 모서리를 감지하고 부드럽게 하기 위해 흐림 효과를 적용하며 MSAA보다 훨씬 빠르지만 품질이 낮습니다.

GPU에서의 래스터화 및 최적화

Rasterization은 최신 GPU에서 특수 하드웨어 블록인 ROP(렌더 출력 장치)에 의해 수행됩니다. ROP 수는 GPU가 초당 처리할 수 있는 픽셀 수인 필 레이트에 직접 영향을 미칩니다.

래스터화 성능 요소

  • 삼각형 수 — 프레임당 삼각형 수. 각 삼각형은 설정 및 에지 테스트에 오버헤드가 필요합니다.
  • 필 레이트 — ROP 블록이 초당 처리하는 픽셀 수. GPU 클록 주파수와 ROP 수에 따라 다릅니다.
  • 오버드로 — 삼각형 중첩으로 인한 동일 픽셀의 반복 래스터화. 깊이별로 객체를 정렬하여 최적화합니다.

모바일 GPU를 위한 래스터화 최적화

모바일 GPU(타일 기반 렌더링)의 중요한 요소: 얼리-Z 리젝션을 통한 오버드로 최소화, 백페이스 컬링을 사용한 보이지 않는 삼각형 제거, 다른 객체에 완전히 가려진 삼각형을 거부하는 오클루전 컬링.

자주 묻는 질문

간단히 말해 래스터화란 무엇인가요?

래스터화는 삼각형을 화면의 픽셀로 변환하는 프로세스입니다. GPU는 3차원 삼각형을 가져와 화면의 어떤 픽셀이 이를 덮는지 결정하고 Fragment Shader에 전달하여 색을 입힙니다.

래스터화와 레이 트레이싱의 차이점은 무엇인가요?

래스터화는 삼각형을 화면에 투영하고 픽셀 적용 범위를 결정합니다(매우 빠름). 레이 트레이싱은 카메라에서 광선을 발사하여 지오메트리와의 교차점을 확인합니다(물리적으로 더 정확하지만 상당히 느림).

래스터화에서 안티에일리어싱이 필요한 이유는 무엇인가요?

래스터화 중에 픽셀은 삼각형에 완전히 속하거나 그렇지 않습니다 — 따라서 톱니 모서리(에일리어싱)가 발생합니다. MSAA는 픽셀당 여러 서브 샘플을 사용하여 모서리를 부드럽게 하고, FXAA는 최종 이미지에 필터를 적용합니다.

래스터화 단계를 프로그래밍할 수 있나요?

아니요, 래스터화는 그래픽 파이프라인의 고정 단계입니다. 개발자는 알고리즘을 변경할 수 없지만 설정(컬링, 폴리곤 오프셋, 래스터화 모드(점, 선, 삼각형) 및 MSAA 매개변수)을 제어할 수 있습니다.

모바일 GPU가 타일 기반 렌더링을 사용하는 이유는 무엇인가요?

타일 기반 렌더링(TBR)은 화면을 타일로 분할하고 전역 VRAM 대신 빠른 로컬 메모리에서 처리합니다. 이렇게 하면 전력 소비와 대역폭이 획기적으로 줄어들어 배터리로 작동하는 모바일 장치에 매우 중요합니다.

요약

  • Rasterization — 화면 표시를 위한 벡터 삼각형의 래스터 프래그먼트로의 변환.
  • Half-space 방법 — 최신 GPU의 주요 래스터화 알고리즘.
  • 타일 기반 렌더링 — 모바일 GPU(Adreno, Mali)에서 사용되는 래스터화 아키텍처.
  • 에일리어싱 — 톱니 모서리 문제, MSAA, FXAA 또는 TAA를 통해 해결.
  • 필 레이트 — ROP 블록 수에 따른 주요 래스터화 성능 매개변수.
  • 오버드로 — 픽셀의 반복 래스터화, 얼리-Z 및 오클루전 컬링을 통해 최적화.
  • Ray Tracing — 성능을 희생하여 물리적으로 정확한 렌더링을 제공하는 대체 방법.

턴키 방식의 모바일 애플리케이션을 개발해 드립니다

IT Sectr는 2017년부터 스타트업과 기업을 위한 iOS 및 Android 애플리케이션을 만듭니다. 저희가 상담해 드리고 최적의 솔루션을 제안하겠습니다.

프로젝트 논의

더 읽어보기