1

2DGPUテクスチャリソースがあるとします。GPUを使用して(シェーダーの有無にかかわらず、DirectXを使用して)特定の値よりも小さいテクセルの数をカウントするための最良の方法は何ですか?

4

1 に答える 1

1

これは 2 つのシェーダーで数えることができます。

  1. 値がしきい値を超えるかどうかに応じて、すべての RGB 値を 1 または 0 に置き換えます。

  2. テクセルを合計するフィルタ カーネルを使用して、テクスチャのサイズを段階的に縮小します。テクスチャのサイズが 64x64 であるとします。まず、それを 32x32 に縮小し、inputtexture の 4 つの関連するテクセルを合計します。4x4 または 8x8 のテクスチャになるまで繰り返し、CPU 側でロックして残りを合計します。結果は、目的のテクセルカウントです。4x4 のような大きなカーネルを使用して、ドローコールを減らし、より多くの作業をシェーダーに移すことができます。

于 2013-02-09T14:40:48.843 に答える