1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
|
#include "Map/BaseGroundDrawer.h"
#include "terrain/TerrainBase.h"
#include "terrain/Terrain.h"
#include "Frustum.h"
class CSm3ReadMap;
class CSm3GroundDrawer : public CBaseGroundDrawer
{
public:
CSm3GroundDrawer(CSm3ReadMap *map);
~CSm3GroundDrawer();
void Draw(bool drawWaterReflection,bool drawUnitReflection,unsigned int overrideVP);
void DrawShadowPass(void);
void Update();
void IncreaseDetail();
void DecreaseDetail();
protected:
void DrawObjects(bool drawWaterReflection,bool drawUnitReflection);
CSm3ReadMap *map;
terrain::Terrain *tr;
terrain::RenderContext *rc, *shadowrc, *reflectrc;
terrain::Camera cam, shadowCam, reflectCam;
Frustum frustum;
unsigned int groundShadowVP;
friend class CSm3ReadMap;
};
|