📄 mcobjmesh.h
字号:
// MCObjMesh.h: interface for the CMCObjMesh class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_MCOBJMESH_H__75002373_188F_4A6C_83DA_A389E18662C7__INCLUDED_)
#define AFX_MCOBJMESH_H__75002373_188F_4A6C_83DA_A389E18662C7__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
struct MCOBJVERTEX
{
DWORD dwTexSubNum;
D3DXVECTOR3 vVector;
D3DXVECTOR3 vNoraml;
D3DXVECTOR2 Tex;
};
struct MCFVFTILEVERTEX
{
D3DXVECTOR3 vVector;
D3DXVECTOR3 vNoraml;
D3DXVECTOR2 Tex1;
};
#define MC3FVF_TILEVERTEX ( D3DFVF_XYZ | D3DFVF_NORMAL | D3DFVF_TEX1 )
struct MCCOLFVFVERTEX
{
D3DXVECTOR3 vVector;
D3DXVECTOR3 vNoraml;
D3DCOLOR color;
};
#define MCCOLFVF_VERTEX (D3DFVF_XYZ | D3DFVF_NORMAL | D3DFVF_DIFFUSE )
struct MCFVFINDEX
{
WORD nIndex[3];
};
// 坷宏璃飘 概浆绰 橇饭烙 坷宏璃飘 根顶 持磊..
class CMCObjMesh
{
public:
CMCObjMesh();
virtual ~CMCObjMesh();
// 鞘夸 茄巴捞 隔兵..?
void AddTexture( MCTEXTUREEX * pTexture, int nCount );
HRESULT CreateSubBuffer();
HRESULT CreateVertexIndexBuffer();
HRESULT CreateVertexIndexBufferEx();
HRESULT CreateSubVertexIndexBuffer();
HRESULT ReleaseVertexIndex();
HRESULT Render( BYTE nAlpha );
HRESULT RenderBump( BYTE nAlpha );
HRESULT SubRender( BYTE nAlpha );
HRESULT SubRenderBump( BYTE nAlpha );
HRESULT RenderBumpEx();
HRESULT RenderEx2( BYTE nAlpha );
HRESULT RenderEx3( D3DXMATRIX matWorld, BYTE nAlpha );
HRESULT RenderBlend();
HRESULT SubRenderBlend();
HRESULT SortMeterial();
VOID RenderMeterial( SMETERIALDATA * pMeterial );
VOID RenderBlendMeterial( SMETERIALDATA * pMeterial );
MCTEXTUREEX * FindMeterial( int nClass, int nPass, SMETERIALDATA * pMeterial );
HRESULT GetVertexData( MCOBJVERTEX ** pVertex, int * nVertexCount );
char m_szName[68];
int m_nFrameNumber;
MCOBJVERTEX * m_pVertex;
MCFVFINDEX * m_pIndex;
int m_nVertexCount;
int m_nFaceCount;
int m_nTexCount;
BOOL m_bBumpMap;
BOOL m_bSubTexture;
BOOL m_bAlpha;
BOOL m_bDecal;
BOOL m_bBlendMap;
SMETERIALDATA * m_pRootMtl;
private:
MCTEXTUREEX ** m_pTexture;
LPDIRECT3DVERTEXBUFFER9 m_pArVertexBuffer[6];
LPDIRECT3DINDEXBUFFER9 m_pArIndexBuffer[6];
LPDIRECT3DVERTEXBUFFER9 m_pVertexBuffer;
LPDIRECT3DINDEXBUFFER9 m_pIndexBuffer;
D3DMATERIAL9 * m_pMaterials;
LPDIRECT3DVERTEXBUFFER9 * m_pVertexBufferEx;
LPDIRECT3DINDEXBUFFER9 * m_pIndexBufferEx;
vector< WORD > * m_pvlIndex;
};
//////////////////////////////////////////////////////////////////////////
// 面倒 概浆.. 泅犁绰 捞悼侩栏风 父 静烙..
//////////////////////////////////////////////////////////////////////////
class CMCObjColMesh
{
public:
CMCObjColMesh();
virtual ~CMCObjColMesh();
HRESULT Render(); // 客捞绢 橇方栏风 父 嘛澜..
HRESULT CreateVertexIndexBuffer();
HRESULT ReleaseVertexIndex();
HRESULT GetVertexData( MCCOLFVFVERTEX ** pVertex, int * nVertexCount );
int m_nIndex;
MCCOLFVFVERTEX * m_pVertex;
MCFVFINDEX * m_pIndex;
// WORD * m_nFace;
int m_nVertexCount;
int m_nFaceCount;
private:
LPDIRECT3DVERTEXBUFFER9 m_pVertexBuffer;
LPDIRECT3DINDEXBUFFER9 m_pIndexBuffer;
D3DMATERIAL9 * m_pMaterials;
};
#endif // !defined(AFX_MCOBJMESH_H__75002373_188F_4A6C_83DA_A389E18662C7__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -