📄 game_mesh.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 + -