IDirect3DDevice9::CreateStateBlock 方法 (d3d9.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::CaptureIDirect3DDevice9::BeginStateBlock/IDirect3DDevice9::EndStateBlock。 在 Direct3D 10 中创建状态块对象时,不会保存状态。

要求

   
目标平台 Windows
标头 d3d9.h (包括 D3D9.h)
Library D3D9.lib

请参阅

IDirect3DDevice9

IDirect3DDevice9::BeginStateBlock

IDirect3DDevice9::EndStateBlock