Making this work
This commit is contained in:
@@ -2,37 +2,38 @@
|
||||
#define MAT_WATER_H
|
||||
#include <Ogre.h>
|
||||
class App;
|
||||
class btGhostObject;
|
||||
class Water : public /* Ogre::FrameListener, */ Ogre::RenderTargetListener {
|
||||
Ogre::SceneManager *mScnMgr;
|
||||
Ogre::RenderWindow * mWindow;
|
||||
Ogre::RenderWindow *mWindow;
|
||||
Ogre::SceneNode *mWaterNode, *mCameraNode;
|
||||
Ogre::Vector3 mCameraPosition;
|
||||
Ogre::Camera *mCamera;
|
||||
Ogre::Plane mWaterPlane,
|
||||
mReflectionPlane,
|
||||
mReflectionClipPlaneAbove,
|
||||
mReflectionClipPlaneBelow,
|
||||
mRefractionClipPlaneAbove,
|
||||
Ogre::Plane mWaterPlane, mReflectionPlane, mReflectionClipPlaneAbove,
|
||||
mReflectionClipPlaneBelow, mRefractionClipPlaneAbove,
|
||||
mRefractionClipPlaneBelow;
|
||||
bool mAbove;
|
||||
std::vector<Ogre::Entity *> mWaterMeshes;
|
||||
std::vector<Ogre::Viewport *> mViewports;
|
||||
// Reflection
|
||||
Ogre::RenderTexture * mReflectionTexture;
|
||||
Ogre::Camera * mReflectionCamera;
|
||||
Ogre::RenderTexture *mReflectionTexture;
|
||||
Ogre::Camera *mReflectionCamera;
|
||||
// Refraction
|
||||
// Ogre::RenderTexture * mRefractionTexture;
|
||||
Ogre::Camera * mRefractionCamera;
|
||||
Ogre::Camera *mRefractionCamera;
|
||||
bool mInRefTexUpdate;
|
||||
Ogre::Timer mtexture_dump;
|
||||
void create_cameras();
|
||||
btGhostObject *mWaterBody;
|
||||
Ogre::Bullet::DynamicsWorld *mDynWorld;
|
||||
|
||||
public:
|
||||
Water();
|
||||
virtual ~Water();
|
||||
void create_textures();
|
||||
void dump_textures();
|
||||
void createWater(Ogre::RenderWindow * window, Ogre::Camera *camera);
|
||||
void createWater(Ogre::RenderWindow *window, Ogre::Camera *camera,
|
||||
Ogre::Bullet::DynamicsWorld *world);
|
||||
void init();
|
||||
void updateWater(float delta);
|
||||
/* bool frameEnded(const Ogre::FrameEvent &evt) override; */
|
||||
|
||||
Reference in New Issue
Block a user