현실 세계에서 물체가 보인다는 건 광원으로부터 방사되어 물체에 반사한 빛을 육안이나 카메라 센서로 포착했다는 걸 의미한다. 이 빛 거동을 컴퓨터상에서 재현해 더 현실감 있는 그래픽을 그리는 기술이 발로 패스 트레이싱(Path Tracing)이다. 이런 패스 트레이싱에 대해 GPU를 주력 제품으로 하는 반도체 기업 엔비디아가 설명해 눈길을 끈다.
게임과 애니메이션은 2D 평면 디스플레이에 표시되기 때문에 3D 모델 수치 데이터에서 2D 이미지 데이터를 생성하는 작업이 필요하다. 이 3DCG 수치 데이터로부터 화상을 생성하는 과정을 렌더링이라고 한다. 엔비디아는 처음 한 관점에서 본 이미지를 생성하는 래스터라이제이션(rasterization)이라는 기술을 소개한다. 래스터라이제이션은 3D 데이터를 구성하는 가상 삼각형과 다각형을 크기, 방향, 색에서 2D 픽셀로 변환해 그리는 기술이다. 엔비디아에 따르면 자사 최신 GPU라면 초당 1,000억 픽셀 이상 이미지 떼이터를 생성할 수 있다는 것. 래스터라이제이션은 게임 그래픽을 실시간으로 생성하기에 적합한 기술이라고 할 수 있다.
그리고 래스터라이제이션을 더 강력하게 한 기술이 레이 트레이싱(Ray tracing)이다. 래스터라이제이션이 3D 모델을 2D로 변환해 그리는 기술인 반면 레이 트레이싱은 3D 모델을 투과 혹은 반사한 광선을 추적해 그리는 기술이다. 래스터라이즈제이션은 한 시점에서 본 이미지 밖에 생성할 수 없지만 레이 트레이싱은 다양한 시점에서 본 이미지를 생성할 수 있는 게 특징. 엔비디아에 따르면 RTX 시리즈 GPU라면 초당 수십 억 개 광선을 추적하는 게 가능하다는 것. 레이 틀레이싱 장점은 현실 속 빛 거동을 재현하기 위해 흔들리는 수면에 반사되는 사람 얼굴이나 유리에 비친 통행인 모습을 게임 내에서 재현하는 것도 가능해진다는 것이다.
엔비디아 전문가에 따르면 레이 트레이싱 역사는 16세기로 거슬러 올라갈 수 있다고 한다. 북유럽 르네상스 대표 화가 중 한 명인 알브레히트 뒤러(Albrecht Dürer))는 1538년 저술한 측량론(Treatise on Measurement)으로 우린 빛을 포착해도 보고 있다는 점에서 실을 사용해 빛 궤적을 파악하는 아이디어를 발표하고 있다.
뒤러 사후 400년 이상 지난 1969년 IBM 아서 어펠(Arthur Appel)이 레이 트레이싱 개념을 CG 세계로 가져오고 빛 궤도로부터 물건 보이는 방법과 그림자를 계산하는 아이디어를 고안했다. 더구나 10년 뒤인 1979년 벨연구소 연구원이던 터너 위티드가 반사, 그림자, 굴절을 파악하는 구체적인 방법을 나타내 CG 세계에서도 레이 트레이싱을 응용할 수 있다고 주장했다.
이런 레이 트레이싱 기술을 빠르게 도입한 게 영화업계였다. 영화 스타워즈 시리즈로 알려진 루카스필름은 모션 블러나 피사계 심도, 반영 등 그간 CG에선 실현할 수 없던 영화만의 영상 표현을 레이 트레이싱으로 재현할 수 있다는 걸 보여줬다. 더구나 이런 레이 트레이싱을 실현하는데 중요한 건 입사한 빛 투과와 산란을 계산하는 렌더링 방정식을 발표했다.
이 렌더링 방정식은 그렇게 복잡한 표현은 아니다. 하지만 CG 모델은 수십억 개 삼각형과 다각형으로 구성되는 것도 드물지 않게 복잡하기 때문에 방정식을 모두 푸는 건 현실적이지 않다. 여기에서 루카스필름은 방정식을 그대로 푸는 게 아니라 몬테카를로법(Monte Carlo method)을 사용해 통계적으로 렌더링 방적식 해를 구하는 렌더링 수법인 패스 트레이싱을 제창했다.
투명 유리에 빛이 부딪치면 일부 빛은 유리를 투과하지만 나머지 빛은 유리 표면에서 반사하기 때문에 레이 트레이싱은 3D 모델에 광선이 닿았을 때, 투과했을 때와 반사 경우를 분기시켜 처리한다. 대조적으로 경로 추적은 투과와 반사로 분기하지 않고 한 광선은 광선 하나로 추적해 투과할지 또는 반사할지 확률로 처리한다.
패스 트레이싱은 가장 우아하고 정확한 렌더링 기술로 간주됐지만 발표 당시에는 실용적이지 않았다. 루카스필름이 발표한 논문에선 256×256 픽셀 이미지가 렌더링됐지만 당시로는 상당히 고성능 수준 컴퓨터를 사용해도 렌더링에 7시간 이상 걸렸다고 한다.
하지만 반도체 기술 진보로 무어의 법칙대로 마이크로프로세서 연산 능력이 지수함수적으로 향상되면서 패스 트레이싱도 충분히 실용적인 기술이 됐다. 2006년 공개된 CG 애니메이션 영화인 몬스터 하우스는 세계에서 처음으로 패스 트레이싱으로 전편을 렌더링한 영화. 소니픽척스 이미지웍스와 나중에 오토데스크에 인수되는 솔리드앵글SL(Solid Angle SL)에서 공동 개발된 렌더러 아놀드(Arnold)가 사용됐다.
고성능 머신으로 렌더링한 영상을 최종적으로 편집해 출시하는 영화와 달리 게임은 한정된 성능을 갖춘 머신에서 실시간으로 렌더링할 필요가 있다. 이 때문에 게임에 있어 레이 트레이싱에 의한 실시간 렌더링이 사용되게 된 건 비교적 최근 얘기로 그것도 기존 래스터라이제이션 기반 렌더링 기술에 가세해 레이 트레이싱을 부분적으로 채용하고 있을 뿐 패스 트레이싱에 의한 실시간 레너링에 이르기까지는 실현 불가능하다고 생각되고 있다.
하지만 엔비디아는 GPU 고속화가 진행되고 RTX 시리즈를 탑재한 머신이 보급된 지금 실시간 패스 트레이싱 실현은 눈앞에 다가오고 있다고 말하고 있다. 실제로 엔비디아는 2019년에 1997년 출시된 게임 퀘이크2를 패스 트레이싱으로 렌더링하는 리마스터 버전 영상을 공개한 바 있다. 관련 내용은 이곳에서 확인할 수 있다.