1 #ifndef OPENMW_MWRENDER_WATER_H
2 #define OPENMW_MWRENDER_WATER_H
15 class PositionAttitudeTransform;
22 class IncrementalCompileOperation;
46 class RippleSimulation;
84 Water(osg::Group* parent, osg::Group* sceneRoot,
86 const std::string& resourcePath);
bool mEnabled
Definition: water.hpp:68
void update(float dt)
Definition: water.cpp:627
void setEnabled(bool enabled)
Definition: water.cpp:592
osg::ref_ptr< Refraction > mRefraction
Definition: water.hpp:63
~Water()
Definition: water.cpp:562
const Fallback::Map * mFallback
Definition: water.hpp:58
Wrapper class that constructs and provides access to the most commonly used resource subsystems...
Definition: resourcesystem.hpp:24
void setHeight(const float height)
Definition: water.cpp:611
bool mToggled
Definition: water.hpp:69
osg::ref_ptr< osg::Geometry > mWaterGeom
Definition: water.hpp:56
contains settings imported from the Morrowind INI file.
Definition: fallback.hpp:12
const std::string mResourcePath
Definition: water.hpp:66
Water rendering.
Definition: water.hpp:49
static const int CELL_SIZE
Definition: water.hpp:51
Resource::ResourceSystem * mResourceSystem
Definition: water.hpp:57
void processChangedSettings(const Settings::CategorySettingVector &settings)
Definition: water.cpp:557
void removeEmitter(const MWWorld::Ptr &ptr)
Definition: water.cpp:664
osg::ref_ptr< osg::Group > mSceneRoot
Definition: water.hpp:54
std::set< std::pair< std::string, std::string > > CategorySettingVector
Definition: settings.hpp:11
void updateWaterMaterial()
Definition: water.cpp:422
Water(osg::Group *parent, osg::Group *sceneRoot, Resource::ResourceSystem *resourceSystem, osgUtil::IncrementalCompileOperation *ico, const Fallback::Map *fallback, const std::string &resourcePath)
Definition: water.cpp:385
bool isUnderwater(const osg::Vec3f &pos) const
Definition: water.cpp:649
void removeCell(const MWWorld::CellStore *store)
remove all emitters in this cell
Definition: water.cpp:679
Definition: water.cpp:297
void updateVisible()
Definition: water.cpp:632
void clearRipples()
Definition: water.cpp:684
void updateEmitterPtr(const MWWorld::Ptr &old, const MWWorld::Ptr &ptr)
Definition: water.cpp:669
osg::ref_ptr< Reflection > mReflection
Definition: water.hpp:64
osg::ref_ptr< osg::Group > mParent
Definition: water.hpp:53
Mutable state of a cell.
Definition: cellstore.hpp:53
void createSimpleWaterStateSet(osg::Node *node, float alpha)
Definition: water.cpp:460
void createShaderWaterStateSet(osg::Node *node, Reflection *reflection, Refraction *refraction)
Definition: water.cpp:502
void listAssetsToPreload(std::vector< std::string > &textures)
Definition: water.cpp:580
osg::ref_ptr< osgUtil::IncrementalCompileOperation > mIncrementalCompileOperation
Definition: water.hpp:59
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
Definition: water.cpp:659
osg::ref_ptr< osg::PositionAttitudeTransform > mWaterNode
Definition: water.hpp:55
Definition: water.cpp:215
void changeCell(const MWWorld::CellStore *store)
Definition: water.cpp:598
float mTop
Definition: water.hpp:70
Pointer to a LiveCellRef.
Definition: ptr.hpp:19
bool toggle()
Definition: water.cpp:642
std::auto_ptr< RippleSimulation > mSimulation
Definition: water.hpp:61
void emitRipple(const osg::Vec3f &pos)
Definition: water.cpp:674
osg::Vec3f getSceneNodeCoordinates(int gridX, int gridY)
Definition: water.cpp:654