// MeshObject.h: interface for the CMeshObject class. // ////////////////////////////////////////////////////////////////////// #if !defined(AFX_MESHOBJECT_H__6734D99C_DC1E_4886_B686_DB6FF091A3E8__INCLUDED_) #define AFX_MESHOBJECT_H__6734D99C_DC1E_4886_B686_DB6FF091A3E8__INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 #include #include #include "SceneException.h" #include #include <3DMath.h> class CMeshObject { static LPDIRECT3DDEVICE8 m_pd3dDevice; public: void MeshReload(); char m_strMeshName[256]; void ConvertTree(); void ConvertDetail(); void TextureLoad(); void Optimize(); void ConvertMulti(); void ConvertNormal(); void Save(char *strFilename); void SetShader(DWORD Shader){m_dwShader=Shader;}; DWORD m_dwShader; DWORD m_dwCustomizeShader; bool m_isAlreadyLock; vector3 m_MaxBox,m_MinBox; bool m_bCompleteMesh; void CopyBuffer(); void AllUnlockBuffer(); void AllLockBuffer(); int m_nTotalVertex; int m_nTotalIndices; int m_iMethod; List m_pVertexBuffer; List m_pIndicesBuffer; List m_pMat; List m_pGlare; List m_pDetailMap; List m_pBumpTexture; List m_pMatRef; List m_pIndices; List m_pVertex; List m_nVertex; List m_nIndices; bool m_bRender; long GetObjectCount(){return m_nVertex.num;}; void RenderBox(LPDIRECT3DDEVICE8 pd3dDevice); void Render(LPDIRECT3DDEVICE8 pd3dDevice); void RenderGlare(LPDIRECT3DDEVICE8 pd3dDevice); void CalcBox(); void Load(char *strFilename); void SaveConvertMesh(char *strFilename,int iMethod); CMeshObject(); virtual ~CMeshObject(); }; #endif // !defined(AFX_MESHOBJECT_H__6734D99C_DC1E_4886_B686_DB6FF091A3E8__INCLUDED_)