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]
);
相关推荐
代数狂人18 小时前
《深入浅出Godot 4与C# 3D游戏开发》第二章:编辑器导航
3d·编辑器·游戏引擎·godot
VBsemi-专注于MOSFET研发定制18 小时前
高端汽车零部件尺寸3D检测设备功率MOSFET选型方案:精密高效运动与成像电源驱动系统适配指南
3d·汽车
threelab20 小时前
从工厂模式到简化封装:三维引擎架构演进之路 threejs设计
javascript·3d·架构·webgl
三毛的二哥21 小时前
BEV:MapTR
人工智能·算法·计算机视觉·3d
地知通1 天前
地下管网AR可视化更新:支持AR拍照、智能巡检、3dtiles等4项功能
3d·ar·数字孪生·地下管网·移动巡检·参数化建模
林恒smileZAZ1 天前
Three.js实现更真实的3D地球[特殊字符]动态昼夜交替
开发语言·javascript·3d
三维频道2 天前
不止于精度:汽车精密锻铸件质检的“数据降维”与方案重构
3d·重构·汽车·工业数字化·蓝光三维扫描仪·汽车供应链·汽车智能制造
yeflx2 天前
正射模块-odm_orthophoto
3d
Hali_Botebie2 天前
【3D 生成技术】3D Gaussian Splatting 的基础理解
3d
3DVisionary2 天前
【深度实测】从三坐标到全场扫描:汽车精密锻铸件 3D 质检的数字化进阶
3d·汽车·质量检测·精密制造·三维扫描仪·汽车工业·xtop3d