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]
);
相关推荐
就是个名称2 小时前
cesium相机
前端·3d
一粒马豆7 小时前
three.js用粒子使用canvas生成的中文字符位图材质
3d·three.js·canvas·中文字符·粒子动画
python算法(魔法师版)18 小时前
HTML5 Canvas和JavaScript的3D粒子星系效果
javascript·3d·html5
向宇it1 天前
【unity游戏开发之InputSystem——02】InputAction的使用介绍(基于unity6开发介绍)
开发语言·3d·unity·c#·游戏引擎
CASAIM1 天前
CASAIM与友达光电达成深度合作,CASAIM IS自动化蓝光测量技术为创新显示技术发展注入新的活力
人工智能·计算机视觉·3d·自动化
软件工程师文艺1 天前
利用 Three.js 实现 3D 粒子正方体效果
开发语言·javascript·3d
云樱梦海2 天前
腾讯 Hunyuan3D-2: 高分辨率3D 资产生成
3d·hunyuan3d-2
mirrornan2 天前
产品Web3D交互展示有什么优势?
3d·3d模型·web3d·3d展示
jndingxin2 天前
OpenCV相机标定与3D重建(66)对立体匹配生成的视差图(disparity map)进行验证的函数validateDisparity()的使用
opencv·3d
GIS数据转换器2 天前
城市生命线安全保障:技术应用与策略创新
大数据·人工智能·安全·3d·智慧城市