//--------------------------------------------------------------------------------------
// 头文件: zfxMesh.h ， 作者：曾凡喜
//
// CZFXMesh类头文件，封装了网格模型的导入，渲染，释放等简单操作
//
// 版权归作者所有，未经允许不得利用源代码进行任何商业活动
//
// 完成时间：2008-05-11
//--------------------------------------------------------------------------------------


#ifndef __zfxMesh_H__
#define __zfxMesh_H__

#include "zfxd3dUtility.h"

// Mesh类
class CZFXMesh{
public:
	CZFXMesh();
	~CZFXMesh();
public:
	// 加载模型文件
	HRESULT LoadMeshFromFile( LPDIRECT3DDEVICE9 pd3dDevice, LPCTSTR strFileName,
		DWORD options = D3DXMESH_MANAGED );
	// 渲染模型，使用模型内部纹理
	virtual void Render( LPDIRECT3DDEVICE9 pd3dDevice );
	// 渲染模型，使用外部纹理
	virtual void Render( LPDIRECT3DDEVICE9 pd3dDevice, LPDIRECT3DTEXTURE9* ppTexture /*指定外部纹理名*/);
	// 释放模型资源
	void Release();
protected:
	DWORD m_dwMtrl;
	D3DMATERIAL9* m_pMeshMtrl;
	ID3DXMesh* m_pMesh;
	IDirect3DTexture9** m_ppTexture;
};

#endif  //__zfxMesh_H__