Class RTHandles
Default instance of a RTHandleSystem
Inherited Members
Namespace: UnityEngine.Rendering
Syntax
public static class RTHandles
Properties
maxHeight
Maximum allocated height of the default RTHandle System
Declaration
public static int maxHeight { get; }
Property Value
Type | Description |
---|---|
Int32 |
maxWidth
Maximum allocated width of the default RTHandle System
Declaration
public static int maxWidth { get; }
Property Value
Type | Description |
---|---|
Int32 |
rtHandleProperties
Current properties of the default RTHandle System
Declaration
public static RTHandleProperties rtHandleProperties { get; }
Property Value
Type | Description |
---|---|
RTHandleProperties |
Methods
Alloc(Int32, Int32, Int32, DepthBits, GraphicsFormat, FilterMode, TextureWrapMode, TextureDimension, Boolean, Boolean, Boolean, Boolean, Int32, Single, MSAASamples, Boolean, Boolean, RenderTextureMemoryless, VRTextureUsage, String)
Allocate a new fixed sized RTHandle with the default RTHandle System.
Declaration
public static RTHandle Alloc(int width, int height, int slices = 1, DepthBits depthBufferBits = DepthBits.None, GraphicsFormat colorFormat = GraphicsFormat.R8G8B8A8_SRGB, FilterMode filterMode = FilterMode.Point, TextureWrapMode wrapMode = TextureWrapMode.Repeat, TextureDimension dimension = TextureDimension.Tex2D, bool enableRandomWrite = false, bool useMipMap = false, bool autoGenerateMips = true, bool isShadowMap = false, int anisoLevel = 1, float mipMapBias = 0F, MSAASamples msaaSamples = MSAASamples.None, bool bindTextureMS = false, bool useDynamicScale = false, RenderTextureMemoryless memoryless = RenderTextureMemoryless.None, VRTextureUsage vrUsage = VRTextureUsage.None, string name = "")
Parameters
Type | Name | Description |
---|---|---|
Int32 | width | With of the RTHandle. |
Int32 | height | Heigh of the RTHandle. |
Int32 | slices | Number of slices of the RTHandle. |
DepthBits | depthBufferBits | Bit depths of a depth buffer. |
GraphicsFormat | colorFormat | GraphicsFormat of a color buffer. |
FilterMode | filterMode | Filtering mode of the RTHandle. |
TextureWrapMode | wrapMode | Addressing mode of the RTHandle. |
TextureDimension | dimension | Texture dimension of the RTHandle. |
Boolean | enableRandomWrite | Set to true to enable UAV random read writes on the texture. |
Boolean | useMipMap | Set to true if the texture should have mipmaps. |
Boolean | autoGenerateMips | Set to true to automatically generate mipmaps. |
Boolean | isShadowMap | Set to true if the depth buffer should be used as a shadow map. |
Int32 | anisoLevel | Anisotropic filtering level. |
Single | mipMapBias | Bias applied to mipmaps during filtering. |
MSAASamples | msaaSamples | Number of MSAA samples for the RTHandle. |
Boolean | bindTextureMS | Set to true if the texture needs to be bound as a multisampled texture in the shader. |
Boolean | useDynamicScale | Set to true to use hardware dynamic scaling. |
RenderTextureMemoryless | memoryless | Use this property to set the render texture memoryless modes. |
VRTextureUsage | vrUsage | Special treatment of the VR eye texture used in stereoscopic rendering. |
String | name | Name of the RTHandle. |
Returns
Type | Description |
---|---|
RTHandle |
Alloc(Int32, Int32, TextureWrapMode, TextureWrapMode, TextureWrapMode, Int32, DepthBits, GraphicsFormat, FilterMode, TextureDimension, Boolean, Boolean, Boolean, Boolean, Int32, Single, MSAASamples, Boolean, Boolean, RenderTextureMemoryless, VRTextureUsage, String)
Allocate a new fixed sized RTHandle with the default RTHandle System.
Declaration
public static RTHandle Alloc(int width, int height, TextureWrapMode wrapModeU, TextureWrapMode wrapModeV, TextureWrapMode wrapModeW = TextureWrapMode.Repeat, int slices = 1, DepthBits depthBufferBits = DepthBits.None, GraphicsFormat colorFormat = GraphicsFormat.R8G8B8A8_SRGB, FilterMode filterMode = FilterMode.Point, TextureDimension dimension = TextureDimension.Tex2D, bool enableRandomWrite = false, bool useMipMap = false, bool autoGenerateMips = true, bool isShadowMap = false, int anisoLevel = 1, float mipMapBias = 0F, MSAASamples msaaSamples = MSAASamples.None, bool bindTextureMS = false, bool useDynamicScale = false, RenderTextureMemoryless memoryless = RenderTextureMemoryless.None, VRTextureUsage vrUsage = VRTextureUsage.None, string name = "")
Parameters
Type | Name | Description |
---|---|---|
Int32 | width | With of the RTHandle. |
Int32 | height | Heigh of the RTHandle. |
TextureWrapMode | wrapModeU | U coordinate wrapping mode of the RTHandle. |
TextureWrapMode | wrapModeV | V coordinate wrapping mode of the RTHandle. |
TextureWrapMode | wrapModeW | W coordinate wrapping mode of the RTHandle. |
Int32 | slices | Number of slices of the RTHandle. |
DepthBits | depthBufferBits | Bit depths of a depth buffer. |
GraphicsFormat | colorFormat | GraphicsFormat of a color buffer. |
FilterMode | filterMode | Filtering mode of the RTHandle. |
TextureDimension | dimension | Texture dimension of the RTHandle. |
Boolean | enableRandomWrite | Set to true to enable UAV random read writes on the texture. |
Boolean | useMipMap | Set to true if the texture should have mipmaps. |
Boolean | autoGenerateMips | Set to true to automatically generate mipmaps. |
Boolean | isShadowMap | Set to true if the depth buffer should be used as a shadow map. |
Int32 | anisoLevel | Anisotropic filtering level. |
Single | mipMapBias | Bias applied to mipmaps during filtering. |
MSAASamples | msaaSamples | Number of MSAA samples for the RTHandle. |
Boolean | bindTextureMS | Set to true if the texture needs to be bound as a multisampled texture in the shader. |
Boolean | useDynamicScale | Set to true to use hardware dynamic scaling. |
RenderTextureMemoryless | memoryless | Use this property to set the render texture memoryless modes. |
VRTextureUsage | vrUsage | Special treatment of the VR eye texture used in stereoscopic rendering. |
String | name | Name of the RTHandle. |
Returns
Type | Description |
---|---|
RTHandle |
Alloc(RenderTargetIdentifier)
Allocate a RTHandle from a regular render target identifier for the default RTHandle system.
Declaration
public static RTHandle Alloc(RenderTargetIdentifier tex)
Parameters
Type | Name | Description |
---|---|---|
RenderTargetIdentifier | tex | Input render target identifier. |
Returns
Type | Description |
---|---|
RTHandle | A new RTHandle referencing the input render target identifier. |
Alloc(RenderTargetIdentifier, String)
Allocate a RTHandle from a regular render target identifier for the default RTHandle system.
Declaration
public static RTHandle Alloc(RenderTargetIdentifier tex, string name)
Parameters
Type | Name | Description |
---|---|---|
RenderTargetIdentifier | tex | Input render target identifier. |
String | name | Name of the render target. |
Returns
Type | Description |
---|---|
RTHandle | A new RTHandle referencing the input render target identifier. |
Alloc(ScaleFunc, Int32, DepthBits, GraphicsFormat, FilterMode, TextureWrapMode, TextureDimension, Boolean, Boolean, Boolean, Boolean, Int32, Single, MSAASamples, Boolean, Boolean, RenderTextureMemoryless, VRTextureUsage, String)
Allocate a new automatically sized RTHandle for the default RTHandle System.
Declaration
public static RTHandle Alloc(ScaleFunc scaleFunc, int slices = 1, DepthBits depthBufferBits = DepthBits.None, GraphicsFormat colorFormat = GraphicsFormat.R8G8B8A8_SRGB, FilterMode filterMode = FilterMode.Point, TextureWrapMode wrapMode = TextureWrapMode.Repeat, TextureDimension dimension = TextureDimension.Tex2D, bool enableRandomWrite = false, bool useMipMap = false, bool autoGenerateMips = true, bool isShadowMap = false, int anisoLevel = 1, float mipMapBias = 0F, MSAASamples msaaSamples = MSAASamples.None, bool bindTextureMS = false, bool useDynamicScale = false, RenderTextureMemoryless memoryless = RenderTextureMemoryless.None, VRTextureUsage vrUsage = VRTextureUsage.None, string name = "")
Parameters
Type | Name | Description |
---|---|---|
ScaleFunc | scaleFunc | Function used for the RTHandle size computation. |
Int32 | slices | Number of slices of the RTHandle. |
DepthBits | depthBufferBits | Bit depths of a depth buffer. |
GraphicsFormat | colorFormat | GraphicsFormat of a color buffer. |
FilterMode | filterMode | Filtering mode of the RTHandle. |
TextureWrapMode | wrapMode | Addressing mode of the RTHandle. |
TextureDimension | dimension | Texture dimension of the RTHandle. |
Boolean | enableRandomWrite | Set to true to enable UAV random read writes on the texture. |
Boolean | useMipMap | Set to true if the texture should have mipmaps. |
Boolean | autoGenerateMips | Set to true to automatically generate mipmaps. |
Boolean | isShadowMap | Set to true if the depth buffer should be used as a shadow map. |
Int32 | anisoLevel | Anisotropic filtering level. |
Single | mipMapBias | Bias applied to mipmaps during filtering. |
MSAASamples | msaaSamples | Number of MSAA samples. |
Boolean | bindTextureMS | Set to true if the texture needs to be bound as a multisampled texture in the shader. |
Boolean | useDynamicScale | Set to true to use hardware dynamic scaling. |
RenderTextureMemoryless | memoryless | Use this property to set the render texture memoryless modes. |
VRTextureUsage | vrUsage | Special treatment of the VR eye texture used in stereoscopic rendering. |
String | name | Name of the RTHandle. |
Returns
Type | Description |
---|---|
RTHandle |
Alloc(ScaleFunc, in RenderTextureDescriptor, FilterMode, TextureWrapMode, Boolean, Int32, Single, String)
Allocate a new automatically sized RTHandle for the default RTHandle System.
Declaration
public static RTHandle Alloc(ScaleFunc scaleFunc, in RenderTextureDescriptor descriptor, FilterMode filterMode = FilterMode.Point, TextureWrapMode wrapMode = TextureWrapMode.Repeat, bool isShadowMap = false, int anisoLevel = 1, float mipMapBias = 0F, string name = "")
Parameters
Type | Name | Description |
---|---|---|
ScaleFunc | scaleFunc | Function used for the RTHandle size computation. |
RenderTextureDescriptor | descriptor | RenderTexture descriptor of the RTHandle. |
FilterMode | filterMode | Filtering mode of the RTHandle. |
TextureWrapMode | wrapMode | Addressing mode of the RTHandle. |
Boolean | isShadowMap | Set to true if the depth buffer should be used as a shadow map. |
Int32 | anisoLevel | Anisotropic filtering level. |
Single | mipMapBias | Bias applied to mipmaps during filtering. |
String | name | Name of the RTHandle. |
Returns
Type | Description |
---|---|
RTHandle | A new RTHandle. |
Alloc(RenderTexture)
Allocate a RTHandle from a regular RenderTexture for the default RTHandle system.
Declaration
public static RTHandle Alloc(RenderTexture tex)
Parameters
Type | Name | Description |
---|---|---|
RenderTexture | tex | Input texture |
Returns
Type | Description |
---|---|
RTHandle | A new RTHandle referencing the input texture. |
Alloc(in RenderTextureDescriptor, FilterMode, TextureWrapMode, Boolean, Int32, Single, String)
Allocate a new fixed sized RTHandle with the default RTHandle System.
Declaration
public static RTHandle Alloc(in RenderTextureDescriptor descriptor, FilterMode filterMode = FilterMode.Point, TextureWrapMode wrapMode = TextureWrapMode.Repeat, bool isShadowMap = false, int anisoLevel = 1, float mipMapBias = 0F, string name = "")
Parameters
Type | Name | Description |
---|---|---|
RenderTextureDescriptor | descriptor | RenderTexture descriptor of the RTHandle. |
FilterMode | filterMode | Filtering mode of the RTHandle. |
TextureWrapMode | wrapMode | Addressing mode of the RTHandle. |
Boolean | isShadowMap | Set to true if the depth buffer should be used as a shadow map. |
Int32 | anisoLevel | Anisotropic filtering level. |
Single | mipMapBias | Bias applied to mipmaps during filtering. |
String | name | Name of the RTHandle. |
Returns
Type | Description |
---|---|
RTHandle | A new RTHandle. |
Alloc(Texture)
Allocate a RTHandle from a regular Texture for the default RTHandle system.
Declaration
public static RTHandle Alloc(Texture tex)
Parameters
Type | Name | Description |
---|---|---|
Texture | tex | Input texture |
Returns
Type | Description |
---|---|
RTHandle | A new RTHandle referencing the input texture. |
Alloc(Vector2, Int32, DepthBits, GraphicsFormat, FilterMode, TextureWrapMode, TextureDimension, Boolean, Boolean, Boolean, Boolean, Int32, Single, MSAASamples, Boolean, Boolean, RenderTextureMemoryless, VRTextureUsage, String)
Allocate a new automatically sized RTHandle for the default RTHandle System.
Declaration
public static RTHandle Alloc(Vector2 scaleFactor, int slices = 1, DepthBits depthBufferBits = DepthBits.None, GraphicsFormat colorFormat = GraphicsFormat.R8G8B8A8_SRGB, FilterMode filterMode = FilterMode.Point, TextureWrapMode wrapMode = TextureWrapMode.Repeat, TextureDimension dimension = TextureDimension.Tex2D, bool enableRandomWrite = false, bool useMipMap = false, bool autoGenerateMips = true, bool isShadowMap = false, int anisoLevel = 1, float mipMapBias = 0F, MSAASamples msaaSamples = MSAASamples.None, bool bindTextureMS = false, bool useDynamicScale = false, RenderTextureMemoryless memoryless = RenderTextureMemoryless.None, VRTextureUsage vrUsage = VRTextureUsage.None, string name = "")
Parameters
Type | Name | Description |
---|---|---|
Vector2 | scaleFactor | Constant scale for the RTHandle size computation. |
Int32 | slices | Number of slices of the RTHandle. |
DepthBits | depthBufferBits | Bit depths of a depth buffer. |
GraphicsFormat | colorFormat | GraphicsFormat of a color buffer. |
FilterMode | filterMode | Filtering mode of the RTHandle. |
TextureWrapMode | wrapMode | Addressing mode of the RTHandle. |
TextureDimension | dimension | Texture dimension of the RTHandle. |
Boolean | enableRandomWrite | Set to true to enable UAV random read writes on the texture. |
Boolean | useMipMap | Set to true if the texture should have mipmaps. |
Boolean | autoGenerateMips | Set to true to automatically generate mipmaps. |
Boolean | isShadowMap | Set to true if the depth buffer should be used as a shadow map. |
Int32 | anisoLevel | Anisotropic filtering level. |
Single | mipMapBias | Bias applied to mipmaps during filtering. |
MSAASamples | msaaSamples | Number of MSAA samples. |
Boolean | bindTextureMS | Set to true if the texture needs to be bound as a multisampled texture in the shader. |
Boolean | useDynamicScale | Set to true to use hardware dynamic scaling. |
RenderTextureMemoryless | memoryless | Use this property to set the render texture memoryless modes. |
VRTextureUsage | vrUsage | Special treatment of the VR eye texture used in stereoscopic rendering. |
String | name | Name of the RTHandle. |
Returns
Type | Description |
---|---|
RTHandle | A new RTHandle. |
Alloc(Vector2, in RenderTextureDescriptor, FilterMode, TextureWrapMode, Boolean, Int32, Single, String)
Allocate a new automatically sized RTHandle for the default RTHandle System.
Declaration
public static RTHandle Alloc(Vector2 scaleFactor, in RenderTextureDescriptor descriptor, FilterMode filterMode = FilterMode.Point, TextureWrapMode wrapMode = TextureWrapMode.Repeat, bool isShadowMap = false, int anisoLevel = 1, float mipMapBias = 0F, string name = "")
Parameters
Type | Name | Description |
---|---|---|
Vector2 | scaleFactor | Constant scale for the RTHandle size computation. |
RenderTextureDescriptor | descriptor | RenderTexture descriptor of the RTHandle. |
FilterMode | filterMode | Filtering mode of the RTHandle. |
TextureWrapMode | wrapMode | Addressing mode of the RTHandle. |
Boolean | isShadowMap | Set to true if the depth buffer should be used as a shadow map. |
Int32 | anisoLevel | Anisotropic filtering level. |
Single | mipMapBias | Bias applied to mipmaps during filtering. |
String | name | Name of the RTHandle. |
Returns
Type | Description |
---|---|
RTHandle | A new RTHandle. |
CalculateDimensions(ScaleFunc)
Calculate the dimensions (in pixels) of the RTHandles given the scale function. The base unscaled size used, is the sizes passed to the last ResetReferenceSize call.
Declaration
public static Vector2Int CalculateDimensions(ScaleFunc scaleFunc)
Parameters
Type | Name | Description |
---|---|---|
ScaleFunc | scaleFunc | The scale function to use when calculating the dimensions. |
Returns
Type | Description |
---|---|
Vector2Int | The calculated dimensions. |
CalculateDimensions(Vector2)
Calculate the dimensions (in pixels) of the RTHandles given the scale factor.
Declaration
public static Vector2Int CalculateDimensions(Vector2 scaleFactor)
Parameters
Type | Name | Description |
---|---|---|
Vector2 | scaleFactor | The scale factor to use when calculating the dimensions. The base unscaled size used, is the sizes passed to the last ResetReferenceSize call. |
Returns
Type | Description |
---|---|
Vector2Int | The calculated dimensions. |
CalculateRatioAgainstMaxSize(Int32, Int32)
Returns the ratio against the current target's max resolution
Declaration
public static Vector2 CalculateRatioAgainstMaxSize(int width, int height)
Parameters
Type | Name | Description |
---|---|---|
Int32 | width | width to utilize |
Int32 | height | height to utilize |
Returns
Type | Description |
---|---|
Vector2 | retruns the width,height / maxTargetSize.xy ratio. |
Initialize(Int32, Int32, Boolean)
Initialize the default RTHandle system.
Declaration
public static void Initialize(int width, int height, bool useLegacyDynamicResControl = false)
Parameters
Type | Name | Description |
---|---|---|
Int32 | width | Initial reference rendering width. |
Int32 | height | Initial reference rendering height. |
Boolean | useLegacyDynamicResControl | Use legacy hardware DynamicResolution control in the default RTHandle system. |
Release(RTHandle)
Release memory of a RTHandle from the default RTHandle System
Declaration
public static void Release(RTHandle rth)
Parameters
Type | Name | Description |
---|---|---|
RTHandle | rth | RTHandle that should be released. |
ResetReferenceSize(Int32, Int32)
Reset the reference size of the system and reallocate all textures.
Declaration
public static void ResetReferenceSize(int width, int height)
Parameters
Type | Name | Description |
---|---|---|
Int32 | width | New width. |
Int32 | height | New height. |
SetHardwareDynamicResolutionState(Boolean)
Enable or disable hardware dynamic resolution for the default RTHandle System
Declaration
public static void SetHardwareDynamicResolutionState(bool hwDynamicResRequested)
Parameters
Type | Name | Description |
---|---|---|
Boolean | hwDynamicResRequested | State of hardware dynamic resolution. |
SetReferenceSize(Int32, Int32)
Sets the reference rendering size for subsequent rendering for the default RTHandle System
Declaration
public static void SetReferenceSize(int width, int height)
Parameters
Type | Name | Description |
---|---|---|
Int32 | width | Reference rendering width for subsequent rendering. |
Int32 | height | Reference rendering height for subsequent rendering. |