What it does
ComputeDispatchAsync takes shaderID (an integer) and groupsX (an integer), and answers an integer. That is the first of 3 forms. shaderID is the id of a Shader object, obtained elsewhere in the Compute family.
Syntax
1
ComputeDispatchAsync(shaderID integer, groupsX integer) → integer2
ComputeDispatchAsync(shaderID integer, groupsX integer, groupsY integer) → integer3
ComputeDispatchAsync(shaderID integer, groupsX integer, groupsY integer, groupsZ integer) → integerParameters
| Name | Type | In forms |
|---|---|---|
| shaderID | integer | all |
| groupsX | integer | all |
| groupsY | integer | 2, 3 |
| groupsZ | integer | 3 |
Every form returns
integer
Example · generated
Form 1, the short one
shader = CreateComputeShader("@compute fn main() {}", "{}")DO Print(ComputeDispatchAsync(shader, 1)) Sync()LOOPForm 3, with every argument
shader = CreateComputeShader("@compute fn main() {}", "{}")DO Print(ComputeDispatchAsync(shader, 1, 1, 1)) Sync()LOOPCreateComputeShader is there to give the call something to act on; ComputeDispatchAsync is the line that matters. The DO … LOOP is not decoration: a classic BASIC program ends the moment it runs out of lines, and Sync() is what draws the frame.