GPU기반의 랜더링 전성시대가 열렸다. 


랜더러 회사들의 개발상황을 살펴보면 GPU기반의 실시간 랜더링이 패러다임으로 자리잡았음을 알 수 있다. 현 추세가 지속된다면 이제 랜더링 작업은 실시간으로 진행되며, 랜러링 파트는 애니메이터가 담당해야 할 듯하다. 각 CG프로그램에 어울리는 GPU랜더러의 발전방향을 알아보자.


1 proRenderer 2.8 || Maya & Blender & Cinema 4D


AMD는 풀 스팩트럼 랜더링이 가능한 라데온 Prorender를 무료로 오픈했다. 2019년 11월 21일, Radeon ProRender 2.1 for BlenderGPU는 Vulkan기반에서 하이브리드로 "레이트레이싱 / 레스터화"를 지원하는 베타버전으로 공개됐다. Blender 2.8용으로 배포된 Radeon ProRender는 하드웨어와 무관한 OpenCL API를 사용한다. 이는 Blender의 오픈소스 철학을 반영하고 있다. 그래서 라데온 proRenderer는 무료다. 모든 것을 무료로 풀어버린 AMD의 행보는 "Vulkan(openGL) vs OptiX(DirectX)" 구도를 더욱 흥미롭게 만들고 있다.


Radeon ProRender는 Blender의 Cycle랜더 엔진에서 구현할 수 있는 쉐이더를 리얼타임으로 구현할 수 있고, 디노이즈 아웃풋도 좋아졌다. Maya같은 경우 proRender와 완벽한 궁합을 보이기 때문에 망설일 필요가 없다. 또한 2.8버전은 Maya에서 리얼타임 GPU로 랜더링할 수 있는 GPU전용 proRender 쉐이더까지 갖췄다.




2 V-ray || Max & Maya

Chaos그룹은 2019년 11월 업데이트부터 V-ray GPU가속에서 NVIDIA RTX의 RT코어를 지원하기로 발표했다. 뷰포트에서 사용하는 GPU가속기능은 3D CG프로그램들 중에서 Max가 가장 빨랐다. Max는 NVIDIA의 Cuda를 사용할 수 있기 때문에 굳이 리얼타임 GPU랜더링 경쟁과 무관한 듯 보였다.  


하지만 2019년 11월 26일, V-ray Next GPU와 관련된 발표에 의하면, 향후 V-ray는 NVIDIA RTX GPU의 레이 트레이싱을 지원하며, 이는 NVIDIA의 파스칼 아키텍처의 Cuda시대가 끝났음을 의미한다. 2017년, NVIDIA는 자사의 그래픽카드 아키텍처에서만 사용할 수 있는 Cuda의 폐쇄성을 버리고, OptiX를 품에 안았다. 

 

[NVIDIA RTX계열 하드웨어를 사용한 V-ray 퍼포먼스]


카오스 그룹의 발표에 의하면, RTX그래픽카드를 사용하여 V-ray GPU가속을 실행할 때 Cuda에 비해 평균 40%의 속도향상을 기대할 수 있다고 한다. 또한 향후 RTX GPU코어는 CPU와 결합한 방향으로 발전할 것을 명시했다. (XPU)

(https://www.chaosgroup.com/blog/v-ray-gpu-adds-support-for-nvidia-rtx#)


Max에서 V-ray를 주로 사용한다면 NVIDIA의 RTX계열 그래픽카드가  반드시 필요하다.



3 Arnold || Max & Maya & Cinema4D & Houdini

Arnold는 Solid Angle사에서 최초로 개발한 이후 무료에서 유료 노선으로 급격하게 이동했다가  autodesk 라인업 소프트웨어에서 다시 무료로 풀렸다. Arnold의 장점은 VFX(특수효과)를 표현할 때 발휘된다. 특히, Maya에서 n파티클을 Mesh처럼 랜더링하고 쉐이더를 설정할 수 있는 부분은 혁신적이었다. 



Arnold는 2019년 3월 GDC 2019에서 Arnold 5.3을 발표했다. 5.3 버전에서 Arnold는 마침내 GPU랜더링 시스템인 'Arnold GPU'를 선보이며 GPU리얼타임 랜더링 경쟁에 뛰어들었다. 하지만 GPU만으로 Arnold를 제대로 사용하려면 비용이 꽤 든다.


Arnold의 아키텍처, OptiX가 NVIDIA의 GPU Ray-tracing프레임 워크를 선택했기 때문에 Arnold GPU 랜더링을 구현하려면 NVIDIA RTX계열 그래픽카드가 필요하다. 물론 DXR(DirectX Ray Tracing)을 지원하는 라데온 RX vega시리즈를 구매해도 상관없지만 아무래도 NV링크(멀티 그래픽카드)같은 기능까지 염두에 둔다면 Arnold를 사용하는 마야 사용자는 NVIDIA RTX가 필요할 것으로 보인다. 



Arnold는 2019년 7월 31일, Ver 5.4를 공개했다. 그리고 Arnold 5.4는 역시 특수효과에 적합한 랜더러라는 포지셔닝을 충실히 이행했다. Siggraph 2019에서 발표한 사항만 살펴보면 다음과 같다. 


1] Maya용 Bifrost 지원

2] 컷 & 어웨이 랜더링 워크플로어 공개 * Clip Geo쉐이더 

3] Maya 2019.2 Bifrost 지오메트리 Type제공


Arnold는 화재, 연기, 공기 역학이나 유체와 같은 표현을 위해서 Bifrost의 쉐이더 기능을 강화했다. Arnold는 자신의 포지션을 다음 사진 한장으로 정리해버렸다.


[Arnold 5.4 Clip Geo 쉐이더]


정확한 연구결과를 찾을 수는 없지만 2019년 12월 현재 Arnold는 XPU(GPU + CPU)퍼포먼스에서 상당히 우수한 성능을 확보한 것으로 예상된다. 아래 영상을 보면 Arnold 5.3에서부터 XPU시대를 준비했기 때문이다. 




4 RenderMan || Houdini & Maya

RenderMan은 Pixar에서 개발한 랜더러이며, maxwell 랜더러와 더불어 클라우드 랜더링 서비스를 제공한다. RenderMan은 마치 애플의 플랫폼처럼 소수의 충성스러운 마니아 중심으로 독특한 기능을 제공한다.


2019년 12월 4일 픽사는 RenderMan 23.0을 출시했다. RenderMan은 실사와 같은 느낌보다는 뭔가 2D 작화를 하는 설정이 많다. 가령, 무거운 씬에서 사용할 수 있는 대화식 랜더링 옵션과 같은 기능이다. RenderMan랜더링이 중간에서 끊어지더라도 다시 끊어진 부분부터 시작할 수 있고, 특정 부분만 랜더링을 하는 수준을 뛰어넘어 무거운 부분과 가벼운 부분에 대한 랜더링 처리가 다르다. 마치 화가가 중요도에 따라 붓질을 다르게 하듯이 랜더링이 진행된다.


[RenderMan 23.0]


RenderMan 23.0 발표에서 Pixar는 하이브리드 CPU / GPU 랜더링 시스템인 RenderMan XPU를 강조했다. 아마도 Arnold 6가 XPU 퍼포먼스 표준을 차지할 것 같지만 RenderMan 역시 기대된다. 



5 octane || Cinema 4D & Houdini & Blender

octane 랜더러는 Houdini를 중심으로 사용되는 랜더러다. Houdini의 기본 랜더러, Mantra가 허접한 평이 많아서 octane, redShift 랜더러가 많이 사용된다. octane은 2019.2 XB1에서 NVIDIA RTX의 레이 트레이싱 코어를 사용하여 GPU랜더링 속도를 2.5배 향상시켰다. 



전반적으로 라데온 proRender와 비슷한 퍼포먼스를 보여주는데 '노이즈'부분에서 다소 아쉬움을 보이는 랜더러다. 2019.2 버전같은 경우, Cinema 4D에서는 노이즈 쉐이더를 지원하면서 디노이즈 기능을 향상시켰지만 Houdini에서는 노이즈 쉐이더를 사용할 수 없다. SSS random walk나 스펙트럼 레이어 시스템은 Radeon proRender에서 브랜더나 마야에 지원하는 기능으로 큰 경쟁력을 보여주기에는 다소 무리가 있다. 



octane랜더러의 단점에도 불구하고 Houdini유저들은 변함없는 지지를 보일 것으로 예상된다. 그 이유는 정확히 알 수 없다. Houdini 작업자들은 CG업계에서 '메날두'급으로 불리고 있기 때문에 그들을 이해하기란 어렵다. 


[Houdini 진입장벽]

 


6 maxwell || Rhino & CAD & SketchUp & Revit ...

maxwell은 랜더러계의 '페라리'다. 2019년 10월 31일  maxwell 5가 출시됐고, "멀티 GPU 리얼타임 가속"이라는 전례없는 랜더링 속도를 선보였다. 또한 클라우드 랜더링 서비스를 제공하여 Next Limit에서 가장 빠른 머신(최대 96코어)으로 랜더링을 진행한다. 


속도에 있어서 maxwell은 확고하다. 아래 동영상을 보면 NVIDIA의 RTX그래픽 카드를 무려 4개 엎어서 멀티 GPU가속에 사용한 것을 알 수 있다. 역시 maxwell이다. 퍼포먼스만 보더라도 대기업이나 돈많고 외로운 아티스트가 사용해야 할 것 같은 느낌이 든다.




7 결론

거의 모든 CG 랜더러가 RT코어를 중심으로 리얼타임 GPU랜더링을 지원하고 있다. 그리고 이런 추세는 "CPU + GPU"를 활용하는 XPU를 향해 달려가고 있다. 게다가 머신러닝 기술이 라이팅, 랜더링 작업을 학습(처리)하기 위한 프로그레시브 앱까지 잉글랜드에서 등장했다.(Notch) 


NOTCH builder는 태생부터 "인공지능 + 클라우드 + GPU랜더링"을 기반으로 만들어졌다.그래서 Notch builder는 따로 랜더링을 걸어줄 필요가 없다. 왜냐하면 뷰포트 화면 자체가 랜더링 결과물이기 때문이다. 



현재 상태로 기술발전이 진행된다면, CG작업에서 가장 중요한 파트는 '시나리오'와 '연출(콘티)' 그리고 캐릭터 모델링 정도가 될 듯하다. 이제 작업자의 일이란, 연출하고 싶은 상황을 명령하는 게 전부가 될 수도 있다. 섣부른 생각이지만 작업을 '하는 것'보다 '아는 것'이 더 중요한 시대가 될지도 모른다.