CloneMeshFVF()克隆

 

有时,需要将Mesh的数据另外复制一份,可以使用ID3DXMesh::CloneMeshFVF方法:

HRESULT ID3DXMesh::CloneMeshFVF(

    DWORD Options,

    DWORD FVF,

    LPDIRECT3DDEVICE9 pDevice,

    LPD3DXMESH *ppCloneMesh

);

l          Options –创建Mesh的标志。完整信息可参考SDK文档。下面的几个很常用:

n          D3DXMESH_32BIT –使用32位顶点索引

n          D3DXMESH_MANAGED –Mesh数据将被放在受控的内存缓冲池中

n          D3DXMESH_WRITEONLY –Mesh数据只能执行写操作,不能执行读操作

n          D3DXMESH_DYNAMIC –Mesh缓冲将是动态的

l          FVF –创建新Mesh的灵活定点格式

l          pDevice –与克隆Mesh相关联的D3D设备

l          ppCloneMesh –输出新Mesh

这个方法允许指定与原Mesh不同的Options和FVF。例如,现在有一个定点格式为D3DXFVF_XYZ的Mesh,我们想复制一个顶点格式为D3DXFVF_XYZ|D3DXFVF_NORMAL的Mesh,可以这样做:

// assume _mesh and device are valid

ID3DXMesh* clone = 0;

Mesh->CloneMeshFVF(

    Mesh->GetOptions(), // use same options as source mesh

    D3DFVF_XYZ | D3DFVF_NORMAL,// specify clones FVF

    Device,

    &clone);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值