02:顶点缓存和索引缓存

02:顶点缓存和索引缓存

ID:15371533

大小:38.00 KB

页数:4页

时间:2018-08-02

02:顶点缓存和索引缓存_第1页
02:顶点缓存和索引缓存_第2页
02:顶点缓存和索引缓存_第3页
02:顶点缓存和索引缓存_第4页
资源描述:

《02:顶点缓存和索引缓存》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、顶点缓存和索引缓存一个顶点缓存是一个包含顶点数据的连续内存空间,可以位于系统内存或图形卡的显存中.一个索引缓存是一个包含索引数据的连续内存空间.在代码中,顶点缓存用接口IDirect3DVertexBuffer9表示,索引缓存用接口IDirect3DIndexBuufer9表示.★创建顶点缓存HRESULTIDirect3DDevice::CreateVertexBuffer(UINTLength,DWORDUsage,DWORDFVF,D3DPOOLPool,IDirect3DVertexBuffer9**pp

2、VertexBuffer,HANDLE*pSharedHandle);【参数说明】■第一个参数,UINT类型的Length,表示顶点缓存的大小,以字节为单位■第二个参数,DWORD类型的Usage,指定缓存的附加属性,该值可以为0,表示无需附加属性,或是以下标识的组合缓存区属性说明D3DUSAGE_DYNAMIC将缓存设为动态缓存D3DUSAGE_POINTS规定缓存将用于存储点图元D3DUSAGE_SOFTWAREPROCESSING指定软件顶点运算方式D3DUSAGE_WRITEONLY对缓存的操作模式为只写

3、■第三个参数,DWORD类型的FVF,指定存储在顶点缓存中顶点的灵活顶点格式D3D中常见的FVF格式如下:标识说明D3DFVF_XYZ包含未经转换的顶点格坐标D3DFVF_XYZRHW包含经过转换的顶点坐标D3DFVF_XYZW包含经过转换和裁剪的顶点坐标D3DFVF_XYZB1~5包含用于骨骼动画的顶点和顶点对骨骼的权重信息D3DFVF_DIFFUSE包含漫反射信息D3DFVF_NORMAL包含法线信息D3DFVF_PSIZE指明绘制点的大小D3DFVF_SPECULAR包含镜面反射的信息D3DFVF_TEX1

4、~8包含1~8个纹理坐标信息■第四个参数,D3DPOOL枚举类型的Pool,用于指定存储顶点缓存或索引缓存的内存位置,在默认情况下位于显存D3DPOOL枚举值如下:枚举值说明D3DPOOL_DEFAULT默认值,顶点缓存区尽可能存在显存中D3DPOOL_MANAGED由Direct3D自动调度顶点缓存区内存位置D3DPOOL_SYSTEMMEN顶点缓存位于系统内存中D3DPOOL_SCRATCH表示顶点缓冲区位于临时内存当中,这种类型的顶点缓存去不能直接进行渲染,只能进行内存加锁和复制的操作D3DPOOL_FOR

5、CE_DWORD强制编译为32位,不使用■第五个参数,IDirect3DVertexBuffer**类型的ppVertexBuffer■第六个参数,HANDLE*类型的pSharedHandle,保留参数,设为0★创建索引缓存HRESULTIDirect3DDevice9::CreateIndexBuffer(UINTLength,DWORDUsage,D3DFORMATFormat,D3DPOOLPool,IDirect3DIndexBuffer**ppIndexBuffer,HANDLE*pSharedHan

6、dle);【参数说明】■第一个参数,UINT类型的Length,同上■第二个参数,DWORD类型的Usgae,同上■第三个参数,D3DFORMAT类型的Format,指定索引的大小,设为D3DFMT_INDEX16表示12位索引,设为D3DFMT_INDEX32表示32位索引■第四个参数,D3DPOOL枚举类型的Pool,同上■第五个参数,IDirect3DIndexBuffer9**类型的ppIndexBuffer■第六个参数,HANDLE*类型的pSharedHandle,同上★访问缓存内容为了访问顶点缓存或

7、索引缓存中的数据,我们需要获得指向缓存内部存储区的指针.可以借助方法Lock来获取指向缓存内容的指针HRESULTIDirect3DVertexBuffer9::Lock(UINTOffsetToLock,UINTSizeToLock,BYTE**ppbData,DWORDFlags);HRESULTIDirect3DIndexBuffer9::Lock(UINTOffsetToLock,UINTSizeToLock,BYTE**ppbData,DWORDFlags);【参数说明】■第一个参数,UINT类型Off

8、setToLock,自缓存的起始点到开始锁定的位置的偏移量,单位为字节■第二个参数,UINT类型的SizeToLock,所要锁定的字节数,当OffsetToLock和SizeToLock都为0时表示锁定整个缓存■第三个参数,BYTE**类型的ppbData,ppbData,指向被锁定的存储区起始位置的指针■第四个参数,描述锁定的方式,可以是0Lock操作结束时,需要调用U

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。