Class ComputeTask
Execute compute effect class.
Implements
Inherited Members
Namespace: Evergine.Framework.Graphics
Assembly: Evergine.Framework.dll
Syntax
public class ComputeTask : BaseMaterial, IDisposable
Constructors
ComputeTask(Effect)
Initializes a new instance of the ComputeTask class.
Declaration
public ComputeTask(Effect effect)
Parameters
Type | Name | Description |
---|---|---|
Effect | effect | Effect instance. |
Fields
ComputeCommandQueue
Compute command Queue.
Declaration
protected static CommandQueue ComputeCommandQueue
Field Value
Type | Description |
---|---|
CommandQueue |
Methods
PrepareComputeTask(string)
Create pipeline and resourceLayout and resourceSet.
Declaration
protected void PrepareComputeTask(string passName)
Parameters
Type | Name | Description |
---|---|---|
string | passName | Pass name. |
Run(CommandBuffer, uint, uint, uint, string)
Execute compute effect. (dispatch).
Declaration
public void Run(CommandBuffer computeCommandBuffer, uint groupCountX, uint groupCountY, uint groupCountZ, string pass = "Default")
Parameters
Type | Name | Description |
---|---|---|
CommandBuffer | computeCommandBuffer | CommandBuffer instance. |
uint | groupCountX | The number of groups dispatched in the x direction. ThreadGroupCountX must be less than or equal to (65535). |
uint | groupCountY | The number of groups dispatched in the y direction. ThreadGroupCountY must be less than or equal to (65535). |
uint | groupCountZ | The number of groups dispatched in the z direction. ThreadGroupCountZ must be less than or equal to (65535). |
string | pass | Pass name. |
Run(uint, uint, uint, string)
Execute compute effect. (dispatch).
Declaration
public void Run(uint groupCountX, uint groupCountY, uint groupCountZ, string pass = "Default")
Parameters
Type | Name | Description |
---|---|---|
uint | groupCountX | The number of groups dispatched in the x direction. ThreadGroupCountX must be less than or equal to (65535). |
uint | groupCountY | The number of groups dispatched in the y direction. ThreadGroupCountY must be less than or equal to (65535). |
uint | groupCountZ | The number of groups dispatched in the z direction. ThreadGroupCountZ must be less than or equal to (65535). |
string | pass | Pass name. |
Run1D(CommandBuffer, uint, uint, string)
Execute a 1D compute effect.
Declaration
public void Run1D(CommandBuffer computeCommandBuffer, uint threadCountX, uint groupSizeX = 64, string pass = "Default")
Parameters
Type | Name | Description |
---|---|---|
CommandBuffer | computeCommandBuffer | The commandbuffer. |
uint | threadCountX | The size of the problem. |
uint | groupSizeX | The group size, 64 by default. |
string | pass | Pass name. |
Run1D(uint, uint, string)
Execute a 1D compute effect.
Declaration
public void Run1D(uint threadCountX, uint groupSizeX = 64, string pass = "Default")
Parameters
Type | Name | Description |
---|---|---|
uint | threadCountX | The size of the problem. |
uint | groupSizeX | The group size, 64 by default. |
string | pass | Pass name. |
Run2D(CommandBuffer, uint, uint, uint, uint, string)
Execute a 2D compute effect.
Declaration
public void Run2D(CommandBuffer computeCommandBuffer, uint threadCountX, uint threadCountY, uint groupSizeX = 8, uint groupSizeY = 8, string pass = "Default")
Parameters
Type | Name | Description |
---|---|---|
CommandBuffer | computeCommandBuffer | The commandbuffer. |
uint | threadCountX | The x size of the problem. |
uint | threadCountY | The y size of the problem. |
uint | groupSizeX | The group size x, 8 by default. |
uint | groupSizeY | The group size y, 8 by default. |
string | pass | Pass name. |
Run2D(uint, uint, uint, uint, string)
Execute a 2D compute effect.
Declaration
public void Run2D(uint threadCountX, uint threadCountY, uint groupSizeX = 8, uint groupSizeY = 8, string pass = "Default")
Parameters
Type | Name | Description |
---|---|---|
uint | threadCountX | The x size of the problem. |
uint | threadCountY | The y size of the problem. |
uint | groupSizeX | The group size x, 8 by default. |
uint | groupSizeY | The group size y, 8 by default. |
string | pass | Pass name. |
Run3D(CommandBuffer, uint, uint, uint, uint, uint, uint, string)
Execute a 3D compute effect.
Declaration
public void Run3D(CommandBuffer computeCommandBuffer, uint threadCountX, uint threadCountY, uint threadCountZ, uint groupSizeX, uint groupSizeY, uint groupSizeZ, string pass = "Default")
Parameters
Type | Name | Description |
---|---|---|
CommandBuffer | computeCommandBuffer | The commandbuffer. |
uint | threadCountX | The x size of the problem. |
uint | threadCountY | The y size of the problem. |
uint | threadCountZ | The z size of the problem. |
uint | groupSizeX | The group size x. |
uint | groupSizeY | The group size y. |
uint | groupSizeZ | The group size z. |
string | pass | Pass name. |
Run3D(uint, uint, uint, uint, uint, uint, string)
Execute a 3D compute effect.
Declaration
public void Run3D(uint threadCountX, uint threadCountY, uint threadCountZ, uint groupSizeX, uint groupSizeY, uint groupSizeZ, string pass = "Default")
Parameters
Type | Name | Description |
---|---|---|
uint | threadCountX | The x size of the problem. |
uint | threadCountY | The y size of the problem. |
uint | threadCountZ | The z size of the problem. |
uint | groupSizeX | The group size x. |
uint | groupSizeY | The group size y. |
uint | groupSizeZ | The group size z. |
string | pass | Pass name. |