Struct CustomPassUtils.OverrideCameraRendering
Overrides the current camera, changing all the matrices and view parameters for the new one. It allows you to render objects from another camera, which can be useful in custom passes for example.
Namespace: UnityEngine.Rendering.HighDefinition
Syntax
public struct OverrideCameraRendering : IDisposable
Constructors
OverrideCameraRendering(CustomPassContext, Camera)
Overrides the current camera, changing all the matrices and view parameters for the new one.
Declaration
public OverrideCameraRendering(CustomPassContext ctx, Camera overrideCamera)
Parameters
Type | Name | Description |
---|---|---|
CustomPassContext | ctx | The current custom pass context. |
Camera | overrideCamera | The camera that will replace the current one. |
Examples
using (new HDRenderPipeline.OverrideCameraRendering(ctx, overrideCamera))
{
...
}
OverrideCameraRendering(CustomPassContext, Camera, Single)
Overrides the current camera, changing all the matrices and view parameters for the new one.
Declaration
public OverrideCameraRendering(CustomPassContext ctx, Camera overrideCamera, float overrideAspectRatio)
Parameters
Type | Name | Description |
---|---|---|
CustomPassContext | ctx | The current custom pass context. |
Camera | overrideCamera | The camera that will replace the current one. |
Single | overrideAspectRatio | The aspect ratio of the override camera. Especially useful when rendering directly into a render texture with a different aspect ratio than the current camera. |
Examples
CoreUtils.SetRenderTarget(ctx.cmd, renderTexture.colorBuffer, renderTexture.depthBuffer, clearFlag);
float aspectRatio = renderTexture.width / (float)renderTexture.height;
using (new HDRenderPipeline.OverrideCameraRendering(ctx, overrideCamera, aspectRatio))
{
...
}