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

📄 texturemanager.h

📁 国外网游源码....除工具源码缺少之外,其余程序都全...至于,什么游戏,因为国内还没有,所以找不到测试
💻 H
字号:
// TextureManager.h: interface for the CTextureManager class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_TEXTUREMANAGER_H__E752229A_C164_4A45_A408_5946D4EC64F3__INCLUDED_)
#define AFX_TEXTUREMANAGER_H__E752229A_C164_4A45_A408_5946D4EC64F3__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#define ID_AM 0   // ambient
#define ID_DI 1   // diffuse
#define ID_SP 2   // specular
#define ID_SH 3   // shininesNs
#define ID_SS 4   // shininess strength
#define ID_SI 5   // self-illumination
#define ID_OP 6   // opacity
#define ID_FI 7   // filter color
#define ID_BU 8   // bump 
#define ID_RL 9   // reflection
#define ID_RR 10  // refraction 
#define ID_DP 11  // displacement 
#define ID_LM 12  // 扼捞飘 甘.. 悼立捞 4父 眠啊..
#define ID_MASK 13  // 扼捞飘 甘.. 悼立捞 4父 眠啊..

struct MCTEXTURE{
	int nIndex;
	LPDIRECT3DTEXTURE9 pTexture;
	char szTextureName[256];
	
	MCTEXTURE() :
	nIndex(-1),pTexture(NULL)
	{
	}
	~MCTEXTURE()
	{
		nIndex = -1;
		SAFE_RELEASE(pTexture);
		ZeroMemory(szTextureName,sizeof(szTextureName));
	}
};

struct MCTEXTUREEX{
	int nClass;
	int nSubNumber;
	int nType;
	int nChannel;
	float fUOffset;
	float fVOffset;
	float fUScale;
	float fVScale;
	float fUAng;
	float fVAng;
	float fWAng;
	MCTEXTURE * pTexture;
	MCTEXTURE * pBumpTex;
	MCTEXTURE * pSpecularTex;
	MCTEXTURE * pShadowTex;
	MCTEXTURE * pBlendTex;
	
	MCTEXTUREEX() :
	nClass(0),nSubNumber(0),nType(0),nChannel(0),
	fUOffset(0.0f),fVOffset(0.0f),fUScale(0.0f),fVScale(0.0f),fUAng(0.0f),fVAng(0.0f),fWAng(0.0f),
	pTexture(NULL),pBumpTex(NULL),pSpecularTex(NULL),pShadowTex(NULL),pBlendTex(NULL)
	{
	}
	~MCTEXTUREEX()
	{
		nClass = 0;
		nSubNumber = 0;
		nType = 0;
		nChannel = 0;
		fUOffset = 0.0f;
		fVOffset = 0.0f;
		fUScale = 0.0f;
		fVScale = 0.0f;
		fUAng = 0.0f;
		fVAng = 0.0f;
		fWAng = 0.0f;
		pTexture = NULL;
		pBumpTex = NULL;
		pSpecularTex = NULL;
		pShadowTex = NULL;
		pBlendTex = NULL;
	}
};

struct SMETERIALDATA
{
	SMETERIALDATA()
	{
		nType = 0;

		nTexCount = 0;
		m_pTexture = NULL;

		nNumsubmtls = 0;
		pSubMeterial = NULL;
	}
	~SMETERIALDATA()
	{
		for( int i=0;i<nTexCount;i++)
		{
			SAFE_DELETE( m_pTexture[i] );
		}
		SAFE_DELETE_ARRAY( m_pTexture );
		SAFE_DELETE_ARRAY( pSubMeterial );
	}

	int					nType;
	int					nTexCount;
	MCTEXTUREEX **		m_pTexture;

	int					nNumsubmtls;
	SMETERIALDATA	*	pSubMeterial;
};

class CTextureManager  
{
public:
	CTextureManager();
	virtual ~CTextureManager();

public:
	MCTEXTURE *		AddTexture( MCTEXTURE * pTexture );
	MCTEXTURE *		AddTexture( char * szTexName );
	MCTEXTURE *		AddBumpTexture( MCTEXTURE * pTexture );
	void			DelTexture( int nIndex );
	MCTEXTURE *		FindTexture( int nIndex, char * szTextureName );

	HRESULT			InvalidateDeviceObjects();
	HRESULT			RestoreDeviceObjects();

	void			DestroyTexture();

private:
	vector<MCTEXTURE *> m_vlTexture;

};

#endif // !defined(AFX_TEXTUREMANAGER_H__E752229A_C164_4A45_A408_5946D4EC64F3__INCLUDED_)

⌨️ 快捷键说明

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