What it does
CreateComputeShader creates Shader on a Compute object. It takes wgsl (a string) and bindingsJSON (a string), and answers an integer. That is the first of 4 forms.
Syntax
1
CreateComputeShader(wgsl string, bindingsJSON string) → integer2
CreateComputeShader(wgsl string, bindingsJSON string, entryPoint string) → integer3
CreateComputeShader(shaderID integer, wgsl string, bindingsJSON string)4
CreateComputeShader(shaderID integer, wgsl string, bindingsJSON string, entryPoint string)Parameters
| Name | Type | In forms |
|---|---|---|
| wgsl | string | all |
| bindingsJSON | string | all |
| entryPoint | string | 2, 4 |
| shaderID | integer | 3, 4 |
What each form returns
| 1 | computeShader = CreateComputeShader("@compute fn main() {}", "{}") | integer |
| 2 | computeShader = CreateComputeShader("@compute fn main() {}", "{}", "value") | integer |
| 3 | CreateComputeShader(1, "@compute fn main() {}", "{}") | nothing |
| 4 | CreateComputeShader(1, "@compute fn main() {}", "{}", "value") | nothing |
Example · generated
Form 1, the command hands back the id
computeShader = CreateComputeShader("@compute fn main() {}", "{}")DO Sync()LOOPForm 3, you choose the id yourself
CreateComputeShader(1, "@compute fn main() {}", "{}")DO Sync()LOOPCreateComputeShader is called and its answer is printed every frame. 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.