|
|
发表于 2009-2-24 11:22:00
|
显示全部楼层
Re:读.x文件的问题
// Vertex 是D3DFVF_XYZ|D3DFVF_NORMAL|D3DFVF_TEX0格式的顶点,用来存储mesh里的顶点数据
Vertex* v = 0;
HRESULT hr=D3DXLoadMeshFromX(L"C:\ll.x",D3DUSAGE_DYNAMIC,pDevice,&ppAdjacency,&ppMaterials,&ppEffectInstance,&pNumMaterials,&ppMesh);
if(RESULT_OK == hr)
{
HRESULT hr=ppMesh->CloneMeshFVF(D3DUSAGE_DYNAMIC|D3DXMESH_VB_WRITEONLY ,D3DFVF_XYZ|D3DFVF_NORMAL|D3DFVF_TEX0 , pDevice ,&ppCloneMeshJ);
if(RESULT_OK == hr)
{
ppCloneMesh->GetVertexBuffer(&ppVB);
ppVB->Lock(0,0,&v,D3DLOCK_DISCARD )
{
D3DVERTEXBUFFER_DESC *pDesc;
ppVB->GetDesc(&pDesc);
// 假设D3DFVF_XYZ|D3DFVF_NORMAL|D3DFVF_TEX0占20 个字节.
for(int i=0 ;i< (pDesc->Size)/20 ; i++)
{
// 将mesh里的数据读到出来
v = ppVB;
}
}
ppVB->Unlock();
}
}
大致这样写一下,不知道对不?请赐教 |
|