지난 3~4년 동안 리얼타임 레이 트레이싱에 대해 많이 들어보셨을 것입니다. 다음에 구매할 PC나 노트북에는 인기 많은 NVIDIA RTX 그래픽 카드를 꼭 탑재하라는 말을 들으셨을 수도 있습니다. 하지만 이런 현상들이 잘 이해되지 않는 분들도 계실 겁니다. 이 문서는 그런 분들을 위해 작성되었습니다.
레이 트레이싱이 무엇인가요?
기본부터 시작해 보겠습니다. 레이 트레이싱을 아주 개괄적으로 알아보고, 여러 가지 측면에서 대체되는 기술인 래스터화와 어떻게 다른지도 살펴보겠습니다.
래스터화와 레이 트레이싱은 모두 컴퓨터 그래픽에서 사용되는 렌더링 방법으로, 화면에 표시되는 이미지를 구성하거나 렌더링 버튼을 누를 때 하드 드라이브에 생성되는 픽셀의 색을 결정합니다.
래스터화는 씬의 오브젝트를 뒤에서 앞으로 그려 변환 매트릭스를 통해 3D 오브젝트를 2D 평면에 매핑하는 방식으로 작동합니다. 메시(모델)에 저장된 정보(색상, 텍스처, 노멀)를 기반으로 씬의 라이팅과 결합해 각 픽셀의 색상을 결정합니다. 일반적으로 레이 트레이싱보다 빠르지만 실제 반사, 반투명, 앰비언트 오클루전 등 반사광에 의존하는 이펙트는 표현할 수 없습니다.
레이 트레이싱은 이와 달리 카메라의 시점에서 빛을 투사하고 광원에 도착할 때까지 씬의 오브젝트 주위로 반사되는 빛의 경로를 추적하여 색상을 수집하고 축적하는 방식으로 작동합니다. 빛의 물리적 움직임을 모방하기 때문에 부드럽고 세밀한 그림자, 앰비언트 오클루전, 정확한 굴절과 반사 등 래스터화보다 훨씬 고퀄리티의 사실적인 결과를 제공합니다. 이 모든 장점에는 물론 대가가 있습니다. 바로 속도입니다.
리얼타임 렌더링이 무엇인가요?
극장에서 영화를 볼 때, 그것이 실제 배우와 배경이 등장하는 실사 제작이든 CG 제작이든 상관없이, 뇌가 연속적인 동작으로 인식하는 것은 사실 매초 24개의 개별 프레임이 연속으로 재생되는 것입니다.
CG영화의 경우, 각 프레임들은 렌더링되어야 합니다. 즉, 컴퓨터는 프레임을 구성하는 각 픽셀이 어떤 모습인지 계산해야 합니다. 기존의 컴퓨터 그래픽(CG) 파이프라인에서 이것은 오프라인 렌더러를 통해 진행하는데, 프레임 하나를 원하는 해상도와 퀄리티로 렌더링하는 데 몇 시간, 심지어 며칠이 걸리는 것이 일반적입니다.
그러나 카메라가 매 순간에 무엇을 보게 될지 미리 알 수 없는 게임이나 다른 인터랙티브 애플리케이션의 경우, 프레임은 재생되는 속도와 동일한 속도로, 즉 리얼타임으로 렌더링해야 합니다. 이제 게임에서는 초당 60프레임, 심지어 120프레임을 렌더링해야 하는데 프레임당 몇 밀리초에 불과한 시간이죠.
래스터화는 수십 년 동안 비록 많은 영리한 요령과 타협이 있었지만 게임에서 리얼타임 렌더링에 사용되었을 만큼 충분히 빠릅니다. 그러나 최근까지 레이 트레이싱은 오프라인 렌더링에만 사용됐습니다. 게임에서 레이 트레이싱이 사용되는 유일한 용도는 시네마틱(컷씬)이었습니다. 시네마틱은 영화와 마찬가지로 미리 렌더링되어 게임 내에서는 간단히 재생되며 상호작용할 수 없습니다.
리얼타임 레이 트레이싱을 가능하게 만든 것은 무엇인가요?
그렇다면 무엇이 달라졌을까요? 2018년 두 가지의 기술적 촉매가 동시에 등장했습니다. Microsoft의 DXR(DirectX Raytracing) 프레임워크와 NVIDIA의 RTX 플랫폼입니다. 에픽게임즈는 NVIDIA 및 ILMxLAB와 협업하여 2018년 3월 GDC에서 스타워즈: 라스트 제다이(Star Wars: The Last Jedi)의 캐릭터가 등장하는 테크 데모, 리플렉션(Reflections)을 통해 최초로 리얼타임 레이 트레이싱을 선보였습니다.
데모에서는 텍스처가 들어간 에어리어 라이트, 레이 트레이스드 에어리어 라이트 섀도, 레이 트레이스드 리플렉션, 레이 트레이스드 앰비언트 오클루전, 시네마틱 뎁스 오브 필드, NVIDIA 리얼타임 디노이저가 전부 실시간으로 실행됩니다.
이 당시가 리얼타임 레이 트레이싱의 초창기였습니다. 프로토타입의 언리얼 엔진 코드가 사용자에게 공개되지 않았을 때였습니다. 이 데모를 실시간으로 실행하는 데 필요한 하드웨어는 NVIDIA Volta GPU 4개를 탑재한 NVIDIA DGX 스테이션으로 구성되었고, 가격은 7만 달러 정도였습니다. 소프트웨어도, 하드웨어도 일반 사용자는 접근하기 어려웠습니다.
리얼타임 레이 트레이싱은 누구나 사용 가능한가요?
2018년 8월 게임스컴(Gamescom)에서 NVIDIA는 새로 공개한 1,200달러짜리 GeForce RTX 2080 Ti GPU를 하나만 사용하여 리플렉션을 실시간으로 실행하는 모습을 선보였습니다.
이듬해 3월 GDC에서 에픽게임즈는 리얼타임 레이 트레이싱 기술을 공개하고 언리얼 엔진 4.22에서 베타 버전으로 제공했습니다. 이 기술은, 실시간 결과를 얻을 수 있도록, 레이 트레이싱 기능과 기존의 래스터 기술을 결합한 하이브리드 접근 방식을 사용했습니다.
오늘날 언리얼 엔진 5에서 에픽의 리얼타임 레이 트레이싱 소프트웨어는 성능, 안정성, 기능의 완전성 측면에서 상당히 업그레이드되었으며 실시간으로 실행 가능한 RTX 그래픽 카드는 500달러 미만으로 구할 수 있습니다. 한편 언리얼 엔진은 완전히 무료로 다운로드하여 시작할 수 있습니다. 여기에 RTX 그래픽 카드의 저렴한 가격이 더해지면서 훨씬 더 많은 사용자가 리얼타임 레이 트레이싱을 이용할 수 있게 됐습니다.
레이 트레이싱의 이점은 무엇인가요?
리얼타임과 오프라인 구분없이, 레이 트레이싱의 이점을 알아보겠습니다.
정확한 리플렉션은 씬에 신뢰성을 더해 줍니다. 레이 트레이스드 리플렉션은 여러 개의 바운스를 지원하므로 현실에서와 같이 반사 표면의 상호 반사를 생성합니다. 또한 시야 밖의 오브젝트도 반사합니다. 자동차 디자이너와 마케팅 담당자에게 빛이 표면에서 반사되는 방식은 매우 중요한데, 레이 트레이싱을 활용하면 자동차가 제작되기 전에 이를 시각화할 수 있습니다.
GIANTSTEP 제공
레이 트레이스드 섀도는 환경 내 오브젝트에 소프트 에어리어 라이팅 이펙트를 시뮬레이션할 수 있습니다. 이에 따라 광원의 크기와 각도에 따라 물체의 그림자는 접촉면 근처에서 더 선명해지고, 멀어질수록 부드러워지고 넓어집니다. 레이 트레이스드 섀도는 씬에서 땅에 닿아 있는 오브젝트뿐만 아니라 천 커버와 같은 영역의 미세한 디테일을 캡처하여 인테리어를 훨씬 사실적으로 만듭니다. 또한 건축가는 레이 트레이스드 섀도를 통해 정확한 태양 빛을 연구할 수 있습니다.
글로벌 일루미네이션은 오브젝트를 구성하는 머티리얼이 지닌 흡수성과 반사성을 고려하여 라이트와 오브젝트의 자연스러운 상호작용이 씬의 다른 오브젝트 색상에 미치는 영향을 시뮬레이션합니다. 이는 씬의 사실감을 크게 높여 줍니다. 레이 트레이싱을 활용하면 글로벌 일루미네이션이 사전에 구워지지 않고 프레임마다 연산되므로 라이팅이 켜지거나 꺼지거나, 해가 뜨거나 또는 누군가가 문을 여는 것과 같이 시간이 지남에 따라 라이팅이 변경될 수 있습니다. 언리얼 엔진의 루멘은 다수의 레이 트레이싱 방식을 사용하는 완전한 다이내믹 글로벌 일루미네이션 및 리플렉션 시스템입니다.
앰비언트 오클루전은 벽이 만나는 가장자리나 모서리, 피부의 틈새나 주름 등의 앰비언트 라이팅(광원으로부터 직접 나오지 않는 라이팅)을 자연스럽게 차단하는 영역의 그림자입니다. 레이 트레이스드 앰비언트 오클루전은 스크린 스페이스 앰비언트 오클루전보다 더 정확하며 사실적입니다.
익스테리어 렌더링이나 큰 창문이 있는 인테리어의 경우 하늘에서 오는 빛을 정확하게 묘사하는 것이 사실적인 씬을 만드는 데 필수적입니다. 레이 트레이싱을 활용하면 하이 다이내믹 레인지(high dynamic range, HDR) 이미지를 사용하여 씬을 라이팅함으로써 현실을 효과적으로 묘사하는 섬세하고 부드러운 효과를 생성할 수 있습니다.
ARCHVYZ 제공, Toledano Architects 디자인
앞서 언급한 장점들에 더하여 레이 트레이싱은, 래스터 렌더러에서 이러한 효과의 일부를 비슷하게 하는 데 사용되는 뎁스 맵 섀도, 구워진 글로벌 일루미네이션, 리플렉션 프로브 또는 평면 등의 방법보다 훨씬 쉽게 설정하고 사용할 수 있습니다.
또한 리얼타임 레이 트레이싱은 영화 및 TV용 애니메이션 콘텐츠 제작 업계도 뒤흔들고 있습니다. 그 대표적인 사례가 버추얼 프로덕션 기법을 채택한 스튜디오 EON의 ‘아머드 사우루스(Armored Saurus)’ 시리즈입니다. 기존 파이프라인보다 훨씬 짧은 시간에 렌더링을 하면서도 시청자가 원하는 룩을 유지할 수 있게 되면 프로덕션 비용이 절감될 뿐만 아니라 마지막 순간까지 반복작업을 통해 스토리에 가장 잘 맞는 버전을 찾아낼 수 있습니다.
Armored Saurus | Studio EON 제공
리얼타임 레이 트레이싱 시작하기
언리얼 엔진에서 직접 리얼타임 레이 트레이싱을 사용해 보고 싶으시다면 무료로 언리얼 엔진을 다운로드하고 문서를 참조하여 시스템 요구 사양을 확인하세요. 기능에 대한 자세한 내용은 리얼타임 레이 트레이싱 개요에서도 확인할 수 있습니다.
비디오 튜토리얼을 선호하신다면 에픽 디벨로퍼 커뮤니티에서 수백 시간 분량의 온라인 러닝을 이용해 보세요. 레이 트레이싱과 관련된 강좌가 많이 준비되어 있습니다.
또한 언리얼 엔진에서 사용 가능한 또 다른 레이 트레이싱 기술인 패스 트레이싱에 대해서도 배울 수 있습니다. 프로그레시브 하드웨어 가속 렌더링 모드인 패스 트레이싱은 물리적으로 정확하고 퀄리티 저하 없는 글로벌 일루미네이션, 머티리얼의 리플렉션 및 리프랙션을 통해 리얼타임 기능의 단점을 보완합니다.