D3DINDEXBUFFER_DESC 结构

描述索引缓冲区。

语法

typedef struct D3DINDEXBUFFER_DESC {
  D3DFORMAT       Format;
  D3DRESOURCETYPE Type;
  DWORD           Usage;
  D3DPOOL         Pool;
  UINT            Size;
} D3DINDEXBUFFER_DESC, *LPD3DINDEXBUFFER_DESC;

成员

格式

类型: D3DFORMAT

D3DFORMAT 枚举类型的成员,描述索引缓冲区数据的表面格式。

类型

类型: D3DRESOURCETYPE

D3DRESOURCETYPE 枚举类型的成员,将此资源标识为索引缓冲区。

使用情况

类型: DWORD

以下一个或多个标志的组合,指定此资源的使用情况。

含义
D3DUSAGE_DONOTCLIP
设置为指示索引缓冲区内容将永远不需要剪辑。
D3DUSAGE_DYNAMIC
设置为指示索引缓冲区需要动态内存使用。 这对于驱动程序很有用,因为它使他们能够决定放置缓冲区的位置。 通常,静态索引缓冲区放置在视频内存中,动态索引缓冲区放置在 AGP 内存中。 请注意,没有单独的静态用法;如果未指定D3DUSAGE_DYNAMIC索引缓冲区是静态的。 D3DUSAGE_DYNAMIC通过D3DLOCK_DISCARD和D3DLOCK_NOOVERWRITE锁定标志严格执行。 因此,D3DLOCK_DISCARD和D3DLOCK_NOOVERWRITE仅在使用 D3DUSAGE_DYNAMIC 创建的索引缓冲区上有效;它们在静态顶点缓冲区上无效。
有关使用动态索引缓冲区的详细信息,请参阅 使用动态顶点和索引缓冲区
请注意,无法在托管索引缓冲区上指定D3DUSAGE_DYNAMIC。 有关详细信息,请参阅 (Direct3D 9) 管理资源
D3DUSAGE_RTPATCHES
设置为 指示何时使用索引缓冲区来绘制高阶基元。
D3DUSAGE_NPATCHES
设置为指示何时使用索引缓冲区绘制 N 个补丁。
D3DUSAGE_POINTS
设置为指示何时将索引缓冲区用于绘制点子画面或索引点列表。
D3DUSAGE_SOFTWAREPROCESSING
设置为指示缓冲区将用于软件处理。
D3DUSAGE_WRITEONLY
通知系统应用程序仅写入索引缓冲区。 使用此标志,驱动程序可以选择最佳内存位置,以便高效执行写入操作和呈现。 尝试从使用此功能创建的索引缓冲区进行读取可能会导致性能下降。

 

类型: D3DPOOL

D3DPOOL 枚举类型的成员,指定为此索引缓冲区分配的内存类。

大小

类型: UINT

索引缓冲区的大小(以字节为单位)。

要求

要求
标头
D3D9Types.h

另请参阅

Direct3D 结构

GetDesc

索引缓冲区 (Direct3D 9)