Метод IDirect3DDevice9::CreateStateBlock (d3d9helper.h)

Создает новый блок состояний, содержащий значения для всех состояний устройства, состояний, связанных с вершинами, или состояний, связанных с пикселями.

Синтаксис

HRESULT CreateStateBlock(
  [in]          D3DSTATEBLOCKTYPE    Type,
  [out, retval] IDirect3DStateBlock9 **ppSB
);

Параметры

[in] Type

Тип: D3DSTATEBLOCKTYPE

Тип данных состояния, которые должен записать метод. Для этого параметра можно задать значение, определенное в D3DSTATEBLOCKTYPE перечислимом типе.

[out, retval] ppSB

Тип: IDirect3DStateBlock9**

Указатель на интерфейс блока состояния. См. раздел IDirect3DStateBlock9.

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

Тип: HRESULT

Если метод выполнен успешно, возвращаемое значение будет D3D_OK. Если метод завершается ошибкой, возвращается одно из следующих значений: D3DERR_INVALIDCALL, D3DERR_OUTOFVIDEOMEMORY E_OUTOFMEMORY.

Комментарии

Состояния устройств, связанные с вершинами, обычно относятся к тем состояниям, которые влияют на обработку вершин системой. Состояния, связанные с пикселями, обычно относятся к состояниям устройства, которые влияют на то, как система обрабатывает данные пикселя или буфера глубины во время растеризации. Некоторые состояния содержатся в обеих группах.

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

В Direct3D 9 блок состояния содержит данные о состоянии для состояний, которые ему было предложено записать при создании объекта. Чтобы изменить значение блока состояний, вызовите IDirect3DStateBlock9::Capture или IDirect3DDevice9::BeginStateBlock/IDirect3Device9::EndStateBlock. При создании объекта блока состояния в Direct3D 10 состояние не сохраняется.

Требования

Требование Значение
Целевая платформа Windows
Header d3d9helper.h (включая D3D9.h)
Библиотека D3D9.lib

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

IDirect3DDevice9

IDirect3DDevice9::BeginStateBlock

IDirect3DDevice9::EndStateBlock