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]
);
相关推荐
Hall_IC6 小时前
ST LIS3DHTR代理商
3d
CG_MAGIC7 小时前
多软件互通避坑:模型互导不碎面、不丢材质
3d·材质·效果图·建模教程·渲云渲染
shuaiqinke10 小时前
【分享】医维度解剖 3D人体模型 解剖学习超直观
学习·3d
君为先-bey12 小时前
GaussianAnything—— 交互式点云潜在扩散的3D生成
深度学习·3d·扩散模型·三维点云
3DVisionary13 小时前
消费电子曲面如何逆向?蓝光3D扫描实现精密件快速迭代
3d·制造·智能制造·逆向工程·蓝光三维扫描·形位公差分析·消费电子制造
AI前沿资讯14 小时前
哪个AI 3D创作工具更适合视频创作?——2026年V2Fun实战指南
人工智能·3d·音视频
君为先-bey14 小时前
DiffusionGS: 将3D高斯溅射嵌入扩散模型的单阶段图像到三维生成
深度学习·计算机视觉·3d·扩散模型·三维点云
葛兰岱尔1 天前
3D模数师V1.2 震撼发布:支持3D/BIM/GIS全栈融合的桌面端查看应用工具,开启工程数字孪生新纪元!
3d
LuminWave1 天前
多维场景落地,3D激光雷达成机器人产业核心感知基石
人工智能·3d·机器人
I'mSQL1 天前
下载威图机柜3D模型
3d·自动化