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]
);
相关推荐
DisonTangor10 小时前
UltraShape 1.0: 高保真三维形状生成:基于可扩展几何优化
人工智能·3d·开源·aigc
3DVisionary13 小时前
3C电子制造质检升级:拍照式蓝光3D扫描在精密测量中的应用实践
3d·制造
gis_rc16 小时前
python下shp转3dtiles
python·3d·cesium·3dtiles·数字孪生模型
晟诺数字人16 小时前
数字人、AI数字人、虚拟数字人、3D数字人之间的区别于应用场景
大数据·人工智能·3d·数字人
Juicedata16 小时前
3D-AIGC 存储架构演进:从 NFS、GlusterFS 到 JuiceFS
3d·架构·aigc
苏州知芯传感2 天前
成本与性能的平衡术:面向亿级市场的消费电子MEMS微振镜,其设计是如何“做减法”的?
3d·机器视觉·mems·消费电子·微振镜
zl_vslam2 天前
SLAM中的非线性优-3D图优化之地平面约束(十四)
算法·计算机视觉·平面·3d
deep_drink2 天前
【论文精读(二十二)】PointMeta:点云江湖的“兵器谱”,用元架构终结算子内卷(CVPR 2023)
深度学习·神经网络·计算机视觉·3d·point cloud
塔楼3 天前
VGGT(Visual Geometry Grounded Transformer)解析
深度学习·算法·3d
gshh__3 天前
SuperMap Hi-Fi 3D SDK for Unreal 如何实现横断面分析
3d·ue5·游戏引擎·supermap