Sdílet prostřednictvím


Postupy: Jak inicializovat texturu programově

Texturu můžete inicializovat během vytváření objektu nebo můžete objekt vyplnit programově po jeho vytvoření. Toto téma obsahuje několik příkladů, které ukazují, jak inicializovat textury vytvořené s různými typy použití. Tento příklad předpokládá, že již víte, jak vytvořit texturu.

Výchozí využití

Nejběžnějším typem použití je výchozí využití. Pokud chcete vyplnit výchozí texturu (vytvořenou pomocí D3D11_USAGE_DEFAULT), můžete:

Dynamické využití

Vyplnění dynamické textury (vytvořené pomocí D3D11_USAGE_DYNAMIC):

  1. Získejte ukazatel na texturovou paměť předáním D3D11_MAP_WRITE_DISCARD při volání ID3D11DeviceContext::Map.
  2. Zapisujte data do paměti.
  3. Zavolejte ID3D11DeviceContext::Unmap, až dokončíte zapisování dat.

Předváděcí využití

Pokud chcete vyplnit přípravnou texturu (vytvořenou pomocí D3D11_USAGE_STAGING):

  1. Získejte ukazatel na paměť textury předáním D3D11_MAP_WRITE při volání ID3D11DeviceContext::Map.
  2. Zapisujte data do paměti.
  3. Zavolejte ID3D11DeviceContext::Unmap, až dokončíte zápis dat.

Přípravnou texturu lze následně použít jako parametr zdroje pro ID3D11DeviceContext::CopyResource nebo ID3D11DeviceContext::CopySubresourceRegion pro vyplnění výchozího nebo dynamického prostředku.

Jak používat Direct3D 11

textury