Ce que fait la commande
ComputeDispatchAsync prend shaderID (un entier) et groupsX (un entier), et rend un entier. C'est la première de 3 formes. shaderID est l'identifiant d'un objet Shader, obtenu ailleurs dans la famille Compute.
Syntaxe
1
ComputeDispatchAsync(shaderID integer, groupsX integer) → integer2
ComputeDispatchAsync(shaderID integer, groupsX integer, groupsY integer) → integer3
ComputeDispatchAsync(shaderID integer, groupsX integer, groupsY integer, groupsZ integer) → integerParamètres
| Nom | Type | Dans les formes |
|---|---|---|
| shaderID | integer | toutes |
| groupsX | integer | toutes |
| groupsY | integer | 2, 3 |
| groupsZ | integer | 3 |
Chaque forme rend
integer
Exemple · engendré
Forme 1 : la plus courte
shader = CreateComputeShader("@compute fn main() {}", "{}")DO Print(ComputeDispatchAsync(shader, 1)) Sync()LOOPForme 3 : avec tous les arguments
shader = CreateComputeShader("@compute fn main() {}", "{}")DO Print(ComputeDispatchAsync(shader, 1, 1, 1)) Sync()LOOPCreateComputeShader est là pour donner à l'appel quelque chose sur quoi agir : ComputeDispatchAsync est la ligne qui compte. La boucle DO … LOOP n'est pas décorative : un programme BASIC classique s'arrête dès qu'il n'a plus de lignes, et c'est Sync() qui dessine l'image.