Game Dev그래픽스와 렌더링

렌더링 파이프라인 기본

점·선·면 같은 기하 용어부터 vertex, rasterization, fragment, depth/blend까지 real-time rendering pipeline의 큰 흐름을 정리합니다.

마지막 수정 2026년 3월 22일

기본 패턴

text
vertex
  -> primitive assembly
  -> rasterization
  -> fragment
  -> depth / blend

설명

  • 렌더링 파이프라인은 "모델 데이터를 어떻게 화면의 픽셀로 바꾸는가"의 큰 흐름입니다. 점(point), 선(line), 면(face), 폴리곤(polygon) 같은 기하 표현이 vertex 처리와 조립 과정을 거쳐 최종 이미지로 바뀝니다.
  • 초반 학습에서는 fixed-function pipeline과 programmable pipeline을 함께 구분해 두는 편이 좋습니다. 과거에는 많은 단계가 고정되어 있었지만, modern graphics에서는 vertex/fragment 같은 단계에서 shader로 제어 가능한 범위가 커졌습니다.
  • 그래도 모든 단계가 shader로만 설명되지는 않습니다. primitive assembly, clipping, rasterization, depth/blend처럼 상태와 파이프라인 규칙이 강하게 작동하는 구간이 있으므로, 문제를 볼 때 "셰이더 버그인가, render state 문제인가"를 나누는 습관이 중요합니다.
  • 이 흐름을 알면 그래픽 버그를 더 잘 분리할 수 있습니다. 모델이 뒤집혀 보이면 winding/culling을, 반투명이 이상하면 blend 순서를, 물체가 가려지지 않으면 depth test를, geometry가 아예 사라지면 clip space나 near/far plane을 먼저 의심할 수 있습니다.
  • 또한 real-time rasterization pipeline과 ray tracing pipeline은 철학이 다릅니다. 오늘날 게임 엔진은 둘을 섞어 쓰기도 하지만, 기본 mental model은 여전히 rasterization 흐름 위에서 출발하는 경우가 많습니다.
  • 이 카드는 API 사용법 카드라기보다, 엔진 디버깅에서 "지금 문제는 geometry 단계인가, fragment 단계인가, depth/blend 단계인가"를 구분하는 기준 카드에 가깝습니다.

빠른 정리

단계역할
geometry terms점, 선, 면, 폴리곤처럼 기본 표현 단위를 이해한다
vertex processing정점 위치와 속성을 처리한다
primitive assembly점·선·삼각형을 구성한다
rasterization화면의 fragment 후보를 만든다
fragment stage픽셀 후보의 색과 속성을 계산한다
depth / blend최종적으로 보일지, 어떻게 섞일지 결정한다

주의할 점

파이프라인을 이해할 때는 API 이름보다 데이터 흐름을 먼저 잡는 편이 좋습니다. "이 데이터가 언제 정점이고 언제 픽셀 후보가 되는가"를 이해하면, 셰이더와 material과 render state의 역할이 훨씬 명확해집니다.

참고 링크

2 sources