IDirect3DDevice9::SetSoftwareVertexProcessing 方法 (d3d9.h)

使用此方法在软件和硬件顶点处理之间切换。

语法

HRESULT SetSoftwareVertexProcessing(
  [in] BOOL bSoftware
);

参数

[in] bSoftware

类型: BOOL

如果为 TRUE ,则指定软件顶点处理; 如果为 FALSE ,则指定硬件顶点处理。

返回值

类型: HRESULT

如果方法成功,则返回值D3D_OK。 如果 方法失败,则可以D3DERR_INVALIDCALL返回值。

注解

更改模式的限制如下 (还引用有关 D3DCREATE 常量) 的说明:

  • 如果使用 D3DCREATE_SOFTWARE_VERTEXPROCESSING 创建设备,则顶点处理将在软件中完成,并且无法更改。
  • 如果使用D3DCREATE_HARDWARE_VERTEXPROCESSING创建设备,则顶点处理将在硬件中完成,并且无法更改。
  • 如果使用 D3DCREATE_MIXED_VERTEXPROCESSING 创建设备,则默认情况下将在硬件中完成顶点处理。 可以使用 IDirect3DDevice9::SetSoftwareVertexProcessing 将处理切换到软件 (或返回到硬件) 。
应用程序可以创建混合模式设备,以使用软件顶点处理和硬件顶点处理。 若要在 DirectX 8.x 中的两种顶点处理模式之间切换,请使用 IDirect3DDevice8::SetRenderState 和呈现状态D3DRS_SOFTWAREVERTEXPROCESSING和相应的 DWORD 参数。 呈现状态方法的缺点是难以定义状态块的语义。 应用程序和运行时必须执行额外的工作,并在记录和播放状态块时小心。

在 Direct3D 9 中,请改用 SetSoftwareVertexProcessing 。 StateBlocks 不会记录此新 API。

要求

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

另请参阅

IDirect3DDevice9

IDirect3DDevice9::GetSoftwareVertexProcessing