Rigs of Rods 2023.09
Soft-body Physics Simulation
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Loading...
Searching...
No Matches
Data Structures | Public Member Functions | Private Member Functions | Private Attributes
RoR::GfxWater Class Reference

#include <GfxWater.h>

+ Inheritance diagram for RoR::GfxWater:

Data Structures

struct  ReflectionListener
 
struct  RefractionListener
 

Public Member Functions

 GfxWater (Ogre::Vector3 terrn_size, float initial_water_height)
 
 ~GfxWater ()
 
void SetWaterBottomHeight (float value) override
 
void SetWaterVisible (bool value) override
 
void SetReflectionPlaneHeight (float centerheight) override
 
void UpdateReflectionPlane (float h) override
 
void WaterPrepareShutdown () override
 
void UpdateWater () override
 
void FrameStepWater (float dt) override
 
void SetForcedCameraTransform (Ogre::Radian fovy, Ogre::Vector3 pos, Ogre::Quaternion rot) override
 
void ClearForcedCameraTransform () override
 
- Public Member Functions inherited from RoR::IGfxWater
 IGfxWater ()
 
virtual ~IGfxWater ()
 
virtual void WaterSetSunPosition (Ogre::Vector3)
 

Private Member Functions

void ShowWave (Ogre::Vector3 refpos)
 
bool IsCameraUnderWater ()
 
void PrepareWater ()
 

Private Attributes

bool m_water_visible = true
 
float m_visual_water_height = 0.f
 
float m_bottom_height = 0.f
 
float m_waterplane_mesh_scale = 1.f
 
int m_frame_counter = 0
 
Ogre::Vector3 m_map_size = Ogre::Vector3::ZERO
 
Ogre::Plane m_water_plane
 
Ogre::MeshPtr m_waterplane_mesh
 
Ogre::Entity * m_waterplane_entity = nullptr
 
Ogre::SceneNode * m_waterplane_node = nullptr
 
Ogre::HardwareVertexBufferSharedPtr m_waterplane_vert_buf
 
float * m_waterplane_vert_buf_local = nullptr
 
bool m_waterplane_force_update_pos = false
 
Ogre::Plane m_reflect_plane
 
Ogre::Plane m_refract_plane
 
ReflectionListener m_reflect_listener
 
RefractionListener m_refract_listener
 
Ogre::Camera * m_reflect_cam = nullptr
 
Ogre::Camera * m_refract_cam = nullptr
 
Ogre::RenderTexture * m_refract_rtt_target = nullptr
 
Ogre::RenderTexture * m_reflect_rtt_target = nullptr
 
Ogre::TexturePtr m_refract_rtt_texture
 
Ogre::TexturePtr m_reflect_rtt_texture
 
Ogre::Viewport * m_refract_rtt_viewport = nullptr
 
Ogre::Viewport * m_reflect_rtt_viewport = nullptr
 
Ogre::SceneNode * m_bottomplane_node = nullptr
 
Ogre::Plane m_bottom_plane
 
bool m_cam_forced = false
 
Ogre::Radian m_cam_forced_fovy = Ogre::Radian(0.f)
 
Ogre::Vector3 m_cam_forced_position = Ogre::Vector3::ZERO
 
Ogre::Quaternion m_cam_forced_orientation = Ogre::Quaternion::IDENTITY
 

Detailed Description

Definition at line 40 of file GfxWater.h.

Constructor & Destructor Documentation

◆ GfxWater()

GfxWater::GfxWater ( Ogre::Vector3  terrn_size,
float  initial_water_height 
)

Definition at line 38 of file GfxWater.cpp.

◆ ~GfxWater()

GfxWater::~GfxWater ( )

Definition at line 51 of file GfxWater.cpp.

Member Function Documentation

◆ ClearForcedCameraTransform()

void GfxWater::ClearForcedCameraTransform ( )
overridevirtual

Reimplemented from RoR::IGfxWater.

Definition at line 508 of file GfxWater.cpp.

◆ FrameStepWater()

void GfxWater::FrameStepWater ( float  dt)
overridevirtual

Implements RoR::IGfxWater.

Definition at line 487 of file GfxWater.cpp.

◆ IsCameraUnderWater()

bool GfxWater::IsCameraUnderWater ( )
private

Definition at line 357 of file GfxWater.cpp.

◆ PrepareWater()

void GfxWater::PrepareWater ( )
private

Definition at line 127 of file GfxWater.cpp.

◆ SetForcedCameraTransform()

void GfxWater::SetForcedCameraTransform ( Ogre::Radian  fovy,
Ogre::Vector3  pos,
Ogre::Quaternion  rot 
)
overridevirtual

Reimplemented from RoR::IGfxWater.

Definition at line 500 of file GfxWater.cpp.

◆ SetReflectionPlaneHeight()

void GfxWater::SetReflectionPlaneHeight ( float  centerheight)
overridevirtual

Reimplemented from RoR::IGfxWater.

Definition at line 310 of file GfxWater.cpp.

◆ SetWaterBottomHeight()

void GfxWater::SetWaterBottomHeight ( float  value)
overridevirtual

Reimplemented from RoR::IGfxWater.

Definition at line 451 of file GfxWater.cpp.

◆ SetWaterVisible()

void GfxWater::SetWaterVisible ( bool  value)
overridevirtual

Implements RoR::IGfxWater.

Definition at line 299 of file GfxWater.cpp.

◆ ShowWave()

void GfxWater::ShowWave ( Ogre::Vector3  refpos)
private

Definition at line 319 of file GfxWater.cpp.

◆ UpdateReflectionPlane()

void GfxWater::UpdateReflectionPlane ( float  h)
overridevirtual

Reimplemented from RoR::IGfxWater.

Definition at line 456 of file GfxWater.cpp.

◆ UpdateWater()

void GfxWater::UpdateWater ( )
overridevirtual

Implements RoR::IGfxWater.

Definition at line 364 of file GfxWater.cpp.

◆ WaterPrepareShutdown()

void GfxWater::WaterPrepareShutdown ( )
overridevirtual

Reimplemented from RoR::IGfxWater.

Definition at line 443 of file GfxWater.cpp.

Field Documentation

◆ m_bottom_height

float RoR::GfxWater::m_bottom_height = 0.f
private

Definition at line 87 of file GfxWater.h.

◆ m_bottom_plane

Ogre::Plane RoR::GfxWater::m_bottom_plane
private

Definition at line 111 of file GfxWater.h.

◆ m_bottomplane_node

Ogre::SceneNode* RoR::GfxWater::m_bottomplane_node = nullptr
private

Definition at line 110 of file GfxWater.h.

◆ m_cam_forced

bool RoR::GfxWater::m_cam_forced = false
private

Definition at line 114 of file GfxWater.h.

◆ m_cam_forced_fovy

Ogre::Radian RoR::GfxWater::m_cam_forced_fovy = Ogre::Radian(0.f)
private

Definition at line 115 of file GfxWater.h.

◆ m_cam_forced_orientation

Ogre::Quaternion RoR::GfxWater::m_cam_forced_orientation = Ogre::Quaternion::IDENTITY
private

Definition at line 117 of file GfxWater.h.

◆ m_cam_forced_position

Ogre::Vector3 RoR::GfxWater::m_cam_forced_position = Ogre::Vector3::ZERO
private

Definition at line 116 of file GfxWater.h.

◆ m_frame_counter

int RoR::GfxWater::m_frame_counter = 0
private

Definition at line 89 of file GfxWater.h.

◆ m_map_size

Ogre::Vector3 RoR::GfxWater::m_map_size = Ogre::Vector3::ZERO
private

Definition at line 90 of file GfxWater.h.

◆ m_reflect_cam

Ogre::Camera* RoR::GfxWater::m_reflect_cam = nullptr
private

Definition at line 102 of file GfxWater.h.

◆ m_reflect_listener

ReflectionListener RoR::GfxWater::m_reflect_listener
private

Definition at line 100 of file GfxWater.h.

◆ m_reflect_plane

Ogre::Plane RoR::GfxWater::m_reflect_plane
private

Definition at line 98 of file GfxWater.h.

◆ m_reflect_rtt_target

Ogre::RenderTexture* RoR::GfxWater::m_reflect_rtt_target = nullptr
private

Definition at line 105 of file GfxWater.h.

◆ m_reflect_rtt_texture

Ogre::TexturePtr RoR::GfxWater::m_reflect_rtt_texture
private

Definition at line 107 of file GfxWater.h.

◆ m_reflect_rtt_viewport

Ogre::Viewport* RoR::GfxWater::m_reflect_rtt_viewport = nullptr
private

Definition at line 109 of file GfxWater.h.

◆ m_refract_cam

Ogre::Camera* RoR::GfxWater::m_refract_cam = nullptr
private

Definition at line 103 of file GfxWater.h.

◆ m_refract_listener

RefractionListener RoR::GfxWater::m_refract_listener
private

Definition at line 101 of file GfxWater.h.

◆ m_refract_plane

Ogre::Plane RoR::GfxWater::m_refract_plane
private

Definition at line 99 of file GfxWater.h.

◆ m_refract_rtt_target

Ogre::RenderTexture* RoR::GfxWater::m_refract_rtt_target = nullptr
private

Definition at line 104 of file GfxWater.h.

◆ m_refract_rtt_texture

Ogre::TexturePtr RoR::GfxWater::m_refract_rtt_texture
private

Definition at line 106 of file GfxWater.h.

◆ m_refract_rtt_viewport

Ogre::Viewport* RoR::GfxWater::m_refract_rtt_viewport = nullptr
private

Definition at line 108 of file GfxWater.h.

◆ m_visual_water_height

float RoR::GfxWater::m_visual_water_height = 0.f
private

Definition at line 86 of file GfxWater.h.

◆ m_water_plane

Ogre::Plane RoR::GfxWater::m_water_plane
private

Definition at line 91 of file GfxWater.h.

◆ m_water_visible

bool RoR::GfxWater::m_water_visible = true
private

Definition at line 85 of file GfxWater.h.

◆ m_waterplane_entity

Ogre::Entity* RoR::GfxWater::m_waterplane_entity = nullptr
private

Definition at line 93 of file GfxWater.h.

◆ m_waterplane_force_update_pos

bool RoR::GfxWater::m_waterplane_force_update_pos = false
private

Definition at line 97 of file GfxWater.h.

◆ m_waterplane_mesh

Ogre::MeshPtr RoR::GfxWater::m_waterplane_mesh
private

Definition at line 92 of file GfxWater.h.

◆ m_waterplane_mesh_scale

float RoR::GfxWater::m_waterplane_mesh_scale = 1.f
private

Definition at line 88 of file GfxWater.h.

◆ m_waterplane_node

Ogre::SceneNode* RoR::GfxWater::m_waterplane_node = nullptr
private

Definition at line 94 of file GfxWater.h.

◆ m_waterplane_vert_buf

Ogre::HardwareVertexBufferSharedPtr RoR::GfxWater::m_waterplane_vert_buf
private

Definition at line 95 of file GfxWater.h.

◆ m_waterplane_vert_buf_local

float* RoR::GfxWater::m_waterplane_vert_buf_local = nullptr
private

Definition at line 96 of file GfxWater.h.


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