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

📄 mcobjmesh.h

📁 国外网游源码....除工具源码缺少之外,其余程序都全...至于,什么游戏,因为国内还没有,所以找不到测试
💻 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 + -