Skip to content

CVR Blitter

Runs Unity’s Graphics.Blit with optional material overrides, automatic output clearing, and a multi-target mode that uses a GL pass with up to eight color buffers.

NameTypeDescription
originTextureRenderTextureThe input texture used as the source for the blit.
destinationTextureRenderTextureThe output texture that receives the blit result (single-target mode).
blitMaterialMaterialThe material applied during the blit operation.
clearEveryFrameboolWhen on, clears destinationTexture to transparent each frame before blitting.
destinationTexturesRenderTexture[]Multi-target mode outputs. Null entries are filtered at Start.
_MultiTargetBlitModeboolSwitches to the GL-based fullscreen quad blit that writes into every entry above.
  • If destinationTexture is null, the blit uses the material’s implicit target (Graphics.Blit(originTexture, material)).
  • If source and destination point at the same texture, the blit ping-pongs through a temporary.
  • Otherwise the blit writes originTexture into destinationTexture through blitMaterial.

When _MultiTargetBlitMode is true, the component issues a GL pass that draws a fullscreen quad into every color buffer in destinationTextures (using the depth buffer of destinationTextures[0]). blitMaterial must be written to sample _MainTex — the component temporarily overrides that to point at originTexture during the pass.

By default, the blit runs on Camera.onPreRender for Camera.main. When a CVR Blitter Controller references this blitter, SetupBlitterForExternalControl is called so this component stops driving itself and is triggered in the controller’s order instead.

  • CVR-GameFiles/CVRBlitter.cs