수학·컴퓨터

빛의 궤적을 쫓다: 레이 트레이싱과 빛의 물리학

현실보다 더 현실 같은 그래픽을 만들어내는 마법. 광선의 경로를 추적하여 이미지를 생성하는 레이 트레이싱 기술의 원리.

편집부 · 2026년 9월 20일 · 읽는 데 3분

빛의 반사와 굴절을 극도로 사실적으로 표현한 레이 트레이싱 그래픽
빛의 반사와 굴절을 극도로 사실적으로 표현한 레이 트레이싱 그래픽

오늘날 최신 게임이나 할리우드 영화의 CG를 보면, 그래픽인지 실제 촬영한 사진인지 구분하기 힘들 정도로 압도적인 사실감을 자랑합니다. 이렇게 극도로 사실적인 그래픽을 만들어내는 핵심 기술이 바로 **'레이 트레이싱(Ray Tracing, 광선 추적)'**입니다.

기존 방식: 래스터화(Rasterization)의 한계

오랫동안 컴퓨터 그래픽스, 특히 실시간 게임 렌더링에서는 '래스터화' 기법을 사용해 왔습니다. 래스터화는 3D 물체들을 2D 화면에 '납작하게 투영'한 뒤에 색을 칠하는 방식입니다. 계산이 빠르고 효율적이지만, 실제 빛의 물리적인 성질을 계산하는 것이 아니라 '빛이 이렇게 비추면 이렇게 보이겠지?' 하고 근사치(가짜 그림자와 반사)를 만들어내는 방식입니다.

따라서 유리창에 비친 풍경이나, 거울이 서로 반사되는 모습, 물속에서 빛이 굴절되는 현상을 래스터화 방식으로 완벽하게 구현하기는 매우 까다롭고 부자연스럽습니다.

빛의 경로를 역추적하다

레이 트레이싱은 이름 그대로 **빛(광선, Ray)의 궤적을 추적(Tracing)**하여 화면을 그리는 기술입니다.

자연계에서는 태양이나 전구 같은 광원에서 출발한 수많은 빛의 입자가 물체에 부딪히고 반사, 굴절, 산란된 후 최종적으로 우리의 '눈(카메라)'에 들어와 이미지를 맺습니다. 하지만 현실의 수십억 개 광선을 컴퓨터로 전부 시뮬레이션하는 것은 불가능에 가깝습니다.

그래서 레이 트레이싱 알고리즘은 아주 영리한 방법을 씁니다. 바로 과정을 거꾸로 뒤집는 것입니다.

  1. 광원이 아니라 카메라(사용자의 화면 픽셀)에서부터 3D 공간 안으로 광선을 쏩니다.
  2. 이 광선이 어떤 물체에 부딪히는지 계산합니다.
  3. 물체에 부딪힌 지점에서 다시 굴절되거나 반사되는 광선을 추가로 추적합니다.
  4. 마침내 이 추적된 광선이 광원(빛)에 도달하는지 확인하고, 도달했다면 물체의 재질과 빛의 강도를 계산하여 화면 픽셀의 최종 색상을 결정합니다.

현실감의 대가: 어마어마한 연산량

이 방식은 물 표면의 일렁거림, 유리잔의 굴절, 거울에 비친 세상, 그리고 복잡한 그림자를 현실 세계의 물리 법칙과 동일하게 정확히 시뮬레이션할 수 있습니다.

단점은 단 하나, 연산량이 미친 듯이 많다는 것입니다. 하나의 화면을 그리기 위해 수백만, 수천만 개의 광선을 추적하고 복잡한 교차점 계산(선과 다각형의 수학적 교차 검사)을 수행해야 합니다. 과거에는 픽사(Pixar) 같은 영화 스튜디오에서 렌더링 팜이라는 슈퍼컴퓨터 수백 대를 동원해 한 프레임을 뽑아내는 데 몇 시간씩 걸리는 기술이었습니다.

RTX와 하드웨어 가속의 시대

하지만 최근 하드웨어의 눈부신 발전이 모든 것을 바꿨습니다. 엔비디아(NVIDIA)가 RTX 시리즈 그래픽카드를 출시하면서, GPU 내부에 레이 트레이싱 교차 계산만을 전담으로 처리하는 특수 코어(RT Core)를 탑재한 것입니다.

여기에 인공지능이 부족한 화질을 보강해 주는 딥러닝 슈퍼 샘플링(DLSS) 기술까지 결합되면서, 마침내 초당 60번씩 계산해야 하는 비디오 게임에서도 실시간 레이 트레이싱이 가능해졌습니다. 컴퓨터 그래픽스는 이제 흉내 내는 것을 넘어, 빛의 물리학을 실시간으로 시뮬레이션하는 경지에 이르렀습니다.

이어서 읽기