URP blit 베스트 프랙티스
blit 동작은 소스 텍스처를 타겟 텍스처로 복사하는 프로세스입니다.
이 페이지에서는 URP에서 blit 동작을 수행하는 다양한 방법과 커스텀 렌더 패스를 작성할 때 따라야 할 베스트 프랙티스에 대한 개요를 제공합니다.
레거시 CommandBuffer.Blit API
URP 프로젝트에서 CommandBuffer.Blit API를 사용하지 마십시오.
CommandBuffer.Blit API는 레거시 API입니다. 이 API는 상태 변경, 텍스처 바인딩, 렌더 타겟 설정과 관련된 추가 작업을 암시적으로 실행합니다. 이러한 작업은 SRP 프로젝트 내부에서 이루어지며 사용자에게 투명하게 공개되지 않습니다.
이 API는 URP XR 통합과의 호환성 문제가 있습니다. cmd.Blit
을 사용하면 XR 셰이더 키워드를 암시적으로 활성화 또는 비활성화하여 XR SPI 렌더링을 중단시킵니다.
CommandBuffer.Blit API는 NativeRenderPass
및 RenderGraph
와 호환되지 않습니다.
내부적으로 cmd.Blit
에 의존하는 모든 유틸리티 및 래퍼에도 이와 유사한 고려 사항이 적용되며, RenderingUtils.Blit
는 그러한 예 중 하나입니다.
SRP Blitter API
URP 프로젝트에서 Blitter API를 사용하십시오. 이 API는 레거시 로직에 의존하지 않으며, XR, 네이티브 렌더 패스 및 기타 SRP API와 호환됩니다.
커스텀 전체 화면 blit 예제
URP에서 전체 화면 blit을 수행하는 방법 예제에는 전체 화면 blit을 수행하는 커스텀 렌더러 기능을 만드는 방법이 나와 있습니다. 이 예제는 XR에서 작동하며 SRP API와 호환됩니다.