D3D11_BUFFER_DESC
バッファー リソースについて記述します。
typedef struct D3D11_BUFFER_DESC {
UINT ByteWidth;
D3D11_USAGE Usage;
UINT BindFlags;
UINT CPUAccessFlags;
UINT MiscFlags;
UINT StructureByteStride;
} D3D11_BUFFER_DESC;
メンバ
- ByteWidth
バッファーのサイズ (バイト単位) です。 - Usage
バッファーで想定されている読み込みおよび書き込みの方法を識別します。更新頻度は重要な要素です。最も一般的な値は D3D11_USAGE_DEFAULT です。指定可能なすべての値については、「D3D11_USAGE」を参照してください。 - BindFlags
バッファーをどのようにパイプラインにバインドするかを識別します。フラグ (「D3D11_BIND_FLAG」を参照) は、論理和で組み合わせることができます。 - CPUAccessFlags
CPU アクセスのフラグです (「D3D11_CPU_ACCESS_FLAG」を参照)。CPU アクセスが必要でない場合は 0 になります。フラグは、論理和で組み合わせることができます。 - MiscFlags
その他のフラグです (「D3D11_RESOURCE_MISC_FLAG」を参照)。未使用の場合は 0 です。フラグは、論理和で組み合わせることができます。 - StructureByteStride
構造体が構造化バッファーを表す場合、その構造体のサイズ (バイト単位) です。
解説
この構造体は、バッファー リソースを作成するために ID3D11Device::CreateBuffer によって使用されます。
この構造体に加え、D3D11.h には派生構造体 (CD3D11_BUFFER_DESC) もあります。これは、継承されたクラスのように機能するので、バッファーの記述を作成する際に役に立ちます。
バインド フラグが D3D11_BIND_CONSTANT_BUFFER の場合、ByteWidth には、D3D11_REQ_CONSTANT_BUFFER_ELEMENT_COUNT 以下で 16 の倍数となる値を指定する必要があります。
要件
ヘッダー: D3D11.h 宣言
ライブラリ: D3D11.lib 内容