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
-
索引缓冲区的大小(以字节为单位)。
要求
要求 | 值 |
---|---|
标头 |
|
另请参阅