Class RTHandleSystem
System managing a set of RTHandle textures
Implements
Inherited Members
Namespace: UnityEngine .Rendering
Assembly: Unity.RenderPipelines.Core.Runtime.dll
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 |
---|---|
RTHandle |
Methods
Alloc(int, int, int, DepthBits, GraphicsFormat, FilterMode, TextureWrapMode, TextureDimension, bool, bool, bool, bool, int, float, MSAASamples, bool, bool, 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 = 0, MSAASamples msaaSamples = MSAASamples.None, bool bindTextureMS = false, bool useDynamicScale = false, RenderTextureMemoryless memoryless = RenderTextureMemoryless.None, string name = "")
Parameters
Type | Name | Description |
---|---|---|
int | width | With of the RTHandle. |
int | height | Heigh of the RTHandle. |
int | slices | Number of slices of the RTHandle. |
Depth |
depthBufferBits | Bit depths of a depth buffer. |
Graphics |
colorFormat | GraphicsFormat of a color buffer. |
Filter |
filterMode | Filtering mode of the RTHandle. |
Texture |
wrapMode | Addressing mode of the RTHandle. |
Texture |
dimension | Texture dimension of the RTHandle. |
bool | enableRandomWrite | Set to true to enable UAV random read writes on the texture. |
bool | useMipMap | Set to true if the texture should have mipmaps. |
bool | autoGenerateMips | Set to true to automatically generate mipmaps. |
bool | isShadowMap | Set to true if the depth buffer should be used as a shadow map. |
int | anisoLevel | Anisotropic filtering level. |
float | mipMapBias | Bias applied to mipmaps during filtering. |
MSAASamples | msaaSamples | Number of MSAA samples for the RTHandle. |
bool | bindTextureMS | Set to true if the texture needs to be bound as a multisampled texture in the shader. |
bool | useDynamicScale | Set to true to use hardware dynamic scaling. |
Render |
memoryless | Use this property to set the render texture memoryless modes. |
string | name | Name of the RTHandle. |
Returns
Type | Description |
---|---|
RTHandle |
Alloc(int, int, TextureWrapMode, TextureWrapMode, TextureWrapMode, int, DepthBits, GraphicsFormat, FilterMode, TextureDimension, bool, bool, bool, bool, int, float, MSAASamples, bool, bool, RenderTextureMemoryless, string)
Allocate a new fixed sized RTHandle.
Declaration
public 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 = 0, MSAASamples msaaSamples = MSAASamples.None, bool bindTextureMS = false, bool useDynamicScale = false, RenderTextureMemoryless memoryless = RenderTextureMemoryless.None, string name = "")
Parameters
Type | Name | Description |
---|---|---|
int | width | With of the RTHandle. |
int | height | Heigh of the RTHandle. |
Texture |
wrapModeU | U coordinate wrapping mode of the RTHandle. |
Texture |
wrapModeV | V coordinate wrapping mode of the RTHandle. |
Texture |
wrapModeW | W coordinate wrapping mode of the RTHandle. |
int | slices | Number of slices of the RTHandle. |
Depth |
depthBufferBits | Bit depths of a depth buffer. |
Graphics |
colorFormat | GraphicsFormat of a color buffer. |
Filter |
filterMode | Filtering mode of the RTHandle. |
Texture |
dimension | Texture dimension of the RTHandle. |
bool | enableRandomWrite | Set to true to enable UAV random read writes on the texture. |
bool | useMipMap | Set to true if the texture should have mipmaps. |
bool | autoGenerateMips | Set to true to automatically generate mipmaps. |
bool | isShadowMap | Set to true if the depth buffer should be used as a shadow map. |
int | anisoLevel | Anisotropic filtering level. |
float | mipMapBias | Bias applied to mipmaps during filtering. |
MSAASamples | msaaSamples | Number of MSAA samples for the RTHandle. |
bool | bindTextureMS | Set to true if the texture needs to be bound as a multisampled texture in the shader. |
bool | useDynamicScale | Set to true to use hardware dynamic scaling. |
Render |
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 |
---|---|---|
Render |
texture | Input texture |
Returns
Type | Description |
---|---|
RTHandle | A new RTHandle referencing the input texture. |
Alloc(RenderTargetIdentifier)
Allocate a RTHandle from a regular render target identifier.
Declaration
public RTHandle Alloc(RenderTargetIdentifier texture)
Parameters
Type | Name | Description |
---|---|---|
Render |
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 |
---|---|---|
Render |
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, int, DepthBits, GraphicsFormat, FilterMode, TextureWrapMode, TextureDimension, bool, bool, bool, bool, int, float, MSAASamples, bool, bool, 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 = 0, MSAASamples msaaSamples = MSAASamples.None, bool bindTextureMS = false, bool useDynamicScale = false, RenderTextureMemoryless memoryless = RenderTextureMemoryless.None, string name = "")
Parameters
Type | Name | Description |
---|---|---|
Scale |
scaleFunc | Function used for the RTHandle size computation. |
int | slices | Number of slices of the RTHandle. |
Depth |
depthBufferBits | Bit depths of a depth buffer. |
Graphics |
colorFormat | GraphicsFormat of a color buffer. |
Filter |
filterMode | Filtering mode of the RTHandle. |
Texture |
wrapMode | Addressing mode of the RTHandle. |
Texture |
dimension | Texture dimension of the RTHandle. |
bool | enableRandomWrite | Set to true to enable UAV random read writes on the texture. |
bool | useMipMap | Set to true if the texture should have mipmaps. |
bool | autoGenerateMips | Set to true to automatically generate mipmaps. |
bool | isShadowMap | Set to true if the depth buffer should be used as a shadow map. |
int | anisoLevel | Anisotropic filtering level. |
float | mipMapBias | Bias applied to mipmaps during filtering. |
MSAASamples | msaaSamples | Number of MSAA samples. |
bool | bindTextureMS | Set to true if the texture needs to be bound as a multisampled texture in the shader. |
bool | useDynamicScale | Set to true to use hardware dynamic scaling. |
Render |
memoryless | Use this property to set the render texture memoryless modes. |
string | name | Name of the RTHandle. |
Returns
Type | Description |
---|---|
RTHandle | A new RTHandle. |
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, int, DepthBits, GraphicsFormat, FilterMode, TextureWrapMode, TextureDimension, bool, bool, bool, bool, int, float, MSAASamples, bool, bool, 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 = 0, MSAASamples msaaSamples = MSAASamples.None, 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. |
int | slices | Number of slices of the RTHandle. |
Depth |
depthBufferBits | Bit depths of a depth buffer. |
Graphics |
colorFormat | GraphicsFormat of a color buffer. |
Filter |
filterMode | Filtering mode of the RTHandle. |
Texture |
wrapMode | Addressing mode of the RTHandle. |
Texture |
dimension | Texture dimension of the RTHandle. |
bool | enableRandomWrite | Set to true to enable UAV random read writes on the texture. |
bool | useMipMap | Set to true if the texture should have mipmaps. |
bool | autoGenerateMips | Set to true to automatically generate mipmaps. |
bool | isShadowMap | Set to true if the depth buffer should be used as a shadow map. |
int | anisoLevel | Anisotropic filtering level. |
float | mipMapBias | Bias applied to mipmaps during filtering. |
MSAASamples | msaaSamples | Number of MSAA samples. |
bool | bindTextureMS | Set to true if the texture needs to be bound as a multisampled texture in the shader. |
bool | useDynamicScale | Set to true to use hardware dynamic scaling. |
Render |
memoryless | Use this property to set the render texture memoryless modes. |
string | name | Name of the RTHandle. |
Returns
Type | Description |
---|---|
RTHandle | A new 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 |
---|---|
int | Maximum allocated height of the RTHandle System. |
GetMaxWidth()
Returns the maximum allocated width of the RTHandle System.
Declaration
public int GetMaxWidth()
Returns
Type | Description |
---|---|
int | Maximum allocated width of the RTHandle System. |
Initialize(int, int)
Initialize the RTHandle system.
Declaration
public void Initialize(int width, int height)
Parameters
Type | Name | Description |
---|---|---|
int | width | Initial reference rendering width. |
int | height | Initial reference rendering height. |
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(int, int)
Reset the reference size of the system and reallocate all textures.
Declaration
public void ResetReferenceSize(int width, int height)
Parameters
SetHardwareDynamicResolutionState(bool)
Enable or disable hardware dynamic resolution for the RTHandle System
Declaration
public void SetHardwareDynamicResolutionState(bool enableHWDynamicRes)
Parameters
Type | Name | Description |
---|---|---|
bool | enableHWDynamicRes | State of hardware dynamic resolution. |
SetReferenceSize(int, int)
Sets the reference rendering size for subsequent rendering for the RTHandle System
Declaration
public void SetReferenceSize(int width, int height)
Parameters
Type | Name | Description |
---|---|---|
int | width | Reference rendering width for subsequent rendering. |
int | height | Reference rendering height for subsequent rendering. |
SetReferenceSize(int, int, bool)
Sets the reference rendering size for subsequent rendering for the RTHandle System
Declaration
public void SetReferenceSize(int width, int height, bool reset)
Parameters
Type | Name | Description |
---|---|---|
int | width | Reference rendering width for subsequent rendering. |
int | height | Reference rendering height for subsequent rendering. |
bool | reset | If set to true, the new width and height will override the old values even if they are not bigger. |