Pyrogenesis  13997
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Public Attributes | List of all members
WaterManager Class Reference

Class WaterManager: Maintain water settings and textures. More...

#include <WaterManager.h>

Public Member Functions

 WaterManager ()
 
 ~WaterManager ()
 
int LoadWaterTextures ()
 LoadWaterTextures: Load water textures from within the progressive load framework. More...
 
void UnloadWaterTextures ()
 UnloadWaterTextures: Free any loaded water textures and reset the internal state so that another call to LoadWaterTextures will begin progressive loading. More...
 
void CreateSuperfancyInfo (CSimulation2 *simulation)
 CreateSuperfancyInfo: creates textures and wave vertices for superfancy water. More...
 
void SetMapSize (size_t size)
 Updates the map size. More...
 
void UpdateQuality ()
 Updates the settings to the one from the renderer, and sets m_NeedsReloading. More...
 
bool WillRenderFancyWater ()
 Returns true if fancy water shaders will be used (i.e. More...
 

Public Attributes

CTexturePtr m_WaterTexture [60]
 
CTexturePtr m_NormalMap [60]
 
CTexturePtr m_Foam
 
CTexturePtr m_Wave
 
float * m_WaveX
 
float * m_WaveZ
 
float * m_DistanceToShore
 
float * m_FoamFactor
 
size_t m_MapSize
 
ssize_t m_TexSize
 
GLuint m_depthTT
 
GLuint m_waveTT
 
i32 m_updatei0
 
i32 m_updatej0
 
i32 m_updatei1
 
i32 m_updatej1
 
int m_WaterCurrentTex
 
CColor m_WaterColor
 
bool m_RenderWater
 
bool m_WaterNormal
 
bool m_WaterRealDepth
 
bool m_WaterFoam
 
bool m_WaterCoastalWaves
 
bool m_WaterRefraction
 
bool m_WaterReflection
 
bool m_WaterShadows
 
bool m_NeedsReloading
 
bool m_NeedInfoUpdate
 
bool m_WaterScroll
 
float m_WaterHeight
 
float m_WaterMaxAlpha
 
float m_WaterFullDepth
 
float m_WaterAlphaOffset
 
float m_SWaterSpeed
 
float m_TWaterSpeed
 
float m_SWaterTrans
 
float m_TWaterTrans
 
float m_SWaterScrollCounter
 
float m_TWaterScrollCounter
 
double m_WaterTexTimer
 
GLuint m_ReflectionTexture
 
GLuint m_RefractionTexture
 
size_t m_ReflectionTextureSize
 
size_t m_RefractionTextureSize
 
CMatrix3D m_ReflectionMatrix
 
CMatrix3D m_RefractionMatrix
 
CColor m_WaterTint
 
float m_RepeatPeriod
 
float m_Shininess
 
float m_SpecularStrength
 
float m_Waviness
 
float m_Murkiness
 
CColor m_ReflectionTint
 
float m_ReflectionTintStrength
 
CVertexBuffer::VBChunkm_VBWaves
 
CVertexBuffer::VBChunkm_VBWavesIndices
 

Detailed Description

Class WaterManager: Maintain water settings and textures.

This could be extended to provide more advanced water rendering effects (refractive/reflective water) in the future.

Definition at line 49 of file WaterManager.h.

Constructor & Destructor Documentation

WaterManager::WaterManager ( )

Definition at line 52 of file WaterManager.cpp.

WaterManager::~WaterManager ( )

Definition at line 111 of file WaterManager.cpp.

Member Function Documentation

void WaterManager::CreateSuperfancyInfo ( CSimulation2 simulation)

CreateSuperfancyInfo: creates textures and wave vertices for superfancy water.

(waveForceHQ[j*m_MapSize+i]/255.0f)

Definition at line 240 of file WaterManager.cpp.

int WaterManager::LoadWaterTextures ( )

LoadWaterTextures: Load water textures from within the progressive load framework.

Returns
0 if loading has completed, a value from 1 to 100 (in percent of completion) if more textures need to be loaded and a negative error value on failure.

Definition at line 131 of file WaterManager.cpp.

void WaterManager::SetMapSize ( size_t  size)

Updates the map size.

Will trigger a complete recalculation of fancy water information the next turn.

Definition at line 603 of file WaterManager.cpp.

void WaterManager::UnloadWaterTextures ( )

UnloadWaterTextures: Free any loaded water textures and reset the internal state so that another call to LoadWaterTextures will begin progressive loading.

Definition at line 224 of file WaterManager.cpp.

void WaterManager::UpdateQuality ( )

Updates the settings to the one from the renderer, and sets m_NeedsReloading.

Definition at line 621 of file WaterManager.cpp.

bool WaterManager::WillRenderFancyWater ( )

Returns true if fancy water shaders will be used (i.e.

the hardware is capable and it hasn't been configured off)

Definition at line 655 of file WaterManager.cpp.

Member Data Documentation

GLuint WaterManager::m_depthTT

Definition at line 64 of file WaterManager.h.

float* WaterManager::m_DistanceToShore

Definition at line 58 of file WaterManager.h.

CTexturePtr WaterManager::m_Foam

Definition at line 54 of file WaterManager.h.

float* WaterManager::m_FoamFactor

Definition at line 59 of file WaterManager.h.

size_t WaterManager::m_MapSize

Definition at line 61 of file WaterManager.h.

float WaterManager::m_Murkiness

Definition at line 121 of file WaterManager.h.

bool WaterManager::m_NeedInfoUpdate

Definition at line 88 of file WaterManager.h.

bool WaterManager::m_NeedsReloading

Definition at line 86 of file WaterManager.h.

CTexturePtr WaterManager::m_NormalMap[60]

Definition at line 53 of file WaterManager.h.

CMatrix3D WaterManager::m_ReflectionMatrix

Definition at line 112 of file WaterManager.h.

GLuint WaterManager::m_ReflectionTexture

Definition at line 105 of file WaterManager.h.

size_t WaterManager::m_ReflectionTextureSize

Definition at line 107 of file WaterManager.h.

CColor WaterManager::m_ReflectionTint

Definition at line 122 of file WaterManager.h.

float WaterManager::m_ReflectionTintStrength

Definition at line 123 of file WaterManager.h.

CMatrix3D WaterManager::m_RefractionMatrix

Definition at line 113 of file WaterManager.h.

GLuint WaterManager::m_RefractionTexture

Definition at line 106 of file WaterManager.h.

size_t WaterManager::m_RefractionTextureSize

Definition at line 108 of file WaterManager.h.

bool WaterManager::m_RenderWater

Definition at line 75 of file WaterManager.h.

float WaterManager::m_RepeatPeriod

Definition at line 117 of file WaterManager.h.

float WaterManager::m_Shininess

Definition at line 118 of file WaterManager.h.

float WaterManager::m_SpecularStrength

Definition at line 119 of file WaterManager.h.

float WaterManager::m_SWaterScrollCounter

Definition at line 100 of file WaterManager.h.

float WaterManager::m_SWaterSpeed

Definition at line 96 of file WaterManager.h.

float WaterManager::m_SWaterTrans

Definition at line 98 of file WaterManager.h.

ssize_t WaterManager::m_TexSize

Definition at line 62 of file WaterManager.h.

float WaterManager::m_TWaterScrollCounter

Definition at line 101 of file WaterManager.h.

float WaterManager::m_TWaterSpeed

Definition at line 97 of file WaterManager.h.

float WaterManager::m_TWaterTrans

Definition at line 99 of file WaterManager.h.

i32 WaterManager::m_updatei0

Definition at line 68 of file WaterManager.h.

i32 WaterManager::m_updatei1

Definition at line 70 of file WaterManager.h.

i32 WaterManager::m_updatej0

Definition at line 69 of file WaterManager.h.

i32 WaterManager::m_updatej1

Definition at line 71 of file WaterManager.h.

CVertexBuffer::VBChunk* WaterManager::m_VBWaves

Definition at line 127 of file WaterManager.h.

CVertexBuffer::VBChunk* WaterManager::m_VBWavesIndices

Definition at line 128 of file WaterManager.h.

float WaterManager::m_WaterAlphaOffset

Definition at line 94 of file WaterManager.h.

bool WaterManager::m_WaterCoastalWaves

Definition at line 81 of file WaterManager.h.

CColor WaterManager::m_WaterColor

Definition at line 74 of file WaterManager.h.

int WaterManager::m_WaterCurrentTex

Definition at line 73 of file WaterManager.h.

bool WaterManager::m_WaterFoam

Definition at line 80 of file WaterManager.h.

float WaterManager::m_WaterFullDepth

Definition at line 93 of file WaterManager.h.

float WaterManager::m_WaterHeight

Definition at line 91 of file WaterManager.h.

float WaterManager::m_WaterMaxAlpha

Definition at line 92 of file WaterManager.h.

bool WaterManager::m_WaterNormal

Definition at line 78 of file WaterManager.h.

bool WaterManager::m_WaterRealDepth

Definition at line 79 of file WaterManager.h.

bool WaterManager::m_WaterReflection

Definition at line 83 of file WaterManager.h.

bool WaterManager::m_WaterRefraction

Definition at line 82 of file WaterManager.h.

bool WaterManager::m_WaterScroll

Definition at line 90 of file WaterManager.h.

bool WaterManager::m_WaterShadows

Definition at line 84 of file WaterManager.h.

double WaterManager::m_WaterTexTimer

Definition at line 102 of file WaterManager.h.

CTexturePtr WaterManager::m_WaterTexture[60]

Definition at line 52 of file WaterManager.h.

CColor WaterManager::m_WaterTint

Definition at line 116 of file WaterManager.h.

CTexturePtr WaterManager::m_Wave

Definition at line 55 of file WaterManager.h.

GLuint WaterManager::m_waveTT

Definition at line 65 of file WaterManager.h.

float* WaterManager::m_WaveX

Definition at line 56 of file WaterManager.h.

float* WaterManager::m_WaveZ

Definition at line 57 of file WaterManager.h.

float WaterManager::m_Waviness

Definition at line 120 of file WaterManager.h.


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