Direct3D学习(六):动画基础(3)网格模型基础

长平狐 发布于 2012/11/12 11:50
阅读 134
收藏 0



ID3DXMesh继承自ID3DXBaseMesh接口
ID3DXBaseMesh包含一个顶点缓存和一个索引缓存

一个mesh是由一组子集(subset)组成的
子集是具有相同属性的一组三角形
这里的属性指材质,纹理,渲染状态
属性ID存在mesh的属性缓存中,DWORD类型
子集i与材质和纹理数组的第i项对应

Mesh的顶点和索引缓存可以被重组以便更快地渲染,如根据属性把三角形重新排一下序
优化有时要用到邻接数组

Mesh可以被拷贝,拷贝的同时可以改变顶点格式

Mesh不包括顶点法线数据时,可以用D3DXComputeNormals来计算
     HRESULT D3DXComputeNormals(  
          LPD3DXBASEMESH pMesh, // Mesh to compute normals of.
          const DWORD *pAdjacency // Input adjacency info.  
    );  
它会使用平均法线来产生法线

ID3DXPMesh用来表示渐近网格,允许我们通过简化缩减转换(Edge Collapse Transformations,ECT)来简化mesh,这在LOD里很常用

这根mipmaps纹理很像。近了用高精度,远了用低精度,避免浪费,还可以加快速度呢

包围体
常见的有包围盒和包围球

常用于可见性检测和碰撞检测
D3DX库提供了计算它们的函数,为别为D3DXComputeBoundingBoxD3DXComputeBoundingSphere

Reference
Introduction.to.3D.Game.Programming.with.DirectX.9.0
 
原文链接:http://blog.csdn.net/xoyojank/article/details/1630342
加载中
返回顶部
顶部