삽입 지점
URP에는 프레임 렌더링 루프에 렌더 패스를 삽입하고 다른 이벤트에 따라 실행할 수 있는 여러 삽입 지점이 포함되어 있습니다.
삽입 지점은 커스텀 렌더 패스에 URP 버퍼에 대한 액세스 권한을 부여합니다. 렌더 패스는 각 삽입 지점의 모든 버퍼에 대한 읽기 및 쓰기 액세스 권한을 보유합니다.
Unity는 렌더링 루프에서 다음과 같은 이벤트를 제공합니다. 이러한 이벤트를 사용하여 커스텀 패스를 삽입할 수 있습니다.
삽입 지점 | 설명 |
---|---|
BeforeRendering | 현재 카메라에 대한 파이프라인의 다른 패스를 렌더링하기 전에 ScriptableRenderPass 인스턴스를 실행합니다. 카메라 매트릭스와 스테레오 렌더링은 이 시점에서 설정되지 않습니다. 이 삽입 지점을 사용하여 나중에 파이프라인에서 사용되는 커스텀 입력 텍스처(예: LUT 텍스처)에 그릴 수 있습니다. |
BeforeRenderingShadows | 섀도우 맵(MainLightShadow, AdditionalLightsShadow 패스)을 렌더링하기 전에 ScriptableRenderPass 인스턴스를 실행합니다.카메라 매트릭스와 스테레오 렌더링은 이 시점에서 설정되지 않습니다. |
AfterRenderingShadows | 섀도우 맵(MainLightShadow, AdditionalLightsShadow 패스)을 렌더링한 후에 ScriptableRenderPass 인스턴스를 실행합니다.카메라 매트릭스와 스테레오 렌더링은 이 시점에서 설정되지 않습니다. |
BeforeRenderingPrePasses | 렌더링 프리패스(DepthPrepass, DepthNormalPrepass 패스) 전에 ScriptableRenderPass 인스턴스를 실행합니다.카메라 매트릭스와 스테레오 렌더링은 이 시점에 이미 설정되어 있습니다. |
AfterRenderingPrePasses | 렌더링 프리패스(DepthPrepass, DepthNormalPrepass 패스) 후에 ScriptableRenderPass 인스턴스를 실행합니다.카메라 매트릭스와 스테레오 렌더링은 이 시점에 설정됩니다. |
BeforeRenderingGbuffer | GBuffer 패스를 렌더링하기 전에 ScriptableRenderPass 인스턴스를 실행합니다. |
AfterRenderingGbuffer | GBuffer 패스를 렌더링한 후에 ScriptableRenderPass 인스턴스를 실행합니다. |
BeforeRenderingDeferredLights | Deferred 패스를 렌더링하기 전에 ScriptableRenderPass 인스턴스를 실행합니다. |
AfterRenderingDeferredLights | Deferred 패스를 렌더링한 후에 ScriptableRenderPass 인스턴스를 실행합니다. |
BeforeRenderingOpaques | 불투명 오브젝트(DrawOpaqueObjects 패스)를 렌더링하기 전에 ScriptableRenderPass 인스턴스를 실행합니다. |
AfterRenderingOpaques | 불투명 오브젝트(DrawOpaqueObjects 패스)를 렌더링한 후에 ScriptableRenderPass 인스턴스를 실행합니다. |
BeforeRenderingSkybox | 스카이박스(Camera.RenderSkybox 패스)를 렌더링하기 전에 ScriptableRenderPass 인스턴스를 실행합니다. |
AfterRenderingSkybox | 스카이박스(Camera.RenderSkybox 패스)를 렌더링한 후에 ScriptableRenderPass 인스턴스를 실행합니다. |
BeforeRenderingTransparents | 투명 오브젝트(DrawTransparentObjects 패스)를 렌더링하기 전에 ScriptableRenderPass 인스턴스를 실행합니다. |
AfterRenderingTransparents | 투명 오브젝트(DrawTransparentObjects 패스)를 렌더링한 후에 ScriptableRenderPass 인스턴스를 실행합니다. |
BeforeRenderingPostProcessing | 포스트 프로세싱 효과(Render PostProcessing Effects 패스)를 렌더링하기 전에 ScriptableRenderPass 인스턴스를 실행합니다. |
AfterRenderingPostProcessing | 포스트 프로세싱 효과를 렌더링한 이후이지만 최종 blit, 포스트 프로세싱 안티앨리어싱 효과, 컬러 그레이딩을 수행하기는 전에 ScriptableRenderPass 인스턴스를 실행합니다. |
AfterRendering | 다른 모든 패스를 렌더링한 후 ScriptableRenderPass 인스턴스를 실행합니다. |
다음 다이어그램은 URP 프레임의 패스 및 프레임 리소스 흐름을 보여줍니다.