model.h

来自「3D赛车游戏源代码-用Visual Studio 2005」· C头文件 代码 · 共 59 行

H
59
字号
/////////////////////////////////////////////////////////////////////////////
//
// 模型类,实现一个通用的3D模型类,用于渲染等。
//
// Model.h - Model类的声明
//
/////////////////////////////////////////////////////////////////////////////

#ifndef __MODEL_H_INCLUDED__
#define __MODEL_H_INCLUDED__

//-------------------------------------------------------------------------------
// 前向声明
//-------------------------------------------------------------------------------
class TriMesh;
struct TextureReference;
struct t3DModel;

//-------------------------------------------------------------------------------
// 模型
//-------------------------------------------------------------------------------
class Model 
{
public:
	// 构造析构函数
	Model();
	~Model();

	// 内存管理
	void	AllocateMemory(int nPartCount);
	void	FreeMemory();

	// 部件访问
	int	GetPartCount() const { return m_partCount; }
	TriMesh	*GetPartMesh(int index);
	
	// 纹理访问
	TextureReference	*GetPartTexture(int index);
	void			SetPartTextureName(int index, const char *name);

	// Cache 纹理
	void	Cache() const;

	// 渲染模型或部件,使用指定的纹理
	void	Render() const;
	void	RenderPart(int index) const;

	// 快捷导入一个3DS模型. (使用Load3DS) 
	void	Import3DS(const char *modelFilename);
	void	FromT3DModel(t3DModel &model);

protected:
	int			m_partCount;				// 部件个数
	TriMesh			*m_partMeshList;		// 部件列表
	TextureReference	*m_partTextureList;	// 纹理列表
};


#endif

⌨️ 快捷键说明

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