Class RTHandleSystem
System managing a set of RTHandle textures
Namespace: UnityEngine.Rendering
Syntax
public class RTHandleSystem : IDisposable
Constructors
RTHandleSystem()
RTHandleSystem constructor.
Declaration
public RTHandleSystem()
Properties
rtHandleProperties
Current properties of the RTHandle System.
Declaration
public 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, String)
Allocate a new fixed sized RTHandle.
Declaration
public 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, 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. |
String | name | Name of the RTHandle. |
Returns
Type | Description |
---|---|
RTHandle |
Alloc(RenderTargetIdentifier)
Allocate a RTHandle from a regular render target identifier.
Declaration
public RTHandle Alloc(RenderTargetIdentifier texture)
Parameters
Type | Name | Description |
---|---|---|
RenderTargetIdentifier | texture | 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.
Declaration
public RTHandle Alloc(RenderTargetIdentifier texture, string name)
Parameters
Type | Name | Description |
---|---|---|
RenderTargetIdentifier | texture | Input render target identifier. |
String | name | Name of the texture. |
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, Boolean, Boolean, Boolean, RenderTextureMemoryless, String)
Allocate a new automatically sized RTHandle.
Declaration
public 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, bool enableMSAA = false, bool bindTextureMS = false, bool useDynamicScale = false, RenderTextureMemoryless memoryless = RenderTextureMemoryless.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. |
Boolean | enableMSAA | Enable MSAA for this 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. |
String | name | Name of the RTHandle. |
Returns
Type | Description |
---|---|
RTHandle |
Alloc(RenderTexture)
Allocate a RTHandle from a regular RenderTexture.
Declaration
public RTHandle Alloc(RenderTexture texture)
Parameters
Type | Name | Description |
---|---|---|
RenderTexture | texture | Input texture |
Returns
Type | Description |
---|---|
RTHandle | A new RTHandle referencing the input texture. |
Alloc(Texture)
Allocate a RTHandle from a regular Texture.
Declaration
public RTHandle Alloc(Texture texture)
Parameters
Type | Name | Description |
---|---|---|
Texture | texture | 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, Boolean, Boolean, Boolean, RenderTextureMemoryless, String)
Allocate a new automatically sized RTHandle.
Declaration
public 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, bool enableMSAA = false, bool bindTextureMS = false, bool useDynamicScale = false, RenderTextureMemoryless memoryless = RenderTextureMemoryless.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. |
Boolean | enableMSAA | Enable MSAA for this 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. |
String | name | Name of the RTHandle. |
Returns
Type | Description |
---|---|
RTHandle |
Dispose()
Disposable pattern implementation
Declaration
public void Dispose()
GetMaxHeight()
Returns the maximum allocated height of the RTHandle System.
Declaration
public int GetMaxHeight()
Returns
Type | Description |
---|---|
Int32 | Maximum allocated height of the RTHandle System. |
GetMaxWidth()
Returns the maximum allocated width of the RTHandle System.
Declaration
public int GetMaxWidth()
Returns
Type | Description |
---|---|
Int32 | Maximum allocated width of the RTHandle System. |
Initialize(Int32, Int32, Boolean, MSAASamples)
Initialize the RTHandle system.
Declaration
public void Initialize(int width, int height, bool scaledRTsupportsMSAA, MSAASamples scaledRTMSAASamples)
Parameters
Type | Name | Description |
---|---|---|
Int32 | width | Initial reference rendering width. |
Int32 | height | Initial reference rendering height. |
Boolean | scaledRTsupportsMSAA | Set to true if automatically scaled RTHandles should support MSAA |
MSAASamples | scaledRTMSAASamples | Number of MSAA samples for automatically scaled RTHandles. |
Release(RTHandle)
Release memory of a RTHandle from the RTHandle System
Declaration
public 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 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 RTHandle System
Declaration
public void SetHardwareDynamicResolutionState(bool enableHWDynamicRes)
Parameters
Type | Name | Description |
---|---|---|
Boolean | enableHWDynamicRes | State of hardware dynamic resolution. |
SetReferenceSize(Int32, Int32, MSAASamples)
Sets the reference rendering size for subsequent rendering for the RTHandle System
Declaration
public void SetReferenceSize(int width, int height, MSAASamples msaaSamples)
Parameters
Type | Name | Description |
---|---|---|
Int32 | width | Reference rendering width for subsequent rendering. |
Int32 | height | Reference rendering height for subsequent rendering. |
MSAASamples | msaaSamples | Number of MSAA samples for multisampled textures for subsequent rendering. |
SetReferenceSize(Int32, Int32, MSAASamples, Boolean)
Sets the reference rendering size for subsequent rendering for the RTHandle System
Declaration
public void SetReferenceSize(int width, int height, MSAASamples msaaSamples, bool reset)
Parameters
Type | Name | Description |
---|---|---|
Int32 | width | Reference rendering width for subsequent rendering. |
Int32 | height | Reference rendering height for subsequent rendering. |
MSAASamples | msaaSamples | Number of MSAA samples for multisampled textures for subsequent rendering. |
Boolean | reset | If set to true, the new width and height will override the old values even if they are not bigger. |