Scientia Conditorium
레이 트레이싱 공부#001 - Ray Tracing in One Weekend 본문
레이 트레이싱 공부 - Ray Tracing in One Weekend
원본 : https://raytracing.github.io/books/RayTracingInOneWeekend.html

이 포스팅은 원본 Ray Tracing in One Weekend 글을 나름대로 번역하고 정리한 글입니다. 원본 글을 그대로 번역하지 않으니 원본 내용이 궁금하신 분들은 최상단 링크를 통해 보시면 되겠습니다. 먼저 레이트레이싱이 무엇인지 부터 살펴보고 넘어가겠습니다.
Ray Tracing
Ray
n. 광선, 선, 빛살
Tracing
n. 투사, 추적기, 추적법
v (Trace). 추적하다, (추적하여)찾아내다
영문 해석 그대로 광선 추적기, 즉 빛의 경로를 추적하는 것을 뜻합니다. 다시 말하면 컴퓨터 그래픽스 기술에서 조명 시뮬레이션입니다. 컴퓨터 그래픽스 기술에서 일반적으로 그림자나 명암을 표현하는 것은 그냥 그럴듯하게 나타냅니다. 무슨 말이냐면 마치 빛이 어느 지점에 있어서 그림자가 이렇게 생길거다 라고 가정하고 렌더링 합니다. 물론 최근에는 아닌 부분이 더 많습니다. 그러면 레이트레이싱이 뭐가 더 좋으냐면 더욱 사실적입니다. 그림자가 이렇게 생길거다라고 가정하는 것이 아니라 진짜로 빛을 쏴서 그림자나 명암을 표현합니다. 따라서 레이트레이싱 기술을 제대로 구현하면 거울, 유리, 강, 물 웅덩이, 금속 광택 등등 여러 표면의 미묘한 반사까지 사실적으로 표현할 수 있습니다.
다만 빛의 경로를 추적해서 계산해야 하기 때문에 어마어마한 연산량이 필요합니다. 그렇기 때문에 이를 실시간 렌더링을 하려면 CPU와 GPU가 받쳐주어야 합니다. 하지만 여기서는 레이트레이싱 구현 방법에 대해 공부할 볼 것이기 때문에 하드웨어 성능은 중요하지 않습니다. 그럼 시작해보죠
1. 이미지 출력 - PPM 이미지 형식
PPM 이미지란 Portable Pixmap Format의 약자로 텍스트 기반의 간단한 비트맵 이미지 파일 형식입니다. 강좌에서 이 파일 포맷을 선택한 이유는 이미지 파일 형식이 너무 많아서라고 합니다. 어쨌든 우리는 레이트레이싱 작업 결과물을 눈으로 봐야합니다.
계속 작성 중
결론
'프로그래밍 > 컴퓨터 그래픽스' 카테고리의 다른 글
| [정리] 리얼 타임 렌더링(Real-Time Rendering, 4/e) 3장 - 그래픽 처리 장치 (0) | 2025.11.05 |
|---|---|
| [정리] 리얼 타임 렌더링(Real-Time Rendering, 4/e) 2장 - 그래픽 렌더링 파이프라인 (0) | 2025.11.02 |
| [OpenGL 009] Visual Studio 2022에서 GLSL 문법 확인 및 구문 강조 (0) | 2025.02.18 |
| [OpenGL 008] glfw 키 2개 입력 방법 및 glfwSwapInterval (0) | 2025.02.15 |
| [OpenGL 007] 쉐이더 파일 생성 및 프로그램 수정 (0) | 2025.02.15 |
