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]
);
相关推荐
2401_8638014621 小时前
如何在Blender中压缩/缩小3D模型的尺寸GLB、GLTF、DAE、FBX、OBJ......
3d·blender
2401_863801461 天前
制作转换3Dtiles时候cesium(b3dm)模型没有阴影,没有材质感,发白显示太假怎么办
3d·arcgis·材质·3dtiles
CG_MAGIC1 天前
3ds Max 多边形编辑:室内构件精细化建模
3d·贴图·建模教程·渲云渲染
njsgcs1 天前
ai工业建模需要理解两个3d模型之间的区别,把从一个变成另一个需要什么神经网络
人工智能·神经网络·3d
fzb5QsS1p1 天前
机器视觉如何赋予机器“三维双眼”——3D重建技术全景指南
3d
sin°θ_陈2 天前
前馈式3D Gaussian Splatting 研究地图(路线四):无位姿、无标定、弱约束:前馈式 3DGS 的真实世界转向
3d
kyle~2 天前
Open3D---FPFH 3D点云的快速点特征直方图描述符
3d·机器人·点云处理
Zldaisy3d2 天前
哈佛大学发布“七十二变”软体机器手,提出旋转多材料3D打印新方法
3d
动恰客流管家3 天前
动恰3DV3丨客流统计系统:自然山水景区客流统计破局,景区数字化标配
数据结构·microsoft·3d
CG_MAGIC3 天前
Blender场景教程:秘密实验室
3d·blender·建模教程·渲云渲染·3d软件