IDirect3DDevice9::D rawIndexedPrimitive 方法 (d3d9helper.h)

基于索引,将指定的几何基元呈现为顶点数组。

语法

HRESULT DrawIndexedPrimitive(
  [in] D3DPRIMITIVETYPE unnamedParam1,
  [in] INT              BaseVertexIndex,
  [in] UINT             MinVertexIndex,
  [in] UINT             NumVertices,
  [in] UINT             startIndex,
  [in] UINT             primCount
);

参数

[in] unnamedParam1

类型: D3DPRIMITIVETYPE

D3DPRIMITIVETYPE枚举类型的成员,描述要呈现的基元的类型。 此方法不支持D3DPT_POINTLIST。 请参阅“备注”。

[in] BaseVertexIndex

类型: INT

从顶点缓冲区的开头到第一个顶点的偏移量。 请参阅 方案 4

[in] MinVertexIndex

类型: UINT

此调用期间使用的顶点的最小顶点索引。 这是相对于 BaseVertexIndex 的从零开始的索引。

[in] NumVertices

类型: UINT

在此调用期间使用的顶点数。 第一个顶点位于索引处:BaseVertexIndex + MinIndex。

[in] startIndex

类型: UINT

访问顶点缓冲区时要使用的第一个索引的索引。 从 StartIndex 开始为顶点缓冲区中的顶点编制索引。

[in] primCount

类型: UINT

要呈现的基元数。 使用的顶点数是基元计数和基元类型的函数。 允许的最大基元数通过检查 D3DCAPS9 结构的 MaxPrimitiveCount 成员来确定。

返回值

类型: HRESULT

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

注解

此方法从当前一组数据输入流中提取索引基元。 MinIndex 和索引流中的所有索引都相对于 BaseVertexIndex。

MinIndex 和 NumVertices 参数指定用于每个 IDirect3DDevice9::D rawIndexedPrimitive 调用的顶点索引范围。 这些用于优化索引基元的顶点处理,方法是在索引到这些顶点之前处理一系列连续的顶点。 此调用期间用于引用此范围之外的任何顶点的任何索引都无效。

如果未设置索引数组,IDirect3DDevice9::D rawIndexedPrimitive 将失败。

不支持 D3DPRIMITIVETYPE 枚举类型的 D3DPT_POINTLIST 成员,并且不是此方法的有效类型。

将旧应用程序转换为 Direct3D 9 时,必须添加对 IDirect3DDevice9::SetFVF 的调用以使用固定函数管道,或 添加对 IDirect3DDevice9::SetVertexDeclaration 的调用,以在进行任何 Draw 调用之前使用顶点着色器。

要求

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

另请参阅

IDirect3DDevice9

IDirect3DDevice9::DrawPrimitive

索引缓冲区 (Direct3D 9)

从顶点缓冲区和索引缓冲区呈现 (Direct3D 9)

顶点缓冲区 (Direct3D 9)