광선 추적

정의
광선 추적(光線 追跡)은 컴퓨터 그래픽스 분야에서 빛의 경로를 물리적으로 시뮬레이션하여 이미지에 사실적인 조명, 그림자, 반사, 굴절 등을 구현하는 렌더링 기법이다. 광원의 발산된 광선을 장면 내 물체와의 상호작용을 따라 추적(tracking)함으로써 각 픽셀에 도달하는 광량을 계산한다.

개요
광선 추적은 기본적으로 “시야 광선(eye ray)”을 카메라 위치에서 화면상의 픽셀 방향으로 발사하고, 해당 광선이 물체와 교차하는 지점을 찾는다. 교차점에서 발생하는 2차 광선(반사·굴절·음영 광선 등)을 재귀적으로 추적하여 간접광까지 포함한 전체 조명 효과를 누적한다.

  • 주요 변형

    • Whitted‑style 광선 추적 – 1980년 Turner Whitted가 제안한 기본 재귀형 알고리즘으로, 반사·굴절·음영 광선을 한정된 깊이까지 추적한다.
    • 패스 트레이싱(Path Tracing) – 무작위 샘플링을 통해 모든 광 경로를 통계적으로 평균 내어 전역 조명을 정확히 표현한다.
    • 포톤 매핑(Photon Mapping) – 광원을 기준으로 광자를 시뮬레이션하여 전역 조명 정보를 사전 저장한 뒤, 렌더링 단계에서 활용한다.
  • 역사

    • 1980년대 초반 Whitted의 논문이 광선 추적을 본격적인 이미지 합성 기법으로 소개했다.
    • 1990년대 후반부터는 Monte‑Carlo 기반 패스 트레이싱이 연구되었으며, 2000년대에는 GPU 가속 기술과 결합되어 실시간 적용 가능성이 확대되었다.
    • 2018년 NVIDIA의 RTX 기술(하드웨어 가속 레이 트레이싱) 발표 이후, 비디오 게임 및 실시간 시뮬레이션에서 광선 추적이 널리 사용되고 있다.

어원/유래
‘광선(光線)’은 “빛의 직선 형태”를 의미하는 한자어이며, ‘추적’은 “따라가다, 찾아내다”라는 뜻이다. ‘광선 추적’이라는 용어는 영어 “ray tracing”을 직역·의역한 것으로, 1990년대 한국의 컴퓨터 그래픽스 연구·교육 자료에서 처음 사용된 것으로 추정된다. 정확한 최초 사용 시점과 저자는 확인되지 않는다.

특징

구분 내용
사실성 빛의 물리적 현상을 직접 시뮬레이션하므로 높은 사실적인 조명 효과를 제공한다.
계산 비용 재귀적·확률적 샘플링 과정으로 인해 연산량이 많아 전통적인 레스터화 방식보다 비용이 높다.
병렬성 각 픽셀·광선의 연산이 독립적이므로 GPU와 같은 대규모 병렬 처리에 적합하다.
실시간 적용 최신 GPU(예: NVIDIA RTX, AMD RDNA2)에서 하드웨어 가속을 이용해 실시간 레이트레이싱이 가능하지만, 완전한 전역 조명 구현에는 여전히 제한이 있다.
다양한 변형 반사·굴절·음영 외에도 광산란, 부피 매질, 얇은 렌즈 효과 등 다양한 현상을 확장 알고리즘으로 구현할 수 있다.

관련 항목

  • 레이 트레이싱 (Ray Tracing)
  • 렌더링(Rendering)
  • 전역 조명(Global Illumination)
  • 물리 기반 렌더링(Physically Based Rendering, PBR)
  • 포톤 매핑(Photon Mapping)
  • 패스 트레이싱(Path Tracing)
  • RTX (Real‑Time Ray Tracing)
  • GPU 가속(Graphics Processing Unit Acceleration)

※ 본 문서는 현재까지 확인된 학술 자료 및 기술 문서를 기반으로 작성되었으며, 일부 최신 구현 세부 사항에 대해서는 정확한 정보가 확인되지 않을 수 있다.

둘러보기

더 찾아볼 만한 주제