index | シェーダーのランダム書き込みターゲットのインデックス |
uav | 書き込むターゲットとして設定する RenderTexture |
preserveCounterValue | CounterValue を変更なしに維持するかどうか |
Shader Model 5.0 レベルのピクセルシェーダーのランダム書き込みのターゲットを設定します。
Shader Model 5.0 レベルのピクセルシェーダーは UsingDX11GL3Features の "順序なしアクセスビュー"(UAV) と呼ばれるいくつかのテクスチャやバッファーの任意の場所に書くことができます。これらの "ランダム書き込み" ターゲットは複数のレンダーターゲットを設定するのと同様に設定します。enableRandomWrite
フラグ設定する RenderTexture かターゲットとして ComputeBuffer のいずれかを使用できます。
異なるプラットフォーム間では UAV(アンオーダード・アクセス・ビュー) インデックスは少し変化します。 DX11 では最初の有効な UAV インデックスはアクティブなレンダーターゲット番号です。だから、レンダーターゲットの一般的なケースでは、 UAV インデックスは 1 から開始します。変換された HLSL シェーダーを使用するとき、OpenGL ES 3.1 はこの動作に一致します。ただし、GLSL シェーダーの手書きのインデックスはバインディングに一致します。 PS4 ではもっとも一般的なケースに合わせて常に 1 からインデックスを開始します。
ComputeBuffer を設定するとき、preserveCounterValue
パラメーターは CounterValue を変更しないか、または、0 にリセットする (デフォルト) かを示します。
手動で ClearRandomWriteTargets とそれらをクリアするまでターゲットを Stay に設定します。
See Also: RenderTexture.enableRandomWrite, ComputeBuffer, ComputeBuffer.SetCounterValue, UsingDX11GL3Features.