1. 顶点/索引缓冲区
顶点/索引缓冲区是一片存储着顶点/索引数据的内存。
顶点缓冲区通过IDirect3DVertexBuffer9接口来定义的。索引缓冲区时通过IDirect3DIndexBuffer9接口来定义的。
1.1 创建一个顶点缓冲区和一个索引缓冲区
创建顶点缓冲区函数原型:
HRESULT CreateVertexBuffer(
//分配缓冲区的内存大小,比如分配个顶点,则可以* sizeof(Vertex)
[in] UINT Length,
//指定关于使用缓冲区的额外信息
//可以是,也可以是以下标识符或多个标识符的组合
//D3DUSAGE_DYNAMIC:动态缓冲区
//D3DUSAGE_SOFTWAREPROCESSING 软件顶点缓冲
//D3DUSAGE_WRITEONLY:指定应用程序只能写缓冲区
[in] DWORD Usage,
//存储在顶点缓冲区的顶点格式
[in] DWORD FVF,
//缓冲区存放在哪一个内存池
[in] D3DPOOL Pool,
//返回创建好的顶点缓冲区指针
[out, retval] IDirect3DVertexBuffer9 **ppVertexBuffer,
//预定。没有使用,设为,
[in] HANDLE *pSharedHandle
);
创建索引缓冲区的函数原型和上面的类似
IDirect3DDevice9::CreateIndexBuffer
HRESULT CreateIndexBuffer(
[in] UINT Length,
[in] DWORD Usage,
//指定索引的大小,D3DFMT_INDEX16设置位索引