📄 mcobject.h
字号:
// MCObject.h: interface for the CMCObject class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_MCOBJECT_H__18F3D136_4512_4A95_9D24_5AF5EA005875__INCLUDED_)
#define AFX_MCOBJECT_H__18F3D136_4512_4A95_9D24_5AF5EA005875__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
class CMCObjMesh;
D3DXVECTOR3 DecodeNormal(short normal);
class CMCObject
{
public:
CMCObject();
virtual ~CMCObject();
public:
HRESULT LoadFile( char * szFileName );
BOOL Render( UINT nCurFrame );
BOOL RenderEx( D3DXMATRIX matWorld, UINT nCurFrame );
BOOL RenderAlphaEx( D3DXMATRIX matWorld, UINT nCurFrame );
BOOL RenderDecalEx( D3DXMATRIX matWorld, UINT nCurFrame );
BOOL RenderColMesh( UINT nCurFrame );
void BoundingBoxRender(DWORD dwCurFrame, D3DXMATRIX& matWorld);
HRESULT CreateSubBuffer();
HRESULT CreateVertexIndexBuffer();
HRESULT CreateCollisionModel();
HRESULT ReleaseVertexIndex();
MD3BOUNDBOX* GetBoundBox(DWORD dwCurFrame) { return &m_pBoundBox[dwCurFrame]; }
CMCObjMesh* GetMesh(char *pBuffer, UINT nCurFrame ); // 皋浆驰.. 橇饭烙 逞滚..
int GetMeshCount( UINT nCurFrame ) { return (m_pFrameCount[nCurFrame+1]-m_pFrameCount[nCurFrame]); } // 皋浆 Count 掘绢坷蓖..
CMCObjMesh* GetNextMesh( CMCObjMesh* pMesh, UINT nCurFrame ); // 皋浆 器牢磐 掘绢坷蓖..
int GetFrameCount() { return m_nFrameCount; }
CMCObjColMesh* GetColMesh( int nColIndex, UINT nCurFrame ); // 牢郸荐.. 橇饭烙 逞滚..
int GetColMeshCount( UINT nCurFrame ) // 面倒 皋浆 Count 掘绢坷蓖..
{
if(!m_pColFrameCount)
return 0;
return (m_pColFrameCount[nCurFrame+1]-m_pColFrameCount[nCurFrame]);
}
CMCObjColMesh* GetNextColMesh( CMCObjColMesh* pColMesh, UINT nCurFrame ); // 皋浆 器牢磐 掘绢坷蓖..
float GetWidth( DWORD dwCurFrame );
HRESULT SortMeterial();
VOID ReadMeterial( HANDLE hFile, SMETERIALDATA * pMeterial, const char * szFileName );
VOID DeleteMeterial( SMETERIALDATA * pMeterial );
public:
int m_nIndex;
char m_szObjectName[255];
DWORD m_nFrameCount;
int m_nMeshCount;
int * m_pFrameCount;
CMCObjMesh * m_pMesh;
MD3BOUNDBOX * m_pBoundBox;
int m_nColMeshCount;
int * m_pColFrameCount;
CMCObjColMesh * m_pColMesh;
BYTE m_nAlpah;
D3DXVECTOR3 m_vLightDir;
int m_nMeterialCount;
SMETERIALDATA * m_pMtl;
};
#endif // !defined(AFX_MCOBJECT_H__18F3D136_4512_4A95_9D24_5AF5EA005875__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -