-
CG에서의 렌더링이 뭘까? 그 과정은 어떻게 되는 걸까?쓰리디 2023. 7. 17. 23:00반응형
렌더링이란, 제작한 3D들을 최종적으로 뽑아내는 과정입니다.
최종적으로 뽑기 위해서 3D Source들의 Look들을 높이는 작업들을 렌더작업이라고 보시면 되겠습니다.
CG 렌더링이 무엇이고 어떤 과정을 거쳐야 하나?
렌더링은 렌더러라고 하는 특수 소프트웨어를 사용하여 3D 장면을 시각적으로 표현하는 작업으로,
이를 제작하기 위해 렌더러는 Ray tracing(광선 추적), Rasterization(레스터화), Shadow mapping(그림자 맵핑), 쉐이딩(Shading) 등의 계산과정을 거칩니다.
그렇다면 렌더링을 돌리기 위한 Source들은 뭐가 있을까요?
3D Model, Texture, Shading, Light조절을 활용한 Shadow 등을 Source로 렌더러의 계산과정을 거쳐 이미지로 Export 합니다.
그렇다면 렌더러는 어떤 계산과정으로 계산을 하고, 어떤 것들이 Render 작업 시에 필요한 Source들이 있을까요?이 과정을 두 가지로 나누어 볼 수 있겠습니다.
Computer가 작업을 하는 계산과정, 그리고 Designer들이 Render를 돌리기 위한 Source 제작.그렇다면 어떤 계산 과정(Process)과 어떤 소스(Source)들이 필요할까요?
렌더링에 필요한 Computer의 계산 과정(Process)
먼저 Renderer가 거치는 기본적인 계산과정입니다.
아래와 같은 수학적 계산들은 각 각의 렌더러, Arnold, V-Ray, Redshift, Mentalray마다 조금조금씩은 다른 알고리즘이겠지만 비슷한 계산 방식을 가지겠지요?
그렇기 때문에, 전반적으로 비슷한 Rendering에 필요한 계산 과정 들을 한번 알아보겠습니다.렌더링 파이프 라인(Render PipeLine)
렌더링 프로세스일반적으로 렌더링 파이프라인이라고도 합니다.
이에 대하여 각 단계를 자세히 살펴보겠습니다.
형상 처리(Geometry)이 단계에서 컴퓨터는 계산을 수행하여 3D 모델을 효율적으로 렌더링 할 수 있는 형태로 변환합니다.
여기에는 변환 적용, BackFace Culling이 작업이 포함됩니다.
변환 적용 (Transformation Application) 3D 모델을 원하는 위치, 회전 및 크기로 변환합니다.
뒷면 처리 (Backface Culling) 시야에 보이지 않는 면을 제거하여 처리 성능을 향상합니다.렌더링 알고리즘
이 단계에서는 다양한 렌더링 알고리즘을 사용하여 최종 이미지 또는 애니메이션을 계산합니다.
이러한 알고리즘은 래스터화와 광선 추적이라는 두 가지 주요 범주로 분류할 수 있습니다.
래스터화 (Rasterization): 3D 모델을 화면 공간에 Projection 하여 Pixel Grid로 변환합니다.
이 과정에서 Vertex과 삼각형의 보간을 수행합니다. 실시간 렌더링에 사용되는 빠른 방법이겠습니다.
광선 추적 (Ray Tracing): 광선, Ray을 통해 빛의 Reflection(반사), Refraction(굴절), Shadow(그림자)등을 추적하여 더 사실적인 결과를 생성합니다.
계산 요구 사항이 증가하는 대신 정확한 결과를 생성하겠습니다.
하지만 Graphic Card가 발전함에 따라 실시간 엔진도 Ray Tracing을 계산하면서 RayTracing도 실시간 엔진 반열에 오르게 되었습니다. 이 두 알고리즘을 적절히 분배한다면 프로젝트에 알맞은 렌더를 활용할 수 있습니다.쉐이딩(Shading)
3D Modeling의 Material에 들어간 Texture와, Lighting과의 상호작용을 계산하는 Shading 단계입니다.
Lighting은 조명과 재질 속성을 고려하여 꼭짓점이나 픽셀의 색상, 반사율, 투명도 등을 계산합니다.
Texturing은 이미지나 패턴을 통해 표면에 상세한 디테일을 계산합니다.앤티앨리어싱
이미지를 렌더링 할 때 장면을 픽셀 그리드에 매핑하는 과정에서 가장자리가 들쭉날쭉하거나 픽셀화된 앨리어싱 아티팩트가 발생할 수 있습니다. 앤티 앨리어싱 기술을 사용하여 이러한 가장자리를 매끄럽게 하고 시각적으로 만족스러운 결과를 생성합니다.
최적화
렌더링은 특히 복잡한 장면의 경우 계산 집약적일 수 있습니다.
효율적인 교차 테스트를 위한 공간 데이터 구조(예: 경계 볼륨 계층 구조) 및 여러 프로세서 또는 코어에 계산을 분산하기 위한 병렬화와 같은 다양한 최적화 기술이 렌더링 프로세스를 가속화하는 데 사용됩니다.최종 출력(Final Output)
렌더링 된 이미지나 애니메이션을 디지털 파일 형식으로 저장하거나 출력 매체에 전송하는 계산을 합니다.
추가적으로 더욱 많은 계산들이 있겠습니다.
렌더링이 어떻게 수학적으로 계산되는 것에 대한 지식이 동반되어야 하는 렌더 개발입니다.
그렇다면, CG 디자이너가 가지고 있어야 할 역량인, 그 렌더링에 필요한 소스들이 어떤 것들이 있을까요?렌더링에 필요한 3D Source
이 3D Source도 마찬가지로, 각각의 렌더러마다 Export 해야 하는 설정과 Preset이 다르겠지만, 비슷한 Map 제작방식을 거치겠습니다.
모델링(Modeling)
이 단계에서는 Modeling Software를 활용하여 Object, 캐릭터나, 배경들의 3D 표현을 생성합니다.
형상, 표면 및 Tool을 활용하여 가상세계의 밑그림을 그립니다.Shading 처리 및 Texturing
Shading(음영)에는 색상, 반사율 및 투명도와 같은 표면 속성을 3D 모델에 할당하는 작업이 포함됩니다.
텍스처링에는 이미지, 패턴을 아래와 같은 방식으로 사실적이고 상세한 표면을 만드는 작업이 포함됩니다.그리고 Lighting을 설치하고, Camera를 가져다주고, 그 단계가 아래의 Level Design입니다.
Level Design(Lighting, Cam 배치)
이 단계에서는 3D Object와 Light와 Camera를 배치를 합니다.
이 배치를 통하여 Scene안에서 보여지는 분위기를 각각의 Object들이 상호 작용할 수 있도록 디자인합니다.
또, Noise를 제거하고, Rendering을 돌리기 위해서 소요할 시간을 계산도 해야겠습니다.
필요시 추가 Animation까지 들어간다면, 더욱 생생한 영상을 제작할 수 있겠지요.PostProcessing
대기 효과 및 배경 요소등의 환경 요소를 설정하여 가상 장면을 준비합니다.
이러한 요소의 배치에 따라, 속성에 따라 최종 렌더링에 큰 영향을 미칩니다.
여기에는 광원 Siumulation, 표면 조명 계산, 그림자, 반사 및 굴절 설명이 포함됩니다.
실시간 Engine 같은 경우에는 PostProcessing안에 아래의 후보정 처리까지 한 번에 가능합니다.합성과 후보정 처리
합성과 후보정은 렌더링 그 후 작업입니다.
후보정 처리는 초기 렌더링 결과를 개선하기 위해 ColorGrading(색상 보정), DOF(피사계 심도 효과), MotionBlur(모션 블러)등을 적용합니다.
초기 렌더링이 완료된 후 최종 출력을 향상하기 위해 촬영된 영상과 3D Render를 연결하는 합성 작업을 진행합니다.
그렇기 때문에 합성과 렌더링 그 이후에, 후보정 처리와 합성작업 위해 아래 Nuke와 같은 프로그램들로 합성 작업까지 한다면,
더욱 Look의 Quality를 높일 수 있겠습니다.CG에서는, 영상을 만들기 위해 작업들의 단계를 더욱 세세히 나눈다면 더욱 정밀한 과정이 되겠습니다.
최최종 Export
두 번째 Render과정이라 생각하면 됩니다.
3D Animation, 가상공간의 Render과정은 한 번의 Render과정을 거치겠지만, Nuke와 같은 합성프로그램에서 또 한 번 더 Export 과정을 거칩니다.
이 단계에는 렌더링 된 이미지를 이어 영상으로 변환하고, 애니메이션을 비디오와 같은 각 PlatForm에 맞춰 Build 또는 최종 Render를 돌리는 작업입니다.각 단계들 중에서 하나가 잘못되더라도, 접할 수 있는 오류들이 많습니다.
그렇기 때문에, 이 단계를 부드럽게 연결하기 위해서는 전반적인 지식이 필요하겠지요?
마무리
렌더링은 이 모든 3D를 종합을 하고, 최종으로 뽑아내기 위한 CG Source제작 파이프라인의 마지막 단계입니다.
Rendering이 어떻게 돌아가는지가 궁금하고 개발하고 싶고, Render Process의 수학적인 계산 방식을 개발하고 싶다면,
👉🏼Engine 개발자로서의 컴퓨터 언어를 공부야 하겠고,
Rendering이 돌아가는 Source들이 어떤 것들이 있고 Visual적인 Look을 잡고 싶다면,
👉🏼3D designer로써의 3D Software 활용 능력을 키워야겠습니다.그렇지만, 렌더링 파이프라인의 단계는 CG 업계에서 일하는 아티스트, 디자이너에게도 매우 중요하기 때문에,
Render의 이해를 통해 영화, 게임등에 제작되는 Source 제작을 이해도 높게 작업할 수 있습니다.
남만 알고 있는 쓰리디에 대한 정보를
속이 쓰리지 않게,
소기쓰리디반응형'쓰리디' 카테고리의 다른 글
Vray란? 활용시 이점은? (0) 2023.07.20 RayTracing의 기본적인 개념과 단계 (0) 2023.07.18 Ray란? (Feat.가상세계 모방의 근원) (0) 2023.07.16 Maya, Tracking Tool 단축키 설정 (0) 2023.07.15 Maya의 Classic한 기본 Material, Lambert, Blinn, Phong, PhongE (0) 2023.07.15