렌더링 기술의 두 갈래, 무엇이 다르고 왜 중요한가?
게임 그래픽을 담당하는 개발자 A는 GPU 성능을 쥐어짜며 실시간 렌더링을 구현하고 있었습니다.
그런데 어느 날, 팀의 아티스트가 무심코 묻습니다.
"레이 트레이싱 쓰면 더 예쁘지 않아요? 왜 안 써요?"
개발자 A는 한숨을 쉬며 이렇게 답합니다.
"아름다움은 계산량과 반비례하거든요...."
그래서 오늘의 질문은 이것입니다.
왜 어떤 렌더링은 Rasterization을 쓰고, 어떤 렌더링은 Ray Tracing을 쓸까?
둘은 어떻게 다르고, 각각 어떤 장단점이 있을까?
이 글에서는 두 기술의 핵심 원리, 차이점, 그리고 실제 적용 사례까지 알아보겠습니다.
1. Rasterization - 화면에 삼각형을 빠르게 찍는 기술
Rasterization은 3D 공간의 정점을 화면 좌표계로 투영한 뒤, 삼각형 단위로 색상을 채워나가는 방식입니다.
즉, '모양'을 기준으로 빠르게 픽셀을 칠하는 방식입니다.

핵심 프로세스
- 모델 정점(Vertex)을 가져온다
- 뷰 변환 및 투영(Projection)을 적용한다
- 삼각형 구성 및 화면 공간으로 변환한다
- 삼각형 내부 픽셀 색칠 (Fragment Shader)
// OpenGL 기본 예시
glUseProgram(shaderProgram);
glBindVertexArray(vao);
glDrawArrays(GL_TRIANGLES, 0, 3); // 삼각형을 그린다
장점과 단점
| 장점 | 단점 |
| 매우 빠름 (GPU 최적화 완료) | 광학 효과 표현이 제한됨 |
| 코드가 단순하고 예측 가능함 | 복잡한 조명은 트릭으로 구현해야 함 |
2. Ray Tracing - 픽셀마다 광선을 쏘는 방식
Ray Tracing은 카메라에서 출발한 광선을 따라가며
카메라에서 쏜 광선은 장면 속 물체에 닿거나, 계속 진행해 화면 밖으로 사라집니다.
광선이 어떤 물체에 닿는다면, 그 표면에서 반사되거나 굴절되어 다시 다른 경로로 나아가게 되죠.
이렇게 반사되거나 굴절된 광선은 또 다른 물체에 닿거나, 결국 광원에 도달하거나,
아니면 그냥 사라질 수도 있습니다.


이 과정을 재귀적으로 반복하면서,
빛의 흐름이 어디에서 어떻게 시작되어 카메라까지 도달하는지를 역추적합니다.
결국 광원이 닿는 경로를 찾게 되면,
그 경로를 따라 들어오는 빛의 기여도(조명, 색상, 반사율 등)를 계산해 해당 픽셀의 최종 색을 결정합니다.
이처럼 “빛이 어떻게 반사되어 이곳까지 왔는가?”를 거슬러 추적하여
이미지를 만들어내는 기법이 바로 Ray Tracing입니다.

장점과 단점
| 장점 | 단점 |
| 자연스러운 그림자, 반사, 굴절 표현 가능 | 매우 높은 연산량(느림) |
| 물리 기반 조명 계산 (PBR에 최적) | 실시간 처리를 위해선 RTX 등 필요 |
3. 요즘 게임은 왜 Ray Tracing을 쓰기 시작했을까?
예전엔 Ray Tracing을 '쓸 수 없었던 기술'이었습니다.
너무 느렸거든요.
하지만 2018년, NVIDIA가 RTX 시리즈 + 하드웨어 레이 트레이싱을 도입하면서 판이 바뀌었습니다.
이후 등장한 기술이 바로 Hybrid Rendering 입니다.
Hybrid 방식: Raster + Ray의 콜라보
- 기본적인 장면 그리기: Rasterization
- 반사, 그림자, 글로벌 일루미네이션(GI): Ray Tracing
- -> 빠른 속도는 유지하고, 빛의 퀄리티는 리얼하게 가져가는 전략

대표 게임
- Cyberpunk 2077
- Minecraft RTX
- Battlefield V
- Hogwarts Legacy 등
4. 비교 요약: 언제 어떤 방식을 써야 할까?
| 항목 | Rasterization | Ray Tracing |
| 작동 방식 | 정점 -> 삼각형 -> 픽셀 | 카메라에서 광원 발사 -> 교차 확인 |
| 렌더링 속도 | 매우 빠름 | 상대적으로 느림 |
| 광확 효과 구현 | 쉐이더 기반 트릭 사용 | 자연스러운 표현 가능 |
| 주 사용 분야 | 게임, 실시간 그래픽스 | 영화, 시각화, 오프라인 렌더링 |
| 하드웨어 요구 | GPU 기본 지원 | RTX 등 특수 하드웨어 필요 |
5. 왜 둘은 철학이 다른가?
Rasterization은 빠른 속도와 예측 가능성이 우선인 철학입니다.
- "현실을 모방한다"는 것보다는, "현실처럼 보이게 하는 트릭"에 집중하며 발전해 왔습니다.
- 성능을 위해 비현실적 계산도 과감히 생략합니다.
Ray Tracing은 현실을 물리 기반으로 시뮬레이션하는 철학입니다.
- 실제 빛의 경로처럼 반사, 굴절, 그림자를 추적합니다.
- 결과는 자연스럽지만, 계산량은 필연적으로 많습니다.
현실과 비슷하게 보이게 할 것이냐?
아니면, 현실처럼 "계산"할 것이냐?
이 철학적 질문이 두 렌더링 방식의 차이입니다.
'Dev > Grapics' 카테고리의 다른 글
| Scop 구현기 2편: VAO와 VBO의 세계 (0) | 2025.04.09 |
|---|---|
| Scop 구현기 1편: 윈도우 하나 띄우는 게 뭐라고 (Object Viewer) (0) | 2025.04.09 |
| 셰이더는 그낭 함수일까? (0) | 2025.04.08 |
| OpenGL의 좌표계, 진짜로 이해하기 (1) | 2025.04.08 |
| 정점(Vertex)이란 무엇인가? - 그래픽 세계의 가장 작은 시작점 (0) | 2025.04.08 |
