ComputeDispatchAsync

Famille: Compute · 3 formes

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) → integer
2
ComputeDispatchAsync(shaderID integer, groupsX integer, groupsY integer) → integer
3
ComputeDispatchAsync(shaderID integer, groupsX integer, groupsY integer, groupsZ integer) → integer

Paramètres

NomTypeDans les formes
shaderIDintegertoutes
groupsXintegertoutes
groupsYinteger2, 3
groupsZinteger3

Chaque forme rend

integer

Exemple · engendré

Forme 1 : la plus courte

shader = CreateComputeShader("@compute fn main() {}", "{}")DO  Print(ComputeDispatchAsync(shader, 1))  Sync()LOOP

Forme 3 : avec tous les arguments

shader = CreateComputeShader("@compute fn main() {}", "{}")DO  Print(ComputeDispatchAsync(shader, 1, 1, 1))  Sync()LOOP

CreateComputeShader 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.

14 commandes dans Compute