HLSL Structured Buffer へのアクセス

Shader から Structured Buffer にアクセスする場合は、

StructuredBuffer Buffer0 : register(t0);

このように Shader 上で定義を行い Buffer0[0] や Buffer0[16] のように Array of Structure の形でアクセス出来る。注意が必要なのが、データ定義時は[] でのサイズ指定は必要ないということ。

仮にもし [] でサイズ指定をしてしまうと、それは複数のリソースを連続定義したことになる。

StructuredBuffer Buffer0[10] : register(t0);

この指定は t0 – t9 まで、複数の SRV を使うという指定になる。

アクセスする場合は Buffer0[2][16] という形になる。

コメントを残す

メールアドレスが公開されることはありません。