8,324
社区成员
发帖
与我相关
我的任务
分享
class CMyMesh01_One
{
public:
CMyMesh01_One(void);
~CMyMesh01_One(void);
public:
bool LoadMeshFromFile(char filename[], LPDIRECT3DDEVICE9 & pD3DDevice);
public:
LPDIRECT3DVERTEXDECLARATION9 m_pVD;
struct stctVertex
{
float x, y, z;
DWORD color;
};
};
#include "dxstdafx.h"
#include "MyMesh01_One.h"
CMyMesh01_One::CMyMesh01_One(void)
{m_pVD = NULL;}
CMyMesh01_One::~CMyMesh01_One(void)
{
if (m_pVD)
{
m_pVD->Release();
m_pVD = NULL;
}
}
bool CMyMesh01_One::LoadMeshFromFile(char filename[], LPDIRECT3DDEVICE9 & pD3DDevice)
{
//Vd
D3DVERTEXELEMENT9 decl[] = {
{0, 0, D3DDECLTYPE_FLOAT3, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_POSITION, 0},
{0, 12, D3DDECLTYPE_D3DCOLOR, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_COLOR, 0},
D3DDECL_END()
};
HRESULT hr;
V(hr = pD3DDevice->CreateVertexDeclaration(decl, &m_pVD));
return true;
}
HRESULT CALLBACK OnCreateDevice( IDirect3DDevice9* pd3dDevice, const D3DSURFACE_DESC* pBackBufferSurfaceDesc, void* pUserContext )
{
g_clsMyMesh01_One.LoadMeshFromFile("C:\\test.txt", pd3dDevice);
return S_OK;
}