본문으로 이동
메뉴 여닫기
환경 설정 메뉴 여닫기
개인 메뉴 여닫기
로그인하지 않음
지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.

렌더링 파이프라인(Rendering Pipeline, 그래픽스 파이프라인)은 3차원 장면을 이루는 정점·도형 데이터를 단계별로 변환하고 처리해 화면의 2차원 픽셀 이미지로 만들어 내는 일련의 처리 과정이다.

3D 그래픽은 물체를 삼각형(폴리곤)의 꼭짓점 좌표로 표현한다. 이 좌표를 카메라 시점에서 본 화면 좌표로 바꾸고, 삼각형이 덮는 픽셀을 찾아, 픽셀마다 빛과 재질을 계산해 색을 정해야 한 장의 이미지가 나온다. 이 일을 앞 단계의 출력이 다음 단계의 입력이 되는 파이프라인으로 나누면, 여러 정점과 픽셀을 각 단계에서 동시에 처리할 수 있다. GPU 는 바로 이 파이프라인을 대규모 병렬로 돌리도록 만들어진 프로세서다. 초당 수십~수백 장의 프레임을 만들어야 하는 게임·시뮬레이션·웹 3D 가 모두 이 구조 위에서 동작한다.

단계 처리 위치 하는 일
1. 응용 단계 (Application) CPU 장면 구성, 입력 처리, 충돌·물리 계산, 보이지 않는 물체 걸러 내기(컬링). 그릴 정점·텍스처·변환 행렬을 GPU 에 넘기는 그리기 호출(draw call)을 만든다
2. 기하 처리 (Geometry Processing) GPU 정점 셰이더가 정점마다 모델 → 월드 → 뷰(카메라) → 투영 변환을 한다. 화면 밖 부분을 잘라 내고(클리핑), 원근 나눗셈과 뷰포트 변환으로 화면 좌표를 얻는다. 필요하면 테셀레이션·지오메트리 셰이더가 정점을 늘리거나 새 도형을 만든다
3. 래스터화 (Rasterization) GPU 고정 기능 정점을 삼각형으로 조립하고(primitive assembly), 삼각형이 덮는 픽셀 후보(프래그먼트)를 찾아 깊이·텍스처 좌표·색을 보간한다. 뒷면을 버리는 후면 컬링도 여기서 한다
4. 프래그먼트 처리 (Pixel Processing) GPU 프래그먼트(픽셀) 셰이더가 프래그먼트마다 텍스처를 읽고(텍스처 매핑) 조명·그림자·재질을 계산해 색을 정한다
5. 출력 병합 (Output Merger) GPU 고정 기능 깊이 테스트(Z-버퍼)로 앞에 가려진 프래그먼트를 버리고, 스텐실 테스트와 알파 블렌딩(반투명 합성)을 거쳐 프레임 버퍼에 쓴다. 완성된 프레임 버퍼를 화면에 내보낸다(더블 버퍼링)

고정 기능과 프로그래머블 파이프라인

편집 원본 편집
구분 고정 기능 파이프라인 프로그래머블 파이프라인
시기 2000년 무렵까지(OpenGL 1.x, Direct3D 7) Direct3D 8·OpenGL 2.0 이후, 지금의 표준
변환·조명 하드웨어에 정해진 공식(T&L)만 쓴다 개발자가 셰이더 프로그램(HLSL, GLSL)으로 직접 짠다
표현력 정해진 조명 모델·효과뿐 물리 기반 렌더링, 후처리 효과 등 자유롭다
하드웨어 단계마다 전용 회로 정점·픽셀을 같은 연산 유닛이 처리하는 통합 셰이더 구조(2006년 이후)
  • 지금의 API(Direct3D 12, Vulkan, Metal, WebGPU)는 파이프라인 상태를 미리 묶은 객체로 만들고, 그래픽과 상관없는 계산은 컴퓨트 셰이더로 돌린다. 이 범용 계산 능력이 GPU 를 딥 러닝 가속기로 쓰게 된 출발점이다

렌더링 방식 비교

편집 원본 편집
구분 래스터화 기반 렌더링 레이 트레이싱
원리 물체(삼각형)를 화면에 투영해 덮는 픽셀을 칠한다 화면의 픽셀마다 광선을 쏘아 물체와의 교차·반사·굴절을 거슬러 추적한다
속도 빠르다. 실시간 렌더링의 기본 계산량이 많다. 전용 하드웨어(RT 코어)와 노이즈 제거로 실시간에 쓰기 시작했다
품질 그림자·반사는 근사 기법(섀도 맵, 화면 공간 반사)으로 흉내 낸다 그림자·반사·굴절·전역 조명이 물리적으로 정확하다
쓰임 게임, UI, 웹 3D 영화 VFX, 건축 시각화, 최신 게임의 하이브리드 렌더링
  • 포워드 렌더링은 물체마다 모든 조명을 계산하고, 지연(deferred) 렌더링은 먼저 위치·법선·재질을 G-버퍼에 기록한 뒤 조명을 화면 단위로 한 번에 계산해 조명이 많은 장면에 유리하다
  • 그리기 호출 수 : CPU 가 GPU 에 명령을 넘기는 횟수가 많으면 응용 단계가 병목이 된다. 인스턴싱·배칭으로 줄인다
  • 정점 처리량 : 폴리곤 수. 멀리 있는 물체는 단순한 모델로 바꾸는 LOD(Level of Detail)를 쓴다
  • 필 레이트 : 픽셀 셰이더가 처리하는 프래그먼트 수. 해상도와 겹쳐 그리기(overdraw)에 비례한다
  • 메모리 대역폭 : 텍스처·프레임 버퍼 읽기·쓰기. 텍스처 압축과 밉맵으로 줄인다
  • 계단 현상은 안티앨리어싱으로 줄인다