2
// C++ Interface: SimpleWater
7
// Author: Erik Hjortsberg <erik.hjortsberg@gmail.com>, (C) 2008
9
// This program is free software; you can redistribute it and/or modify
10
// it under the terms of the GNU General Public License as published by
11
// the Free Software Foundation; either version 2 of the License, or
12
// (at your option) any later version.
14
// This program is distributed in the hope that it will be useful,
15
// but WITHOUT ANY WARRANTY; without even the implied warranty of
16
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17
// GNU General Public License for more details.
19
// You should have received a copy of the GNU General Public License
20
// along with this program; if not, write to the Free Software
21
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.//
23
#ifndef EMBEROGRE_ENVIRONMENTSIMPLEWATER_H
24
#define EMBEROGRE_ENVIRONMENTSIMPLEWATER_H
26
#include "components/ogre/EmberOgrePrerequisites.h"
27
#include "Environment.h"
31
namespace Environment {
34
@brief A very simple water implementation which just shows a flat textured water plane.
36
@author Erik Hjortsberg <erik.hjortsberg@gmail.com>
38
class SimpleWater : public IWater
41
SimpleWater(Ogre::Camera& camera, Ogre::SceneManager& sceneMgr);
43
virtual ~SimpleWater();
46
* @brief Performs checks to see whether this technique is supported on the current hardware.
47
* @return True if the water technique is supported.
49
virtual bool isSupported() const;
51
* @brief Initializes the water. You must call this in order for the water to show up.
52
* @return True if the water technique could be setup, else false.
54
virtual bool initialize();
59
* @brief The camera used.
61
Ogre::Camera& mCamera;
64
* @brief The scene manager to which the water will be added.
66
Ogre::SceneManager& mSceneMgr;
69
* @brief The node to which the water entity is attached to. Owned by this instance-
71
Ogre::SceneNode *mWaterNode;
74
* @brief The entity representing the water plane. Owned by this instance-
76
Ogre::Entity* mWaterEntity;