方法: プログラムによってテクスチャを初期化する

オブジェクトの作成時にテクスチャを初期化することも、作成後にプログラムでオブジェクトを塗りつぶすこともできます。 このトピックでは、さまざまな種類の使用法で作成されたテクスチャを初期化する方法を示すいくつかの例を示します。 この例では、 テクスチャを作成する方法を既に把握していることを前提としています。

既定の使用法

最も一般的な使用の種類は、既定の使用です。 既定のテクスチャ ( D3D11_USAGE_DEFAULTで作成されたもの) を塗りつぶすには、次のいずれかを実行します。

動的な使用

動的テクスチャ ( D3D11_USAGE_DYNAMICで作成されたもの) を塗りつぶすには:

  1. ID3D11DeviceContext::Map を呼び出すときに D3D11_MAP_WRITE_DISCARD を渡して、テクスチャ メモリへのポインターを取得します。
  2. メモリにデータを書き込みます。
  3. データの書き込みが完了したら 、ID3D11DeviceContext::Unmap を呼び出します。

ステージングの使用状況

ステージング テクスチャ ( D3D11_USAGE_STAGING で作成されたもの) を塗りつぶすには:

  1. ID3D11DeviceContext::Map を呼び出すときに D3D11_MAP_WRITE を渡して、テクスチャ メモリへのポインターを取得します。
  2. メモリにデータを書き込みます。
  3. データの書き込みが完了したら 、ID3D11DeviceContext::Unmap を呼び出します。

その後、ステージング テクスチャを ID3D11DeviceContext::CopyResource または ID3D11DeviceContext::CopySubresourceRegion のソース パラメーターとして使用して、既定または動的リソースを埋めることができます。

Direct3D 11 の使用方法

テクスチャ