Version: 2021.2
스크립터블 렌더 파이프라인 기초
스크립터블 렌더 파이프라인에서 렌더링 커맨드 예약 및 실행

스크립터블 렌더 파이프라인 소개

이 페이지는 Unity의 스크립터블 렌더 파이프라인(SRP)이 동작하는 방식을 설명하고 몇 가지 주요 개념 및 용어를 설명합니다. 이 페이지의 정보는 유니버설 렌더 파이프라인(URP), 고해상도 렌더 파이프라인(HDRP), 그리고 SRP에 기반한 커스텀 렌더 파이프라인에 적용됩니다.

스크립터블 렌더 파이프라인은 C# 스크립트를 사용하여 렌더링 커맨드를 예약하고 설정할 수 있는 씬 API 레이어입니다. Unity는 이러한 커맨드를 저수준 그래픽스 아키텍처로 전달한 후 그래픽스 API에 명령을 전송합니다.

URP와 HDRP는 SRP를 기반으로 빌드됩니다. 또한 SRP를 기반으로 커스텀 렌더 파이프라인을 만들 수도 있습니다.

렌더 파이프라인 인스턴스 및 렌더 파이프라인 에셋

SRP에 기반한 모든 렌더 파이프라인에는 다음의 두 가지 주요 커스터마이징 요소가 있습니다.

  • 첫 번째 요소는 렌더 파이프라인 인스턴스로, 렌더 파이프라인의 기능을 정의하는 클래스의 인스턴스입니다. 이 인스턴스의 스크립트는 RenderPipeline을 상속하며, Render() 메서드를 오버라이드합니다.
  • 두 번째 요소는 렌더 파이프라인 에셋으로, 어느 렌더 파이프라인 인스턴스를 사용할지 및 어떻게 구성할지에 대한 데이터를 저장하는 Unity 프로젝트 에셋입니다. 이 에셋의 스크립트는 RenderPipelineAsset을 상속하며, CreatePipeline() 메서드를 오버라이드합니다.

이러한 요소에 대한 자세한 정보 및 이러한 요소를 커스텀 렌더 파이프라인에서 만드는 방법에 대한 지침은 렌더 파이프라인 에셋 및 렌더 파이프라인 인스턴스 만들기를 참조하십시오.

ScriptableRenderContext

ScriptableRenderContext는 렌더 파이프라인의 커스텀 C# 코드와 Unity의 저수준 그래픽스 코드 간의 인터페이스 역할을 하는 클래스입니다.

ScriptableRenderContext API를 사용하여 렌더링 커맨드를 예약하고 실행할 수 있습니다. 자세한 내용은 스크립터블 렌더 파이프라인에서 렌더링 커맨드 예약 및 실행을 참조하십시오.

엔트리 포인트 및 콜백

SRP로 작업하는 경우 이를 통해 Unity가 특정 시점에 C# 코드를 호출하도록 만들 수 있습니다.

스크립터블 렌더 파이프라인 기초
스크립터블 렌더 파이프라인에서 렌더링 커맨드 예약 및 실행