GrabPass는 프레임 버퍼의 콘텐츠를 텍스처로 가져오는 특수한 패스 유형을 생성하는 커맨드입니다. 이 텍스처는 후속 패스에서 고급 이미지 기반 효과를 만들기 위해 사용할 수 있습니다.
이 커맨드로 인해 CPU 및 GPU 프레임 시간이 모두 크게 늘어날 수 있습니다. 일반적으로 빠른 프로토타이핑을 위해 이 커맨드를 사용하지 않고 다른 방법으로 효과를 구현하는 것이 좋습니다. 이 커맨드를 사용하는 경우 이 커맨드의 사용량을 줄이거나, 해당하는 경우 이름이 지정된 텍스처로 화면을 가져오는 서명을 사용하여 화면 가져오기 작업의 수를 최대한 줄이십시오.
| 기능 이름 | URP(유니버설 렌더 파이프라인) | HDRP(고해상도 렌더 파이프라인) | 커스텀 SRP | 빌트인 렌더 파이프라인 |
|---|---|---|---|---|
| GrabPass | 지원 안 함 | 지원 안 함 | 지원 안 함 | 지원 |
서브셰이더 블록에서 이 커맨드를 사용하십시오.
두 가지 서명은 기능이 다르며 성능에 미치는 영향도 다릅니다. 이름이 지정된 텍스처를 사용하면 화면 캡처 작업이 상당히 줄어들어 리소스를 많이 소모하는 이 커맨드의 영향을 줄일 수 있습니다.
| 서명 | 기능 |
|---|---|
GrabPass { } |
프레임 버퍼 콘텐츠를 동일한 서브셰이더의 후속 패스에서 사용할 수 있는 텍스처로 가져옵니다. _GrabTexture라는 이름으로 텍스처를 참조합니다. 이 서명을 사용하면 Unity는 이 커맨드가 포함된 배치를 렌더링할 때마다 화면을 가져옵니다. 즉, Unity가 프레임당 여러 번, 즉 배치별로 한 번씩 화면을 가져올 수 있습니다. |
GrabPass { "ExampleTextureName" } |
프레임 버퍼 콘텐츠를 여러 서브셰이더에서 동일한 프레임의 후속 패스에서 액세스할 수 있는 텍스처로 가져옵니다. 주어진 이름을 사용하여 텍스처를 참조합니다. 이 서명을 사용하면 Unity는 주어진 텍스처 이름으로 이 커맨드가 포함된 배치를 렌더링하는 프레임에서 화면을 처음 가져옵니다. |