본문 바로가기

CS

유니티 렌더링 파이프라인

렌더 파이프라인은 씬의 콘텐츠를 가져와서 화면에 표시하는 일련의 작업을 수행합니다. 수행하는 작업의 간략한 내용은 다음과 같습니다.

 

  1. 컬링 (Culling):
    • 컬링은 화면에 보이지 않는 오브젝트들을 제거하여 성능을 최적화하는 과정입니다.
    • 카메라의 시야 안에 들어오지 않는 오브젝트들을 제거함으로써 GPU가 처리해야 할 오브젝트의 수를 줄여 성능을 향상시킵니다.
    • 유니티에서는 Frustum Culling(원뿔 컬링)을 사용하여 카메라 시야 내에 있는 것으로 보이는 것만 렌더링 대상으로 삼습니다. 또한, Occlusion Culling(가려짐 컬링)과 같은 기술을 이용하여 화면에서 가려진 오브젝트를 처리합니다.
  2. 렌더링 (Rendering):
    • 렌더링은 실제로 오브젝트의 그래픽을 화면에 그리는 과정입니다.
    • 오브젝트의 기하학적 정보(Geometry)와 텍스처, 머티리얼(Material), 라이팅 정보(Lighting) 등을 이용하여 실제로 화면에 픽셀 단위로 그래픽을 렌더링합니다.
    • 렌더링 단계에서는 버텍스 셰이더(Vertex Shader)와 픽셀 셰이더(Pixel Shader) 등이 사용되어 오브젝트를 화면에 그리기 위한 작업을 수행합니다.
  3. 포스트프로세싱 (Post-processing):
    • 포스트프로세싱은 렌더링된 이미지에 추가적인 효과나 조정을 적용하는 단계입니다.
    • 렌더링된 이미지에 대해 블러(blur), 색상 보정(color correction), 광학 효과(optical effects) 등을 적용하여 최종적인 시각적 효과를 부여합니다.
    • 흔히 사용되는 포스트프로세싱 효과에는 블룸(Bloom), 포그(FOG), 도플러 효과(Doppler effect) 등이 있습니다.
    • Unity에서는 Post-processing Stack과 같은 도구를 이용하여 쉽게 포스트프로세싱 효과를 적용할 수 있습니다.

 

랜더링 파이프라인의 종류

  1. Universal Render Pipeline (URP):
    • URP는 경량화된 렌더링 파이프라인으로, 모바일 디바이스나 성능이 중요한 플랫폼에서 좋은 성능을 발휘합니다.
    • 주로 모바일 기기나 휴대폰, 태블릿, PC 등에서의 게임 개발에 많이 사용됩니다.
    • 최적화된 성능과 함께 시각적으로 매력적인 결과물을 얻을 수 있도록 설계되어 있습니다.
    • 기존의 레거시 렌더링 파이프라인과 비교했을 때, URP는 쉐이더 그래프(Shader Graph)나 쉐이더 기능에 대한 업데이트와 함께 향상된 유연성을 제공합니다.
  2. High Definition Render Pipeline (HDRP):
    • HDRP는 더 높은 품질의 시각 효과를 위해 고안된 렌더링 파이프라인입니다.
    • 실사와 유사한 현실적인 그래픽을 구현하고자 하는 프로젝트나 PC, 콘솔 게임 개발에 주로 사용됩니다.
    • HDRP는 더 많은 빛과 음영 처리, 더 정교한 그래픽스 효과 및 렌더링 기술을 제공하여 고화질 그래픽을 위한 많은 기능들을 지원합니다.
  3. Scriptable Render Pipeline (SRP):
    • SRP는 개발자가 자신만의 렌더링 파이프라인을 만들 수 있도록 하는 프레임워크입니다.
    • Unity 엔진 내부의 렌더링 파이프라인을 개발자가 직접 제어하고, 커스터마이징할 수 있도록 해줍니다.
    • URP와 HDRP는 SRP를 기반으로 만들어졌으며, 사용자 정의 가능성과 확장성을 높여주는 역할을 합니다.
    • SRP를 사용하면 고유한 요구 사항에 맞게 렌더링 파이프라인을 만들거나 최적화할 수 있습니다.

'CS' 카테고리의 다른 글

MVC 패턴이란  (1) 2023.11.21
드로우 콜(Draw Call) 배칭이란  (0) 2023.11.21
디자인 패턴을 사용하는 이유  (1) 2023.11.20
인터페이스와 추상클래스의 차이  (1) 2023.11.20
오버로딩과 오버라이딩의 차이점  (0) 2023.11.20