Поделиться через


Функция D3D10CreateStateBlock (d3d10effect.h)

Создайте блок состояний.

Синтаксис

HRESULT D3D10CreateStateBlock(
  [in]  ID3D10Device           *pDevice,
  [in]  D3D10_STATE_BLOCK_MASK *pStateBlockMask,
  [out] ID3D10StateBlock       **ppStateBlock
);

Параметры

[in] pDevice

Тип: ID3D10Device*

Устройство, для которого будет создан блок состояний.

[in] pStateBlockMask

Тип: D3D10_STATE_BLOCK_MASK*

Указывает, какие части состояния устройства будут записаны при вызове ID3D10StateBlock::Capture и повторно применены при вызове ID3D10StateBlock::Apply. См. примечания.

[out] ppStateBlock

Тип: ID3D10StateBlock**

Адрес указателя на созданный буфер (см. интерфейс ID3D10StateBlock).

Возвращаемое значение

Тип: HRESULT

Этот метод возвращает один из следующих кодов возврата Direct3D 10.

Комментарии

Блок состояний — это коллекция состояний устройства и используется для сохранения и восстановления состояния устройства. Используйте маску блока состояния, чтобы включить подмножества состояний для сохранения и восстановления.

Структуру D3D10_STATE_BLOCK_MASK можно заполнить вручную или с помощью любого api-интерфейса D3D10StateBlockMaskXXX. Маску блока состояния также можно получить, вызвав ID3D10EffectTechnique::ComputeStateBlockMask или ID3D10EffectPass::ComputeStateBlockMask.

Различия между Direct3D 9 и Direct3D 10:

В Direct3D 10 объект блока состояния не содержит никаких допустимых сведений о состоянии устройства до вызова ID3D10StateBlock::Capture . В Direct3D 9 состояние сохраняется в объекте блока состояний при его создании.

Требования

   
Целевая платформа Windows
Header d3d10effect.h
Библиотека D3D10.lib
DLL D3D10.dll

См. также раздел

Основные функции

Функции эффектов