사전 렌더링

사전 렌더링과 실시간 렌더링의 차이 점 소개

목차

저는 고등학교 시절 파이널 판타지 VII와 IX 게임을 한 적이 있었습니다. 두 게임을 모두 끝내지 못했지만 '와, 컷 씬이 너무 멋지다! 그런데 왜 게임플레이가 컷 씬처럼 멋져 보이지 않았을까?'라고 혼자 생각했던 것이 기억납니다.

제 경험에 공감할 수 없다면 (네 저는 구세대가 맞습니다), 여기에 여러분에게 더 맞는 것이 있습니다: 소셜 미디어를 보는 동안 게임 광고에 노출되어 그래픽에 압도당한 적이 있습니까? "와, 이 게임을 모바일로 할 수 있을까? 이것은 콘솔 게임같네!"라고 감탄하며 여러분은 그것을 다운로드하고, 플레이하면서 게임플레이가 여러분이 본 광고와 전혀 다르다는 것을  깨닫게 됩니다.

간단히 말해서, 그것이 바로 사전 렌더링과 실시간 렌더링의 차이점입니다.

렌더링 이란?

렌더링을 정의할 수 있는 가장 간단한 방법은 3차원 데이터로 2차원 이미지를 생성하는 과정입니다. 이 과정은 수 천만 개의 수학 방정식의 푸는 것을 포함하므로 상당한 계산 능력을 필요로 합니다. 마지막 두 문장으로 인해 혼란스러웠다면 이 글에서는 렌더링 및 렌더팜에 대한 설명과 렌더링을 통해 렌더링을 보다 효과적으로 처리할 수 있는 방법에 관해 소개합니다.

사전 렌더링
Chris Jones의 '얼굴' 렌더링

좀 더 구체적으로 말하면, 렌더링은 프로젝트를 "완성"하여 3D 제작 프로그램의 환경에서 노트북, 휴대폰, TV 또는 영화 화면  등 모든 쉽게 표시할 수 있는 형태로 전송하는 3D 그래픽 제작의 마지막 단계입니다. 이 화면들의 공통점은 무엇입니까? 그것들은 모두 2차원입니다. 따라서, 렌더링이 꼭 필요합니다.

사전 렌더링

오프라인 렌더링이라고도 하는 사전 렌더링(Pre-rendering)은 렌더링 된 이미지(또는 이미지 시퀀스, 애니메이션)가 나중에 표시되는 렌더링 유형입니다. 이게 정확히 무슨 의미일까요? 즉, 3D 이미지를 디자인하고 원하는 만큼 상세하고 질감 있고 사실적으로 만들 수 있습니다. 작업을 마치면 CPU(또는 GPU 또는 둘 다)가 3D 이미지를 2D 이미지로 처리하여 사람들의 화면에 표시되도록 합니다. 이미지를 얼마나 복잡하고 자세하게 만들었는지에 따라(더 복잡할수록 더 많은 계산이 필요함) 렌더링은 사전 이미지를 표시하는 데 약간 또는 많은 시간이 걸립니다. 그래서 사전 렌더링이라는 용어가 있습니다.

이것은 가라지팜과 같은 클라우드 렌더팜에서 수행되는 렌더링 유형입니다. 간단히 말해 이미지 렌더링에 걸리는 시간을 줄이고 싶기 때문에 인터넷을 통해 렌더링 팜에 프로젝트를 보내고 서버에서 시간과 액세스 권한을 구입한 후 가장 강력한 프로세서가 렌더링 작업을 대신 수행하도록 합니다. 일반적으로 개인용 컴퓨터에서 렌더링하는 데 몇 시간이 걸리는 프로젝트는 렌더팜에서 몇 분 또는 몇 초면 됩니다.

실시간 렌더링

반면, 실시간 렌더링은 3D 정보를 2D 이미지로 변환하는 과정과 매우 빠른 시간에 수행되는 프로세스입니다. 이름에서 알 수 있듯이, 이러한 유형의 렌더링은 데이터가 입력되는 순간부터 실질적으로 즉시 이미지를 생성합니다. 더 정확히 말하면, 유니티(Unity)와 같은 실시간 렌더링 엔진의 일반적인 설정은 초당 30~60프레임입니다. 이는 엔진이 1초 만에 3D 정보로부터 30~60개의 2D 영상을 처리하고 표시할 수 있다는 뜻입니다. 잠시동안 생각해 보십시오. 그것은 몇 분 또는 몇 시간의 사전 렌더링 된 단일 이미지 출력으로부터 몇 광년 떨어져 있습니다.

하지만 순수한 속도가 사전 및 실시간 렌더링을 보는 올바른 방법입니까? 짧은 대답은 '아니오'입니다.

이제 더 상세히 답변해 드리겠습니다.

목적 중심의 렌더링

렌더링에서는 사전이든 실시간이든 상관없이 속도가 항상 바람직합니다. 하지만 사용자의 목적에 따라, 속도를 어떻게 생각하는지 또는 빠르다고 생각하는 지 달라집니다. 렌더링에 있어서는 속도가 상대적이라고 할 수 있습니다.

예를 들어, 현재 진행 중인 건물의 사실적 고해상도 표현을 다루는 건축 시각화 아티스트인 경우, 자체 컴퓨터만 사용하여 렌더링하는 경우 렌더링 속도가 여러 시간 또는 며칠이 걸리는 것이 일반적입니다. 따라서 클라우드 팜에서 2시간 렌더링을 20분으로 단축할 수 있다는 것은 매우 큰 장점입니다.

그러나 게임 디자이너라면 단일 이미지를 렌더링하는 데 20분이 걸리는 것은 용납할 수 없습니다. 왜냐하면 사용자가 게임 캐릭터의 머리를 조금만 돌려도 시점 변경이 화면에 등록하는 데 20분이 소요되기 때문입니다. 이럴 거면 게임 만드는 것을 차라리 포기하는 것이 낫습니다. 이것을 레이턴시라고 하며, 레이턴시는 게임에 관한 한 가장 중요한 부분입니다. 20분 동안의 지연은 과장된 예입니다. 오늘날 실시간 렌더링 속도는 보통 초당 30-60프레임입니다. 비디오 게임이 주로 사용하는 애니메이션은 움직이는 듯한 환상을 불러일으킬 정도로 빠르게 보여지는 일련의 정지 이미지에 불과합니다. 영화는 인간의 눈이 초당 24프레임의 자연스러운 움직임을 감지한다는 것을 가르쳐 주었습니다. 따라서 애니메이션이  시청자에게 자연스러운 것처럼 보이고 느껴지려면 일련의 이미지가 초당 24프레임 이상의 속도로 화면에 표시되어야 합니다.

이제 실시간 렌더링의 경우 프레임 속도가 느려지는 이유는 무엇일까요? 이미지 복잡성 때문입니다. 그래픽이 너무 상세하면 프로세서가 필요한 모든 계산을 계산하고 이미지를 화면에 표시하는 데 시간이 더 오래 걸립니다. 프레임이 너무 느린 속도로 표시될 경우 게임 컨트롤의 응답성이 저하됩니다. 몰입형 그래픽과 부드러운 게임플레이의 균형이 바로 여기에 있습니다. 3D 그래픽의 가장 큰 요인은 무엇일까요? 바로 조명입니다.

사전 렌더링
솔리드VFX 랩의 현대자동차 작품

신비한 방식으로 움직이는 빛

3D 그래픽을 사실적으로 보이게 하려면 빛의 물리학을 이해해야 합니다. 우리의 눈이 인식하는 모든 것은 빛을 반사하며, 다른 물체, 재질, 질감에 따라 빛이 다르게 반사됩니다. 3D 그래픽은 사실 화면에 색으로 표현되는 수학적 정보일 뿐이므로 사실적인 조명을 구현하는 것은  컴퓨터가 특정 씬 내에서 빛이 움직이는 방식을 얼마나 잘, 얼마나 효율적으로 계산하느냐에 달려 있습니다. 사전 및 실시간 렌더링은 조명을 다르게 처리합니다.

사전 렌더링
출처: Ray tracing (graphics) - Wikipedia

일반적으로, 사전 렌더링은 광선 추적이라고 불리는 기술을 사용하여 빛을 처리합니다. 간단히 말해서, 광선 추적은 우리 눈이 주변의 물체를 감지하기 위해  사용하는 것과 같은 기술입니다: 광원에서 나오는 광선이 물체에 부딪히고 반사되어 우리의 눈을 때립니다. 만약 여러분의 눈에 닿는 모든 단일 광선을 물체로 추적한 다음 다시 광원으로 돌아온다면, 그것이 바로 광선 추적입니다. 이 기술은 가장 사실적인 결과를 산출합니다.

실시간 렌더링은 일반적으로 래스터화라는 기술을 사용합니다. 이 기술은 너무 기술적으로 발전하지 않고 씬을 구성하는 3D 모델의 기하학적 정보를  2D 화면에 표시되는 픽셀로 변환합니다. 이것은 레이 트레이싱보다 더 빠른 과정이기 때문에 시스템이 1초에 30-60회 이미지를 생성해야 하는 실시간 렌더링에서 자주 사용되는 기술입니다.

렌더링 속도와 렌더링 리얼리즘

래스터화가 더 빠르다면 렌더링할 때마다 이 경로를 사용해야 하지 않을까요? 래스터화가 가져오는 속도는 절충안이 따릅니다. 래스터화된 렌더링은 일반적으로 표면에 반사되는 간접 빛을 고려하지 않기 때문에 약간의 사실성을 잃습니다. 사전 렌더링은 이것을 잘 처리하지만, 말했듯이 그렇게 하는 데 많은 시간이 더 걸립니다. 래스터화된 렌더링에서 자연광의 환상은 종종 베이킹과 같은 기술을 통해 달성됩니다. CG 리얼리즘의 핵심인 조명이 실시간 렌더링보다 사전 렌더링 방식으로 더 정교하게 처리됩니다.

급변하는 업계

그러나 하드웨어와 소프트웨어의 발전으로 레이 트레이싱과 래스터화 사이, 사전 렌더링과 실시간 렌더링 사이의 경계가 모호해지기 시작했습니다.

NVIDIA의 RTX 시리즈 GPU는 게임을 위한 실시간 렌더링에 레이 트레이싱을 사용할 수 있게 하였습니다. 그 결과 입이 다물어지지 않고 눈이 휘둥그래지는 게임 그래픽이 탄생하였습니다. 이와 같은 하드웨어 개선은 게임 크리에이터들이 영화 수준의 비주얼과 동등한 게임을 디자인할 수 있도록 하는 언리얼 엔진과 같은 소프트웨어를 탄생시켰습니다. 실제로 Unity (또 다른 실시간 렌더링 엔진)는 실시간 렌더링이 포토  리얼리즘 측면에서 얼마나 발전했는지 보여주기 위해 전적으로 실시간 렌더링을 사용하여 만든 단편 영화를 출시했습니다. 아담이단자를  보십시오. 그러나, 이전의 논의와 마찬가지로 유기적인 표면에서는 여전히 사전 렌더링이 지배적입니다. 빛이 유기 표면과 어떻게  상호작용하는지에 관한 한 너무 많은 복잡성과 그에 따른 처리해야 할 계산들이 있습니다.

반면에 사전 렌더링은 소프트웨어와 하드웨어 혁신을 통해 놀라운 3D 이미지를 출력하는 데 걸리는 시간을 줄이기 위해 효율성을 계속 발전시키고  있습니다.

지금은 3D 렌더링에 있어 사전이든 실시간이든 매우 흥미로운 시기입니다. 점점 더 많은 장벽과 한계가 무너지고 있습니다. 시각적 우수성이 올라갈수록 제작비가 낮아지는 것을 의미합니다.

앞으로의 전망이 더욱 기대가 됩니다.

관련 포스트

No items found.
No items found.
live chat