0

計算シェーダーをディスパッチするときに実行されるスレッドグループを既に定義しているので、シェーダーファイル内の数字は何を意味しますか?例:[numthreads(1、1、1)]

4

1 に答える 1

1

ディスパッチするときの公式の定義により、スレッドグループを定義し、numthreadsステートメントがスレッドを定義するので、基本的にそれらを追加のディメンションと見なすことができるように、もう少し掘り下げました。たとえば、2,2,1を3,1,1の関数にディスパッチすると、スポーンします。

enter code here
0, 0, 0 - 0, 0, 0
0, 0, 0 - 1, 0, 0
0, 0, 0 - 2, 0, 0

1, 0, 0 - 0, 0, 0
1, 0, 0 - 1, 0, 0
1, 0, 0 - 2, 0, 0

0, 1, 0 - 0, 0, 0
0, 1, 0 - 1, 0, 0
0, 1, 0 - 2, 0, 0

1, 1, 0 - 0, 0, 0
1, 1, 0 - 1, 0, 0
1, 1, 0 - 2, 0, 0

したがって、2 * 2 * 1 * 3 * 1 *1=合計12スレッド

于 2012-06-10T12:07:42.977 に答える