まるくんの趣味プログラミング日記

最初はUnityを使っていたんだけど、業務から離れてしまったので、ゲーム/エミュレーターよろずについて書いていきます。

DirectX11のテクスチャをコンピュートシェーダーで書くときの覚え書き

メモ書きです。あとで清書します。

テクスチャを作成するとき、 DXGI_FORMAT_R32G32B32A32_FLOAT で作成すれば、コンピュートシェーダー、シェーダーリソースビュー、 アンオーダードアクセスビューへのアクセスは全て上手く行くが、 テクスチャの容量が大きくなりすぎる。

一般的には、DXGI_FORMAT_R8G8B8A8_UNORM で作成するのが 望ましいと思われる。コンピュートシェーダーには、 RGBAで32bitで渡せるのが望ましい。

そのためには、下記のフォーマットで組み合わせて作成する必要があった。

テクスチャ:DXGI_FORMAT_R8G8B8A8_UNKNOWN シェーダーリーソースビュー:DXGI_FORMAT_R8G8B8A8_UNORM アンオーダードアクセスビュー:DXGI_FORMAT_R32_UINT