본문으로 이동

광선 추적

위키백과, 우리 모두의 백과사전.

흰색 표면에 있는 반사 색상 구의 반복적 광선 추적은 얕은 피사계 심도, "영역" 광원 및 분산 상호 반사의 효과를 보여준다. (2008년경)

광선 추적 또는 레이 트레이싱(ray tracing)은 가상적인 광선이 물체의 표면에서 반사되어, 카메라를 거쳐 다시 돌아오는 경로를 계산하는 것이다. 적게는 물체 하나가 반사하는 빛만 계산하면 되지만 많게는 물체를 구성하는 입자 하나하나의 빛을 전부 계산해야 되기 때문에 렌더링을 하는 데 있어 시간이 많이 소요되는 기술이다. 영상을 만드는 과정에서는 렌더링한 이미지 자체를 저장하는 것이기에 시간에 영향을 덜 받지만, 실시간으로 이러한 작업을 해야하는 게 비디오 게임 등의 경우엔 이를 위해서 많은 계산이 필요하여 컴퓨터 연산 속도가 중요해진다.

개요

[편집]

3D 컴퓨터 그래픽스에서 광선 추적은 디지털 이미지 생성을 위한 다양한 렌더링 알고리즘에 사용하기 위해 빛 전달을 모델링하는 기술이다.

계산 비용 및 시각적 충실도 측면에서 광선 캐스팅, 재귀 광선 추적, 분포 광선 추적, 광자 매핑 및 경로 추적과 같은 광선 추적 기반 렌더링 기술은 일반적으로 스캔라인 렌더링 방법보다 느리고 충실도가 높다. 따라서 광선 추적은 스틸 CGI 이미지, 영화 및 TV 시각 효과(VFX)와 같이 렌더링하는 데 상대적으로 오랜 시간이 걸리는 응용 프로그램에 처음 배포되었지만 비디오 게임과 같은 실시간 응용 프로그램에는 적합하지 않았다. 각 프레임을 렌더링하는 데 속도가 중요하다.

그러나 2019년부터 실시간 레이 트레이싱을 위한 하드웨어 가속이 새로운 상업용 그래픽 카드의 표준이 되었고 그래픽 API도 이에 따라 개발자가 게임 및 기타 실시간 애플리케이션에서 하이브리드 레이 트레이싱 및 래스터화 기반 렌더링을 사용할 수 있게 되었다. 프레임 렌더링 시간에 대한 적중이 적는다.

광선 추적은 반사, 굴절, 부드러운 그림자, 산란, 피사계 심도, 모션 블러, 화선, 주변 폐색 및 분산 현상(색수차 등)과 같은 다양한 광학 효과를 시뮬레이션할 수 있다. 또한 광파와 유사한 방식으로 음파의 경로를 추적하는 데 사용할 수 있으므로 사실적인 반향과 반향을 렌더링하여 비디오 게임에서 더욱 몰입감 있는 사운드 디자인을 위한 실행 가능한 옵션이 된다. 실제로 거의 선형 운동을 하는 모든 물리적 파동이나 입자 현상은 광선 추적을 통해 시뮬레이션할 수 있다.

도메인에서 빛을 샘플링하는 광선 추적 기반 렌더링 기술은 매우 많은 수의 광선을 추적하거나 노이즈 제거 기술을 사용하여 해결할 수 있는 이미지 노이즈 아티팩트를 생성한다.

역사

[편집]

레이 트레이싱의 개념은 16세기 초에 발명된 것으로 알려진 알브레히트 뒤러(Albrecht Dürer)에 의해 설명되면서부터 시작되었다. 뒤러는 3D 장면을 이미지 평면에 투영하는 여러 가지 기술을 설명했다. 이들 프로젝트 중 일부는 오늘날 래스터화에서 수행되는 것처럼 이미지 평면에 기하학적 구조를 선택했다. 다른 것들은 광선 추적을 통해 수행되는 것처럼 주어진 광선을 따라 어떤 형상이 표시되는지 결정한다.[1][2]

음영 처리된 그림을 생성하기 위해 컴퓨터를 사용하여 광선 추적을 수행한 것은 1968년 아서 아펠(Arthur Appel)이 처음으로 수행했다. 아펠은 가시 표면을 식별하기 위해 장면에 음영 처리될 각 점을 통해 광선을 추적함으로써 기본 가시성(각 이미지 지점에서 카메라에 가장 가까운 표면 결정)을 위해 광선 추적을 사용했다. 광선과 교차하는 가장 가까운 표면이 눈에 보이는 표면이었다. 이 비재귀적 광선 추적 기반 렌더링 알고리즘을 오늘날 "레이 캐스팅"(ray casting)이라고 한다. 그런 다음 그의 알고리즘은 음영 처리되는 각 지점의 광원에 대한 2차 광선을 추적하여 해당 지점이 그림자에 있는지 여부를 결정했다.

같이 보기

[편집]

각주

[편집]
  1. Steve Luecking (2013). “Dürer, drawing, and digital thinking - 2013 FATE Conference”. 《brian-curtis.com》. 2020년 8월 13일에 확인함. 
  2. Steve Luecking. “Stephen J Luecking”. 2020년 8월 13일에 확인함. 

외부 링크

[편집]