ZFXMeshX.h
上传用户:junlon
上传日期:2022-01-05
资源大小:39075k
文件大小:1k
源码类别:

DirextX编程

开发平台:

Visual C++

  1. #ifndef __d3d_ZFXMesh_H__
  2. #define __d3d_ZFXMesh_H__
  3. //#pragma once
  4. // Mesh类
  5. class CZFXMesh{
  6. public:
  7. CZFXMesh();
  8. ~CZFXMesh();
  9. public:
  10. //if bTextureCreateFromMesh == true, 将根据mesh中提供的文件名来创建一个纹理数组,并存储在m_ppTextureFromMesh指向的数组中
  11. //         m_bTextureCreateFromMesh = true;
  12. //else
  13. //         m_bTextureCreateFromMesh = false;
  14. HRESULT LoadMeshFromFile( LPDIRECT3DDEVICE9 pd3dDevice, LPCTSTR strFileName, bool bTextureCreateFromMesh, 
  15. DWORD options = D3DXMESH_MANAGED );
  16. HRESULT CreateTextureFromFile( LPDIRECT3DDEVICE9 pd3dDevice, LPCTSTR strFileName );
  17. // if  m_bTextureCreateFromMesh == true
  18. //      将使用m_ppTextureFromMesh纹理数组
  19. // else
  20. //      使用m_pTexture纹理
  21. virtual void OnRender( LPDIRECT3DDEVICE9 pd3dDevice );
  22. void Release(); // 仅当要更新该模型内容时调用该函数,比如你想再次LoadMeshFromFile()
  23.                 // 对象析构不必调用,因为析构函数中自动调用该函数以释放模型及纹理资源
  24. protected:
  25. bool m_bTextureCreateFromMesh;
  26. DWORD m_dwMtrl;
  27. D3DMATERIAL9* m_pMeshMtrl;
  28. ID3DXMesh* m_pMesh;
  29. IDirect3DTexture9* m_pTexture;
  30. IDirect3DTexture9** m_ppTextureFromMesh;
  31. };
  32. #endif //__d3d_ZFXMesh_H__