Class ConstantBuffer
Constant Buffer management class.
Namespace: UnityEngine.Rendering
Syntax
public class ConstantBuffer
Methods
Push<CBType>(CBType, ComputeShader, Int32)
Update the GPU data of the constant buffer and bind it to a compute shader.
Declaration
public static void Push<CBType>(in CBType data, ComputeShader cs, int shaderId)
where CBType : struct
Parameters
Type | Name | Description |
---|---|---|
CBType | data | Input data of the constant buffer. |
ComputeShader | cs | Compute shader to which the constant buffer should be bound. |
Int32 | shaderId | Shader porperty id to bind the constant buffer to. |
Type Parameters
Name | Description |
---|---|
CBType | The type of structure representing the constant buffer data. |
Push<CBType>(CBType, Material, Int32)
Update the GPU data of the constant buffer and bind it to a material.
Declaration
public static void Push<CBType>(in CBType data, Material mat, int shaderId)
where CBType : struct
Parameters
Type | Name | Description |
---|---|---|
CBType | data | Input data of the constant buffer. |
Material | mat | Material to which the constant buffer should be bound. |
Int32 | shaderId | Shader porperty id to bind the constant buffer to. |
Type Parameters
Name | Description |
---|---|
CBType | The type of structure representing the constant buffer data. |
Push<CBType>(CommandBuffer, CBType, ComputeShader, Int32)
Update the GPU data of the constant buffer and bind it to a compute shader via a command buffer.
Declaration
public static void Push<CBType>(CommandBuffer cmd, in CBType data, ComputeShader cs, int shaderId)
where CBType : struct
Parameters
Type | Name | Description |
---|---|---|
CommandBuffer | cmd | Command Buffer used to execute the graphic commands. |
CBType | data | Input data of the constant buffer. |
ComputeShader | cs | Compute shader to which the constant buffer should be bound. |
Int32 | shaderId | Shader porperty id to bind the constant buffer to. |
Type Parameters
Name | Description |
---|---|
CBType | The type of structure representing the constant buffer data. |
Push<CBType>(CommandBuffer, CBType, Material, Int32)
Update the GPU data of the constant buffer and bind it to a material via a command buffer.
Declaration
public static void Push<CBType>(CommandBuffer cmd, in CBType data, Material mat, int shaderId)
where CBType : struct
Parameters
Type | Name | Description |
---|---|---|
CommandBuffer | cmd | Command Buffer used to execute the graphic commands. |
CBType | data | Input data of the constant buffer. |
Material | mat | Material to which the constant buffer should be bound. |
Int32 | shaderId | Shader porperty id to bind the constant buffer to. |
Type Parameters
Name | Description |
---|---|
CBType | The type of structure representing the constant buffer data. |
PushGlobal<CBType>(CBType, Int32)
Update the GPU data of the constant buffer and bind it globally.
Declaration
public static void PushGlobal<CBType>(in CBType data, int shaderId)
where CBType : struct
Parameters
Type | Name | Description |
---|---|---|
CBType | data | Input data of the constant buffer. |
Int32 | shaderId | Shader porperty id to bind the constant buffer to. |
Type Parameters
Name | Description |
---|---|
CBType | The type of structure representing the constant buffer data. |
PushGlobal<CBType>(CommandBuffer, CBType, Int32)
Update the GPU data of the constant buffer and bind it globally via a command buffer.
Declaration
public static void PushGlobal<CBType>(CommandBuffer cmd, in CBType data, int shaderId)
where CBType : struct
Parameters
Type | Name | Description |
---|---|---|
CommandBuffer | cmd | Command Buffer used to execute the graphic commands. |
CBType | data | Input data of the constant buffer. |
Int32 | shaderId | Shader porperty id to bind the constant buffer to. |
Type Parameters
Name | Description |
---|---|
CBType | The type of structure representing the constant buffer data. |
ReleaseAll()
Release all currently allocated singleton constant buffers. This needs to be called before shutting down the application.
Declaration
public static void ReleaseAll()
Set<CBType>(ComputeShader, Int32)
Bind the constant buffer to a compute shader.
Declaration
public static void Set<CBType>(ComputeShader cs, int shaderId)
where CBType : struct
Parameters
Type | Name | Description |
---|---|---|
ComputeShader | cs | Compute shader to which the constant buffer should be bound. |
Int32 | shaderId | Shader porperty id to bind the constant buffer to. |
Type Parameters
Name | Description |
---|---|
CBType | The type of structure representing the constant buffer data. |
Set<CBType>(Material, Int32)
Bind the constant buffer to a material.
Declaration
public static void Set<CBType>(Material mat, int shaderId)
where CBType : struct
Parameters
Type | Name | Description |
---|---|---|
Material | mat | Material to which the constant buffer should be bound. |
Int32 | shaderId | Shader porperty id to bind the constant buffer to. |
Type Parameters
Name | Description |
---|---|
CBType | The type of structure representing the constant buffer data. |
Set<CBType>(CommandBuffer, ComputeShader, Int32)
Bind the constant buffer to a compute shader via a command buffer.
Declaration
public static void Set<CBType>(CommandBuffer cmd, ComputeShader cs, int shaderId)
where CBType : struct
Parameters
Type | Name | Description |
---|---|---|
CommandBuffer | cmd | Command Buffer used to execute the graphic commands. |
ComputeShader | cs | Compute shader to which the constant buffer should be bound. |
Int32 | shaderId | Shader porperty id to bind the constant buffer to. |
Type Parameters
Name | Description |
---|---|
CBType | The type of structure representing the constant buffer data. |
SetGlobal<CBType>(Int32)
Bind the constant buffer globally.
Declaration
public static void SetGlobal<CBType>(int shaderId)
where CBType : struct
Parameters
Type | Name | Description |
---|---|---|
Int32 | shaderId | Shader porperty id to bind the constant buffer to. |
Type Parameters
Name | Description |
---|---|
CBType | The type of structure representing the constant buffer data. |
SetGlobal<CBType>(CommandBuffer, Int32)
Bind the constant buffer globally via a command buffer.
Declaration
public static void SetGlobal<CBType>(CommandBuffer cmd, int shaderId)
where CBType : struct
Parameters
Type | Name | Description |
---|---|---|
CommandBuffer | cmd | Command Buffer used to execute the graphic commands. |
Int32 | shaderId | Shader porperty id to bind the constant buffer to. |
Type Parameters
Name | Description |
---|---|
CBType | The type of structure representing the constant buffer data. |
UpdateData<CBType>(CBType)
Update the GPU data of the constant buffer.
Declaration
public static void UpdateData<CBType>(in CBType data)
where CBType : struct
Parameters
Type | Name | Description |
---|---|---|
CBType | data | Input data of the constant buffer. |
Type Parameters
Name | Description |
---|---|
CBType | The type of structure representing the constant buffer data. |
UpdateData<CBType>(CommandBuffer, CBType)
Update the GPU data of the constant buffer via a command buffer.
Declaration
public static void UpdateData<CBType>(CommandBuffer cmd, in CBType data)
where CBType : struct
Parameters
Type | Name | Description |
---|---|---|
CommandBuffer | cmd | Command Buffer used to execute the graphic commands. |
CBType | data | Input data of the constant buffer. |
Type Parameters
Name | Description |
---|---|
CBType | The type of structure representing the constant buffer data. |