Added Horde3D terrain (still untextured).
[openstranded.git] / src / eal / horde3d / environment.hh
blob3483b71d8b8e42fc5374d804592595bcb31ef287
1 /*
2 * Terrain, weather, lights (Horde3D renderer)
4 * Copyright (C) 2009 David Kolossa, Mathias Gottschlag
6 * This file is part of OpenStranded
8 * OpenStranded is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation, either version 3 of the License, or
11 * (at your option) any later version.
13 * OpenStranded is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
18 * You should have received a copy of the GNU General Public License
19 * along with OpenStranded. If not, see <http://www.gnu.org/licenses/>.
22 #ifndef STRANDED_HORDE3DENVIRONMENT_HH
23 #define STRANDED_HORDE3DENVIRONMENT_HH
25 #include "eal/environment.hh"
27 namespace eal
29 class Horde3DEnvironment : public Environment
31 public:
32 Horde3DEnvironment();
33 virtual ~Horde3DEnvironment();
35 virtual void
36 setSize (int size);
38 virtual int
39 getSize ();
41 virtual void
42 setHeight (const Vector2 &pos, double height);
44 virtual double
45 getHeight (const Vector2 &pos);
47 virtual void
48 setHeightData(float *heightdata);
50 virtual void
51 setColor (const Vector2 &pos, const Color &color);
53 virtual Color
54 getColor (const Vector2 &pos);
56 virtual void
57 setColorMap (unsigned char *colormap, int size);
58 virtual void
59 setColorMap (std::string path);
61 virtual void
62 setSkyCube(std::string sky);
64 virtual void
65 setFog(const Color &fogcolor);
66 private:
67 void
68 createTerrain();
70 int terrain;
71 int terrainsize;
72 int colormap;
74 int sky;
75 int water;
79 #endif