www.pudn.com > 林海血原源代码.zip > HeightmapScene.h


// HeightmapScene.h: interface for the CHeightmapScene class. 
//作者:吴雪平  2002-6-17日修改 
//管理整个场景 
////////////////////////////////////////////////////////////////////// 
 
#if !defined(AFX_HEIGHTMAPSCENE_H__B43693C1_4008_11D6_812C_5254AB37CDC9__INCLUDED_) 
#define AFX_HEIGHTMAPSCENE_H__B43693C1_4008_11D6_812C_5254AB37CDC9__INCLUDED_ 
 
#if _MSC_VER > 1000 
#pragma once 
#endif // _MSC_VER > 1000 
 
#include "sprite.h" 
#include "3de.h" 
#include "Heightmap.h" 
#include "Terrain.h" 
#include "SkyBox.h" 
#include "text.h" 
#include "spritemanager.h" 
#include "lensflare.h" 
#include "house.h" 
 
class CHeightmapScene   
{ 
public: 
	CHeightmapScene(); 
	virtual ~CHeightmapScene(); 
 
	//初始化场景,几乎每个类都有一个Init-开头的初始化函数 
	bool    InitHeightmapScene(INPUT *pInput); 
     
	void    RenderHeightmapScene(); 
 
private: 
	INPUT         *m_pInput;       //保存键盘按键状态 
	CTerrain       m_cTerrain;     //负责画地形三角形 
	CSkyBox        m_cSkyBox;      //负责画天空盒 
	CLensFlare     m_cLensFlare;   //负责画太阳光晕 
	CSpriteManager m_cSprites;     //负责画动画模型(精灵、人物) 
    CHouse         m_cHouse;       //负责画建筑物(MS3D模型) 
    CText          m_cText;        //负责显示文字信息 
	C3dE           m_3dExplorer;   //负责接受输入与视图变换 
	//CHeightmap中有很多其他类都需要用到的静态数据成员 
	CHeightmap     m_cHmap; 
  
    //这两个成员用于调节画面亮度 
    float          m_gamma;      //用Blend模拟硬件Gamma调节 
	float          m_brightness; //调节画面亮度 
}; 
 
#endif // !defined(AFX_HEIGHTMAPSCENE_H__B43693C1_4008_11D6_812C_5254AB37CDC9__INCLUDED_)