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]
);
相关推荐
EliseL5 小时前
SuperMap iObjects Java 如何将3DTiles数据转换为S3M三维瓦片
java·3d·三维
qq_532453537 小时前
使用 GaussianSplats3D 在 Vue 3 中构建交互式 3D 高斯点云查看器
前端·vue.js·3d
CoLiuRs8 小时前
Image-to-3D — 让 2D 图片跃然立体*
python·3d·flask
新启航光学频率梳9 小时前
特种爆破装置传爆深孔孔深光学3D轮廓测量-激光频率梳3D轮廓技术
科技·3d·制造
应用市场10 小时前
基于稠密对应关系的3D人体网格回归技术详解
3d·数据挖掘·回归
Simple_core11 小时前
3d实现公告牌Billboard
qt·3d
Coovally AI模型快速验证19 小时前
10亿参数刷新OCR记录:LightOnOCR-2如何以小博大?
人工智能·学习·yolo·3d·ocr·人机交互
PHOSKEY1 天前
光子精密3D工业相机实现3C/汽车/半导体连接器pin针高效质检
数码相机·3d·汽车
杀生丸学AI1 天前
【视频生成】SRENDER:基于<稀疏扩散>与<3D渲染>的像机轨迹视频生成
人工智能·深度学习·3d·三维重建·世界模型·空间智能·高斯溅射
不含硫jun1 天前
windows中高斯泼建(gaussian-splatting)库安装 兼容vs2022 cuda11.8 UE5.3.2
pytorch·3d·ue5·visual studio