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]
);
相关推荐
元让_vincent4 小时前
论文 Review:Trick-GS | ICASSP 2025 | 面向端侧部署的高效 3D Gaussian Splatting “技巧组合包”
3d·性能提升·3dgs
ykjhr_3d8 小时前
东莞车间教学vr虚拟仿真实训制作公司
3d·vr·华锐视点·虚拟仿真实训·虚拟车间
3D小将19 小时前
3D格式转换之3DXML 转换为 GLTF 技术文档
3d·maya·solidworks模型·ug模型·catia模型·stl模型
CG_MAGIC1 天前
3ds Max 模型导入导出常见报错解决方法
3d·贴图·效果图·建模教程·渲云渲染
郑寿昌1 天前
NaniteLumen打造高精3D互动游戏
游戏·3d
小短腿的代码世界1 天前
Qt 3D 深度解析:QtQuick 与 Scene Graph 驱动的工业级 3D 渲染架构
qt·3d·架构
hey202005281 天前
D5渲染器电脑配置不够怎么办
3d
JoyCong19981 天前
玩3D游戏、做三维设计时视角乱跳?ToDesk“3D鼠标”功能了解一下!
游戏·3d·计算机外设·远程工作·远程操作
Bnews1 天前
3D精准室内定位设备在机器人科研中的推荐
3d·机器人
3D小将2 天前
3D格式转换之X_T格式转换为GLTF格式技术文档
3d·solidworks模型·rhino模型·sketchup模型·igs模型