OpenMW
Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes | Static Private Attributes
MWRender::Water Class Reference

Water rendering. More...

#include <water.hpp>

List of all members.

Public Member Functions

 Water (Ogre::Camera *camera, RenderingManager *rend)
 ~Water ()
void setActive (bool active)
void toggle ()
void update (float dt, Ogre::Vector3 player)
void frameStarted (float dt)
void addEmitter (const MWWorld::Ptr &ptr, float scale=1.f, float force=1.f)
 adds an emitter, position will be tracked automatically using its scene node
void removeEmitter (const MWWorld::Ptr &ptr)
void updateEmitterPtr (const MWWorld::Ptr &old, const MWWorld::Ptr &ptr)
void setViewportBackground (const Ogre::ColourValue &bg)
void processChangedSettings (const Settings::CategorySettingVector &settings)
void updateUnderwater (bool underwater)
 Updates underwater state accordingly.
void changeCell (const ESM::Cell *cell)
void setHeight (const float height)
virtual void requestedConfiguration (sh::MaterialInstance *m, const std::string &configuration)
virtual void createdConfiguration (sh::MaterialInstance *m, const std::string &configuration)

Protected Member Functions

void applyRTT ()
void applyVisibilityMask ()
void updateVisible ()

Protected Attributes

RenderingManagermRendering
SkyManagermSky
Ogre::MaterialPtr mMaterial
bool mUnderwaterEffect
int mVisibilityFlags
ReflectionmReflection
RefractionmRefraction
RippleSimulationmSimulation
Ogre::Vector2 mPlayer

Private Member Functions

Ogre::Vector3 getSceneNodeCoordinates (int gridX, int gridY)

Private Attributes

Ogre::Camera * mCamera
Ogre::SceneManager * mSceneMgr
Ogre::Plane mWaterPlane
Ogre::SceneNode * mWaterNode
Ogre::Entity * mWater
bool mIsUnderwater
bool mActive
bool mToggled
int mTop
float mWaterTimer

Static Private Attributes

static const int CELL_SIZE = 8192

Detailed Description

Water rendering.


Constructor & Destructor Documentation

MWRender::Water::Water ( Ogre::Camera *  camera,
RenderingManager rend 
)

Member Function Documentation

void MWRender::Water::addEmitter ( const MWWorld::Ptr ptr,
float  scale = 1.f,
float  force = 1.f 
)

adds an emitter, position will be tracked automatically using its scene node

void MWRender::Water::applyRTT ( ) [protected]
void MWRender::Water::changeCell ( const ESM::Cell cell)
void MWRender::Water::createdConfiguration ( sh::MaterialInstance *  m,
const std::string &  configuration 
) [virtual]
void MWRender::Water::frameStarted ( float  dt)
Vector3 MWRender::Water::getSceneNodeCoordinates ( int  gridX,
int  gridY 
) [private]
void MWRender::Water::requestedConfiguration ( sh::MaterialInstance *  m,
const std::string &  configuration 
) [virtual]
void MWRender::Water::setActive ( bool  active)
void MWRender::Water::setHeight ( const float  height)
void MWRender::Water::setViewportBackground ( const Ogre::ColourValue &  bg)
void MWRender::Water::update ( float  dt,
Ogre::Vector3  player 
)
void MWRender::Water::updateEmitterPtr ( const MWWorld::Ptr old,
const MWWorld::Ptr ptr 
)
void MWRender::Water::updateUnderwater ( bool  underwater)

Updates underwater state accordingly.

void MWRender::Water::updateVisible ( ) [protected]

Member Data Documentation

const int MWRender::Water::CELL_SIZE = 8192 [static, private]
bool MWRender::Water::mActive [private]
Ogre::Camera* MWRender::Water::mCamera [private]
Ogre::MaterialPtr MWRender::Water::mMaterial [protected]
Ogre::Vector2 MWRender::Water::mPlayer [protected]
Ogre::SceneManager* MWRender::Water::mSceneMgr [private]
bool MWRender::Water::mToggled [private]
int MWRender::Water::mTop [private]
Ogre::Entity* MWRender::Water::mWater [private]
Ogre::SceneNode* MWRender::Water::mWaterNode [private]
Ogre::Plane MWRender::Water::mWaterPlane [private]

The documentation for this class was generated from the following files: