렌더 파이프라인은 씬의 콘텐츠를 가져와서 화면에 표시하는 일련의 작업을 수행합니다. 수행하는 작업의 간략한 내용은 다음과 같습니다.
- 컬링 (Culling):
- 컬링은 화면에 보이지 않는 오브젝트들을 제거하여 성능을 최적화하는 과정입니다.
- 카메라의 시야 안에 들어오지 않는 오브젝트들을 제거함으로써 GPU가 처리해야 할 오브젝트의 수를 줄여 성능을 향상시킵니다.
- 유니티에서는 Frustum Culling(원뿔 컬링)을 사용하여 카메라 시야 내에 있는 것으로 보이는 것만 렌더링 대상으로 삼습니다. 또한, Occlusion Culling(가려짐 컬링)과 같은 기술을 이용하여 화면에서 가려진 오브젝트를 처리합니다.
- 렌더링 (Rendering):
- 렌더링은 실제로 오브젝트의 그래픽을 화면에 그리는 과정입니다.
- 오브젝트의 기하학적 정보(Geometry)와 텍스처, 머티리얼(Material), 라이팅 정보(Lighting) 등을 이용하여 실제로 화면에 픽셀 단위로 그래픽을 렌더링합니다.
- 렌더링 단계에서는 버텍스 셰이더(Vertex Shader)와 픽셀 셰이더(Pixel Shader) 등이 사용되어 오브젝트를 화면에 그리기 위한 작업을 수행합니다.
- 포스트프로세싱 (Post-processing):
- 포스트프로세싱은 렌더링된 이미지에 추가적인 효과나 조정을 적용하는 단계입니다.
- 렌더링된 이미지에 대해 블러(blur), 색상 보정(color correction), 광학 효과(optical effects) 등을 적용하여 최종적인 시각적 효과를 부여합니다.
- 흔히 사용되는 포스트프로세싱 효과에는 블룸(Bloom), 포그(FOG), 도플러 효과(Doppler effect) 등이 있습니다.
- Unity에서는 Post-processing Stack과 같은 도구를 이용하여 쉽게 포스트프로세싱 효과를 적용할 수 있습니다.
랜더링 파이프라인의 종류
- Universal Render Pipeline (URP):
- URP는 경량화된 렌더링 파이프라인으로, 모바일 디바이스나 성능이 중요한 플랫폼에서 좋은 성능을 발휘합니다.
- 주로 모바일 기기나 휴대폰, 태블릿, PC 등에서의 게임 개발에 많이 사용됩니다.
- 최적화된 성능과 함께 시각적으로 매력적인 결과물을 얻을 수 있도록 설계되어 있습니다.
- 기존의 레거시 렌더링 파이프라인과 비교했을 때, URP는 쉐이더 그래프(Shader Graph)나 쉐이더 기능에 대한 업데이트와 함께 향상된 유연성을 제공합니다.
- High Definition Render Pipeline (HDRP):
- HDRP는 더 높은 품질의 시각 효과를 위해 고안된 렌더링 파이프라인입니다.
- 실사와 유사한 현실적인 그래픽을 구현하고자 하는 프로젝트나 PC, 콘솔 게임 개발에 주로 사용됩니다.
- HDRP는 더 많은 빛과 음영 처리, 더 정교한 그래픽스 효과 및 렌더링 기술을 제공하여 고화질 그래픽을 위한 많은 기능들을 지원합니다.
- 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 |