Direct3D网格

创建网格

我们可以用D3DXCreateMeshFVF函数创建一个"空"网格对象 ,空网格对象是指我们指定了网格的面片总数和顶点总数,然后由该函数为顶点缓存、索引缓存和属性缓存分配大小合适的内存,之后即可手工填入网格数据。

cpp 复制代码
HRESULT WINAPI D3DXCreateMeshFVF(
	DWORD NumFaces,
	DWORD NumVertices,
	DWORD Options,
	DWORD FVF,
	LPDIRECT3DDEVICE9 pD3DDevice,
	LPD3DXMESH* ppMesh
);

NumFaces:网格将具有的面片总数,该值必须大于0

NumVertices:网格将具有的顶点总数,该值必须大于0

Options :创建网格时所使用的创建标记,枚举D3DXMESH,一些常用的标记如下

D3DXMESH_32BIT 网格将使用32位索引

D3DXMESH_MANAGED 网格数据将被存储于托管内存池中

D3DXMESH_WEITEONLY 指定网格数据为只读

FVF:存储在该网格中的顶点的灵活顶点格式

pDevice:设备指针

ppMesh:所创建的网格对象的指针

也可以用函数D3DXCreateMesh函数来创建空网格,在该函数中并未指定FVF,而是用一个D3DVERTEXELEMENT9类型的结构数组来描述顶点数据的布局方式。

cpp 复制代码
HRESULT WINAPI D3DXCreateMesh(
	DWORD NumFaces,
	DWORD NumVertices,
	DWORD Options,
	CONST D3DVERTEXELEMENT9 *pDeclaration,
	LPDIRECT3DDEVICE9 pD3DDevice,
	LPD3DXMESH* ppMesh
);

HRESULT WINAPI D3DXDeclaratorFromFVF(
	DWORD FVF,
	D3DVERTEXELEMENT9 pDeclarator[MAX_FVF_DECL_SIZE]
);
相关推荐
jndingxin1 小时前
OpenCV相机标定与3D重建(6)将3D物体点投影到2D图像平面上函数projectPoints()的使用
opencv·3d
jndingxin1 小时前
OpenCV相机标定与3D重建(5)鱼眼镜头畸变校正的函数estimateNewCameraMatrixForUndistortRectify()的使用
opencv·3d
CAD芯智库1 小时前
企业版中望3D正版多少钱?Proe、UG、Solidworks国产替代方案!
经验分享·3d·业界资讯·中望3d·国产三维cad软件
禾乃儿_xiuer1 小时前
《用Python实现3D动态旋转爱心模型》
开发语言·python·3d·pygame·表白·爱心代码·初学者
上官猪猪3 小时前
粗配准+icp精配准 搭配3DSC 实现配准流程
c++·算法·3d
mirrornan4 小时前
3D扫描对文博行业有哪些影响?
3d
命里有定数4 小时前
3D建筑模型的 LOD 规范
3d·lod0·3d建筑模型
mirrornan10 小时前
不用下载安装的线上3D编辑器,支持哪些功能?
3d·编辑器·webgl·3d模型
恬静的小魔龙1 天前
【SKFramework框架核心模块】3-1、事件链模块
3d·unity·编辑器·游戏引擎
思考的橙子1 天前
CSS之3D转换
前端·css·3d