⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 game_mesh.h

📁 我做的毕业设计
💻 H
字号:
#ifndef GAMEENGINE_MESH_INCLUDE
#define GAMEENGINE_MESH_INCLUDE

#define MESH_D3DFVF_CUSTOMVERTEX (D3DFVF_XYZ|D3DFVF_NORMAL|D3DFVF_TEX1)
class CMesh
{
public:
	D3DXVECTOR3					m_vMin;//从MESH导出时的左下点坐标
	D3DXVECTOR3					m_vMax;//从MESH导出时的右上点坐标
	D3DXVECTOR3					m_vPos;//位置
	FLOAT						m_fScale;//大小
	D3DXVECTOR3					m_vRotation;//转角
	D3DXMATRIX  				m_p1MatMesh;
	D3DXMATRIX  				m_p2MatMesh;
	LPD3DXMESH					m_pMesh;
	DWORD Render();
	CMesh(LPDIRECT3DDEVICE9 pD3DDevice, LPSTR pFilename);
	virtual~CMesh();
	void setTransform(float setScaling, float x, float y, float z, float angle);
	void setTransform(float setScaling, float x, float y, float z, float angle,D3DXMATRIX *ViewMatrix);

	//得到碰撞框
	void GetBoundingBox(D3DXVECTOR3 *vMin,D3DXVECTOR3 *vMax,float n)
	{
		*vMin=m_vPos+m_vMin*m_fScale*n;
		*vMax=m_vPos+m_vMax*m_fScale*n;
	}
	
	//得到左下点和右上点坐标
	HRESULT CalculateStaticBondingBox(LPD3DXMESH pMesh, const LPD3DXVECTOR3 pVmin,const LPD3DXVECTOR3 pVmax);

	LPD3DXMESH GetMesh(){return m_pMesh;};
	D3DXMATRIX GetMat(){return m_p1MatMesh;};
private:
	
	LPDIRECT3DDEVICE9 m_pD3DDevice;
	DWORD m_dwNumMaterials;
	
	D3DMATERIAL9* m_pMeshMaterials;
    LPDIRECT3DTEXTURE9* m_pMeshTextures;
	
};
#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -