索引缓冲区

DirectX 8.0 引入了索引缓冲区的概念。 这些缓冲区与顶点缓冲区非常相似,但将简单的 16 位或 32 位索引存储到顶点数据中,而不是顶点数据本身。 索引缓冲区将顶点缓冲区的所有优势(例如最佳下载和缓存)扩展到索引数据。

使用与顶点缓冲区相同的驱动程序入口点创建、锁定、解锁和销毁索引缓冲区。 驱动程序可以使用新的 surface 功能位DDSCAPS2_INDEXBUFFER来区分这些缓冲区类型。 对于索引缓冲区,此标志在图面DD_SURFACE_MORE结构的 ddsCapsEx.dwCaps2 字段中设置。 对于顶点缓冲区,它将是明确的。

与许多其他图面类型不同,驱动程序在向运行时报告其功能以接收索引缓冲区创建、销毁和锁定的驱动程序调用时,不需要设置功能DDSCAPS2_INDEXBUFFER。 假定支持顶点缓冲区的 DirectX 8.0 驱动程序也支持索引缓冲区。 如果基础硬件对索引缓冲区没有直接支持,则驱动程序应通过为图面分配系统内存来处理索引缓冲区创建。