Struct CameraData
Struct that holds settings related to camera.
Inherited Members
Namespace: UnityEngine.Rendering.Universal
Assembly: Unity.RenderPipelines.Universal.Runtime.dll
Syntax
public struct CameraData
Properties
allowHDROutput
True if this camera allow color conversion and encoding for high dynamic range displays.
Declaration
public ref bool allowHDROutput { get; }
Property Value
| Type | Description |
|---|---|
| bool |
antialiasing
Controls the anti-alising mode used by the integrated post-processing stack.
When any other value other than AntialiasingMode.None is chosen, a final post-processing pass will be applied to apply anti-aliasing.
This pass can be combined with dithering.
AntialiasingMode
isDitheringEnabled
Declaration
public ref AntialiasingMode antialiasing { get; }
Property Value
| Type | Description |
|---|---|
| AntialiasingMode |
antialiasingQuality
Controls the anti-alising quality of the anti-aliasing mode. antialiasingQuality AntialiasingMode
Declaration
public ref AntialiasingQuality antialiasingQuality { get; }
Property Value
| Type | Description |
|---|---|
| AntialiasingQuality |
backgroundColor
Final background color in the active color space.
Declaration
public ref Color backgroundColor { get; }
Property Value
| Type | Description |
|---|---|
| Color |
baseCamera
Camera at the top of the overlay camera stack
Declaration
public ref Camera baseCamera { get; }
Property Value
| Type | Description |
|---|---|
| Camera |
camera
The camera component.
Declaration
public ref Camera camera { get; }
Property Value
| Type | Description |
|---|---|
| Camera |
cameraTargetDescriptor
Render texture settings used to create intermediate camera textures for rendering.
Declaration
public ref RenderTextureDescriptor cameraTargetDescriptor { get; }
Property Value
| Type | Description |
|---|---|
| RenderTextureDescriptor |
cameraType
The camera type. CameraType
Declaration
public ref CameraType cameraType { get; }
Property Value
| Type | Description |
|---|---|
| CameraType |
captureActions
Provides set actions to the renderer to be triggered at the end of the render loop for camera capture.
Declaration
public ref IEnumerator<Action<RenderTargetIdentifier, CommandBuffer>> captureActions { get; }
Property Value
| Type | Description |
|---|---|
| IEnumerator<Action<RenderTargetIdentifier, CommandBuffer>> |
clearDepth
True if this camera should clear depth buffer. This setting only applies to cameras of type CameraRenderType.Overlay
CameraRenderType
Declaration
public ref bool clearDepth { get; }
Property Value
| Type | Description |
|---|---|
| bool |
defaultOpaqueSortFlags
The sorting criteria used when drawing opaque objects by the internal URP render passes. When a GPU supports hidden surface removal, URP will rely on that information to avoid sorting opaque objects front to back and benefit for more optimal static batching.
Declaration
public ref SortingCriteria defaultOpaqueSortFlags { get; }
Property Value
| Type | Description |
|---|---|
| SortingCriteria |
See Also
hdrDisplayColorGamut
HDR Display Color Gamut
Declaration
public ColorGamut hdrDisplayColorGamut { get; }
Property Value
| Type | Description |
|---|---|
| ColorGamut |
hdrDisplayInformation
HDR Display information about the current display this camera is rendering to.
Declaration
public HDROutputUtils.HDRDisplayInformation hdrDisplayInformation { get; }
Property Value
| Type | Description |
|---|---|
| HDROutputUtils.HDRDisplayInformation |
historyManager
The camera history texture manager. Used to access camera history from a ScriptableRenderPass.
Declaration
public ref UniversalCameraHistory historyManager { get; }
Property Value
| Type | Description |
|---|---|
| UniversalCameraHistory |
See Also
isAlphaOutputEnabled
True if this camera writes the alpha channel. Requires to color target to have an alpha channel.
Declaration
public ref bool isAlphaOutputEnabled { get; }
Property Value
| Type | Description |
|---|---|
| bool |
isDefaultViewport
True if this camera is drawing to a viewport that maps to the entire screen.
Declaration
public ref bool isDefaultViewport { get; }
Property Value
| Type | Description |
|---|---|
| bool |
isDitheringEnabled
If set to true a final post-processing pass will be applied to apply dithering. This can be combined with post-processing antialiasing. antialiasing
Declaration
public ref bool isDitheringEnabled { get; }
Property Value
| Type | Description |
|---|---|
| bool |
isHDROutputActive
True if the Camera should output to an HDR display.
Declaration
public bool isHDROutputActive { get; }
Property Value
| Type | Description |
|---|---|
| bool |
isHdrEnabled
True if this camera should render to high dynamic range color targets.
Declaration
public ref bool isHdrEnabled { get; }
Property Value
| Type | Description |
|---|---|
| bool |
isPreviewCamera
True if the camera rendering is for the preview window in the editor.
Declaration
public bool isPreviewCamera { get; }
Property Value
| Type | Description |
|---|---|
| bool |
isSceneViewCamera
True if the camera rendering is for the scene window in the editor.
Declaration
public bool isSceneViewCamera { get; }
Property Value
| Type | Description |
|---|---|
| bool |
isStopNaNEnabled
If set to true, the integrated post-processing stack will replace any NaNs generated by render passes prior to post-processing with black/zero. Enabling this option will cause a noticeable performance impact. It should be used while in development mode to identify NaN issues.
Declaration
public ref bool isStopNaNEnabled { get; }
Property Value
| Type | Description |
|---|---|
| bool |
maxShadowDistance
Maximum shadow distance visible to the camera. When set to zero shadows will be disable for that camera.
Declaration
public ref float maxShadowDistance { get; }
Property Value
| Type | Description |
|---|---|
| float |
postProcessEnabled
True if post-processing is enabled for this camera.
Declaration
public ref bool postProcessEnabled { get; }
Property Value
| Type | Description |
|---|---|
| bool |
postProcessingRequiresDepthTexture
Returns true if post processing passes require depth texture.
Declaration
public ref bool postProcessingRequiresDepthTexture { get; }
Property Value
| Type | Description |
|---|---|
| bool |
renderScale
Render scale to apply when creating camera textures. Scaled extents are rounded down to integers.
Declaration
public ref float renderScale { get; }
Property Value
| Type | Description |
|---|---|
| float |
renderType
The camera render type used for camera stacking. CameraRenderType
Declaration
public ref CameraRenderType renderType { get; }
Property Value
| Type | Description |
|---|---|
| CameraRenderType |
renderer
Returns the current renderer used by this camera. ScriptableRenderer
Declaration
public ref ScriptableRenderer renderer { get; }
Property Value
| Type | Description |
|---|---|
| ScriptableRenderer |
rendersOverlayUI
True if the Camera should render overlay UI.
Declaration
public bool rendersOverlayUI { get; }
Property Value
| Type | Description |
|---|---|
| bool |
requiresDepthTexture
True if this camera requires to write _CameraDepthTexture.
Declaration
public ref bool requiresDepthTexture { get; }
Property Value
| Type | Description |
|---|---|
| bool |
requiresOpaqueTexture
True if this camera requires to copy camera color texture to _CameraOpaqueTexture.
Declaration
public ref bool requiresOpaqueTexture { get; }
Property Value
| Type | Description |
|---|---|
| bool |
resolveFinalTarget
True if this camera is resolving rendering to the final camera render target. When rendering a stack of cameras only the last camera in the stack will resolve to camera target.
Declaration
public ref bool resolveFinalTarget { get; }
Property Value
| Type | Description |
|---|---|
| bool |
targetTexture
Controls the final target texture for a camera. If null camera will resolve rendering to screen.
Declaration
public ref RenderTexture targetTexture { get; }
Property Value
| Type | Description |
|---|---|
| RenderTexture |
volumeLayerMask
The camera volume layer mask.
Declaration
public ref LayerMask volumeLayerMask { get; }
Property Value
| Type | Description |
|---|---|
| LayerMask |
volumeTrigger
The camera volume trigger.
Declaration
public ref Transform volumeTrigger { get; }
Property Value
| Type | Description |
|---|---|
| Transform |
worldSpaceCameraPos
Camera position in world space.
Declaration
public ref Vector3 worldSpaceCameraPos { get; }
Property Value
| Type | Description |
|---|---|
| Vector3 |
xr
XRPass holds the render target information and a list of XRView. XRView contains the parameters required to render (projection and view matrices, viewport, etc)
Declaration
public XRPass xr { get; }
Property Value
| Type | Description |
|---|---|
| XRPass |
xrRendering
Returns true if XR rendering is enabled.
Declaration
public ref bool xrRendering { get; }
Property Value
| Type | Description |
|---|---|
| bool |
Methods
GetGPUProjectionMatrix(int)
Returns the camera GPU projection matrix. This contains platform specific changes to handle y-flip and reverse z. Includes camera jitter if required by active features.
Similar to GL.GetGPUProjectionMatrix but queries URP internal state to know if the pipeline is rendering to render texture.
For more info on platform differences regarding camera projection check: https://docs.unity3d.com/Manual/SL-PlatformDifferences.html
Declaration
public Matrix4x4 GetGPUProjectionMatrix(int viewIndex = 0)
Parameters
| Type | Name | Description |
|---|---|---|
| int | viewIndex | View index in case of stereo rendering. By default |
Returns
| Type | Description |
|---|---|
| Matrix4x4 |
See Also
GetGPUProjectionMatrixNoJitter(int)
Returns the camera GPU projection matrix. This contains platform specific changes to handle y-flip and reverse z. Does not include any camera jitter.
Similar to GL.GetGPUProjectionMatrix but queries URP internal state to know if the pipeline is rendering to render texture.
For more info on platform differences regarding camera projection check: https://docs.unity3d.com/Manual/SL-PlatformDifferences.html
Declaration
public Matrix4x4 GetGPUProjectionMatrixNoJitter(int viewIndex = 0)
Parameters
| Type | Name | Description |
|---|---|---|
| int | viewIndex | View index in case of stereo rendering. By default |
Returns
| Type | Description |
|---|---|
| Matrix4x4 |
See Also
GetProjectionMatrix(int)
Returns the camera projection matrix. Might be jittered for temporal features.
Declaration
public Matrix4x4 GetProjectionMatrix(int viewIndex = 0)
Parameters
| Type | Name | Description |
|---|---|---|
| int | viewIndex | View index in case of stereo rendering. By default |
Returns
| Type | Description |
|---|---|
| Matrix4x4 | The camera projection matrix. |
GetViewMatrix(int)
Returns the camera view matrix.
Declaration
public Matrix4x4 GetViewMatrix(int viewIndex = 0)
Parameters
| Type | Name | Description |
|---|---|---|
| int | viewIndex | View index in case of stereo rendering. By default |
Returns
| Type | Description |
|---|---|
| Matrix4x4 | The camera view matrix. |
IsHandleYFlipped(RTHandle)
True is the handle has its content flipped on the y axis. This happens only with certain rendering APIs. On those platforms, any handle will have its content flipped unless rendering to a backbuffer, however, the scene view will always be flipped. When transitioning from a flipped space to a non-flipped space - or vice-versa - the content must be flipped in the shader: shouldPerformYFlip = IsHandleYFlipped(source) != IsHandleYFlipped(target)
Declaration
public bool IsHandleYFlipped(RTHandle handle)
Parameters
| Type | Name | Description |
|---|---|---|
| RTHandle | handle | Handle to check the flipped status on. |
Returns
| Type | Description |
|---|---|
| bool | True is the content is flipped in y. |
IsRenderTargetProjectionMatrixFlipped(RTHandle, RTHandle)
True if the render target's projection matrix is flipped. This happens when the pipeline is rendering to a render texture in non OpenGL platforms. If you are doing a custom Blit pass to copy camera textures (_CameraColorTexture, _CameraDepthAttachment) you need to check this flag to know if you should flip the matrix when rendering with for cmd.Draw* and reading from camera textures.
Declaration
public bool IsRenderTargetProjectionMatrixFlipped(RTHandle color, RTHandle depth = null)
Parameters
| Type | Name | Description |
|---|---|---|
| RTHandle | color | Color render target to check whether the matrix is flipped. |
| RTHandle | depth | Depth render target which is used if color is null. By default |
Returns
| Type | Description |
|---|---|
| bool | True if the render target's projection matrix is flipped. |