실시간 레이 트레이싱의 등장과 적용 사례

컴퓨터 그래픽 렌더링 기술 중 하나인 레이 트레이싱(Ray Tracing)은 애니메이션이나 영화 제작 시 실제와 같은 장면을 구현하기 위해 오랫동안 사용돼 온 기술이다. 특히 반사가 많은 장면이나 두꺼운 유리처럼 복잡한 반투명 재질을 표현할 때 뛰어나다. 

하지만 과거 오프라인으로 구현하던 레이 트레이싱은 연출에 긴 시간이 소요돼 제작 비용을 상승시키는 주범 중 하나였다. 레이 트레이싱 적용 프레임 하나에 짧게는 몇 분, 길게는 몇 시간 이상이 필요했다. 영상 애니메이션이 1초에 24 프레임이 필요한 만큼 한 작품을 완성하기 위해 그야말로 상상 이상의 시간이 필요했던 셈이다. 

이 때문에 언리얼 엔진의 리얼타임 레이 트레이싱(Real-time Ray Tracing) 기술이 2018년 게임 개발자 컨퍼런스(Game Developers Conference 2018)에서 처음 공개됐을 때, 기존의 게임 산업 외에도 다양한 산업 분야에서 뜨거운 관심을 나타냈다. '리얼타임'이란 말처럼 더이상 기다리지 않고도 실시간 레이 트레이싱이 가능해졌기 때문이다. 

레이 트레이싱이란?

먼저 레이 트레이싱이 무엇인지, 리얼타임 레이 트레이싱이 등장하기 전 게임엔진에서 주로 활용돼 온 렌더링 방식인 래스터라이제이션(Rasterization)과는 어떤 점이 다른지 살펴보자.

레이 트레이싱은 장면의 주변에서 반사되는 빛의 경로를 추적해 색 정보를 수집 · 저장하고, 최종 렌더링에서 각 픽셀의 색을 결정하는 방식이다. 빛의 물리적 움직임을 모방하기 때문에 화면 밖 물체의 부드럽고 세밀한 그림자와 반사되는 빛 등, 래스터라이제이션보다 사실적인 결과물을 만들 수 있다.

반면 래스터라이제이션은 장면의 물체를 뒤에서 앞으로 그린 뒤 변환 매트릭스를 통해 3D 물체를 2D 평면에 매핑하는 방식으로, 각 픽셀의 색은 색상과 텍스처 등의 정보를 장면의 빛과 결합해 결정된다. 레이 트레이싱보다 속도는 훨씬 빠르지만, 실제 반사, 반투명, 그림자 같은 반사광에 의존하는 효과는 표현할 수 없다.

레스터라이제이션 반투명 (좌), 레이 트레이싱 반투명(우)

리얼타임 레이 트레이싱의 기폭 기술들

레이 트레이싱은 가장 현실적인 콘텐츠를 만들고자 하는 제작자들에 의해 지난 수십 년간 영화에서 주로 활용됐다. 하지만 앞서 말한 것처럼 영화 해상도에서 레이 트레이싱을 적용한 단일 프레임을 만들려면 몇 시간, 심지어는 며칠을 기다려야 했던 것이 큰 애로사항이었다. 

이런 상황에서 마이크로소프트의 DXR(DirectX Raytracing) 프레임워크와 엔비디아 RTX 플랫폼의 등장은 리얼타임 레이 트레이싱 기술 발전에 큰 영향을 끼친 사건이다. 

에픽게임즈는 엔비디아, ILMxLAB과 협업해 지난 GDC 2018에서 ‘스타워즈: 라스트 제다이(Star Wars: The Last Jedi)’의 캐릭터가 등장하는 테크 데모 ‘리플렉션(Reflections)’으로 리얼타임 레이 트레이싱을 선보였다.

리플렉션 데모에서는 텍스처가 적용된 ▲에어리어 라이트(Area lights) ▲레이 트레이스드 에어리어 라이트 섀도(Ray-traced area light shadows) ▲레이 트레이스드 리플렉션(Ray-traced reflections) ▲레이 트레이스드 앰비언트 오클루전(Ray-traced ambient occlusion) ▲시네마틱 뎁스 오브 필드(Cinematic depth of field) ▲엔비디아 게임웍스(GameWorks) 레이 트레이싱 디노이징(Denoising) 등이 모두 실시간으로 실행되고 있다. 

디노이징은 리얼타임 레이 트레이싱 중 생기는 노이즈를 제거하는 기술이며, 언리얼 엔진의 하이브리드 접근법을 통해 레이 트레이싱을 적용하지 않은 영역에는 래스터라이즈를 적용해 전반적인 퍼포먼스가 향상됐다. 

 

리얼타임 레이 트레이싱의 보급

리플렉션 데모를 선보이고 5개월 뒤, 에픽게임즈는 시그라프 2018(SIGGRAPH 2018)에서 엔비디아, 포르쉐와의 협업을 통해 실시간 시네마틱 경험인 ‘스피드 오브 라이트’ 포르쉐 911 스피드스터 콘셉트(‘The Speed of Light’ Porsche 911 Speedster Concept)를 공개했다.

이 데모는 당시 가격으로 6000달러 정도의 엔비디아 쿼드로 RTX 카드 2개만 있으면 구현할 수 있었는데, 리얼타임 레이 트레이싱 기술 초창기 약 10만 달러 상당의 4개의 테슬라 V100 GPU를 탑재한 엔비디아 DGX 스테이션이 필요했던 것과 비교하면 비약적인 변화임을 알 수 있다.

또 이전에 선보였던 기능 외에도 스피드 오브 라이트는 레이 트레이싱된 반투명과 클리어 코트 셰이딩 모델(Clear coat shading model), 디퓨즈 글로벌 일루미네이션(Diffuse global illumination)을 함께 선보였다. 시네마틱 영상과 더불어 장면의 실시간 특성을 묘사하기 위한 인터랙티브 데모도 제작됐다.

이어 에픽게임즈는 GDC 2019에서 리플렉션 데모 이후 1년 동안 레이 트레이싱 기술이 얼마나 발전했는지 증명하기 위해 굿바이 캔자스, 딥 포레스트 필름과 손잡고 디지털 휴먼을 주인공으로 한 리얼타임 시네마틱 ‘트롤(Troll)’을 제작해 선보였다.

트롤은 리플렉션 보다 훨씬 복잡한 데모다. 두 작품 모두 24프레임으로 실행되지만, 트롤은 6200만 개의 트라이앵글이 있고, 리플렉션에는 500만 개뿐이다. 또 트롤에는 16개의 라이트가 있지만 리플렉션에는 4개가 있을 뿐이다. 레이 트레이스드를 1080p FHD 해상도로 렌더링한 트롤은 그 절반 해상도에 그친 리플렉션에 비해 스케일 면에서도 압도적이다.

이 외에도 트롤에는 파티클 에티 트레이싱, 알렉빔 지오메트리 캐시(Alembic geometry cache), 헤어, 피부와 같은 언리얼 엔진의 영화 촬영기법 파이프라인에 있는 다른 주요 요소와의 상호 운용성 요소가 모두 포함된다. 그리고 이 모두가 정가 1199달러인 엔비디아 RTX 2080 Ti 한 대로 렌더링될 수 있다는 것은 정말 놀라운 발전이다.

 

현재 언리얼 엔진의 레이 트레이싱

트롤 데모 이후로도 언리얼 엔진의 레이 트레이싱 기술에는 많은 향상이 있었다. 언리얼 엔진 4.23에서는 스카이 패스(Sky pass), 글로벌 일루미네이션, 디노이징을 포함한 많은 영역에서 성능이 개선됐다. 트레이스 가능한 빛의 개수 확보를 위한 예산은 매우 한정돼 있기 때문에 리얼타임 레이 트레이싱에서 디노이징은 아주 중요한 부분이다.

디노이징 싱글 샘플(좌), 언디노이징 멀티 샘플(우)

또한, 인터섹션 셰이더(Intersection shader)를 구현해 기본 유형을 지원할 수 있고, 헤어와 프랙탈 같은 복잡한 지오메트리를 렌더링할 수 있다. 여러 대의 GPU 지원을 위한 작업을 시작했으며, 4.23 버전에 추가된 로우 레벨 지원은 특정한 패스를 어느 GPU가 렌더링할지 컨트롤하는 기능도 제공한다.

최신 버전인 4.24 버전 역시 인스턴스 스태틱 메시와 계층 구조 인스턴스 스태틱 메시(Hierarchical Instance Static Mesh)를 더 효율적으로 렌더링할 수 있고, 대규모 월드의 지원도 가능한 최고급 인스턴싱, 추가 지오메트리 유형 지원, 픽셀 디노이징(Pixel denoising)에 리플렉션 멀티샘플 지원 등의 다양한 기능이 추가됐다.

이처럼 에픽게임즈는 언리얼 엔진에 지속해서 다양한 기능을 추가하고, 기존에 추가된 기능들의 최적화와 안정성 향상을 위한 기술을 지원하는 등 리얼타임 레이 트레이싱 개발에 끊임없이 힘쓰고 있다.

언리얼 엔진의 리얼타임 레이 트레이싱 기술은 게임을 비롯해 다양한 일반산업 분야에서 고해상도의 결과물을 예전에는 상상할 수도 없던 짧은 시간에 만들어 내고, 그렇게 절감한 시간을 더 효율적으로 사용할 수 있도록 만들었다. 또한 이는 전반적인 제작 비용을 낮추고, 더 많은 고퀄리티 인터랙티브 콘텐츠 제작을 가능하게 한다는 점에서 하나의 혁신이라 부를 수 있을 것이다.

 

테크월드 - 월간 <EMBEDDED> 2020년 3월호 中

이 기사를 공유합니다
저작권자 © 테크월드뉴스 무단전재 및 재배포 금지
이 기사와 관련된 기사