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_)