22 #ifndef INCLUDED_WATERMANAGER 23 #define INCLUDED_WATERMANAGER 213 #endif // INCLUDED_WATERMANAGER std::unique_ptr< Renderer::Backend::ITexture > m_RefrFboDepthTexture
Definition: WaterManager.h:75
CTexturePtr m_WaterTexture[60]
Definition: WaterManager.h:50
std::unique_ptr< Renderer::Backend::ITexture > m_ReflectionTexture
Definition: WaterManager.h:107
bool m_WaterFancyEffects
Definition: WaterManager.h:91
bool m_NeedInfoUpdate
Definition: WaterManager.h:99
u32 m_updatei1
Definition: WaterManager.h:80
float m_RepeatPeriod
Definition: WaterManager.h:104
void RenderWaves(Renderer::Backend::IDeviceCommandContext *deviceCommandContext, const CFrustum &frustrum)
Definition: WaterManager.cpp:884
CTexturePtr m_FoamTex
Definition: WaterManager.h:70
size_t GetNextTextureIndex(const double &period) const
Definition: WaterManager.cpp:1142
void ReloadWaterNormalTextures()
ReloadWaterNormalTextures: Reload the normal textures so that changing water type in Atlas will actua...
Definition: WaterManager.cpp:392
bool m_WaterRealDepth
Definition: WaterManager.h:89
u32 m_updatei0
Definition: WaterManager.h:78
void RecomputeWaterData()
RecomputeWaterData: calculates all derived data from the waterheight.
Definition: WaterManager.cpp:955
float m_Waviness
Definition: WaterManager.h:128
std::unique_ptr< Renderer::Backend::ITexture > m_FancyTextureDepth
Definition: WaterManager.h:73
CTexturePtr m_NormalMap[60]
Definition: WaterManager.h:51
std::unique_ptr< Renderer::Backend::ITexture > m_RefractionTexture
Definition: WaterManager.h:108
~WaterManager()
Definition: WaterManager.cpp:107
bool m_WaterEffects
Definition: WaterManager.h:86
float m_WaterHeight
Definition: WaterManager.h:101
CMatrix3D m_ReflectionMatrix
Definition: WaterManager.h:119
CVertexBufferManager::Handle m_ShoreWavesVBIndices
Definition: WaterManager.h:62
void SetMapSize(size_t size)
Updates the map size.
Definition: WaterManager.cpp:1084
void RecreateOrLoadTexturesIfNeeded()
Recreates/loads needed water textures.
Definition: WaterManager.cpp:215
Definition: Matrix3D.h:33
u32 m_updatej1
Definition: WaterManager.h:81
bool m_NeedsReloading
Definition: WaterManager.h:97
Definition: VertexBufferManager.h:46
float m_Murkiness
Definition: WaterManager.h:129
std::wstring m_WaterType
Definition: WaterManager.h:125
void UpdateQuality()
Updates the settings to the one from the renderer, and sets m_NeedsReloading.
Definition: WaterManager.cpp:1100
CMatrix3D m_RefractionViewInvMatrix
Definition: WaterManager.h:122
uint32_t u32
Definition: types.h:39
size_t GetCurrentTextureIndex(const double &period) const
Returns an index of the current texture that should be used for rendering water.
Definition: WaterManager.cpp:1136
bool m_RenderWater
Definition: WaterManager.h:83
CMatrix3D m_RefractionProjInvMatrix
Definition: WaterManager.h:121
CMatrix3D m_RefractionMatrix
Definition: WaterManager.h:120
CColor m_WaterTint
Definition: WaterManager.h:127
CTexturePtr m_WaveTex
Definition: WaterManager.h:69
int LoadWaterTextures()
LoadWaterTextures: Load water textures from within the progressive load framework.
Definition: WaterManager.cpp:165
size_t m_RefTextureSize
Definition: WaterManager.h:109
std::unique_ptr< Renderer::Backend::IFramebuffer > m_FancyEffectsFramebuffer
Definition: WaterManager.h:114
bool m_WaterRefraction
Definition: WaterManager.h:93
std::unique_ptr< Renderer::Backend::IFramebuffer > m_ReflectionFramebuffer
Definition: WaterManager.h:113
WaterManager()
Definition: WaterManager.cpp:72
std::unique_ptr< Renderer::Backend::ITexture > m_ReflFboDepthTexture
Definition: WaterManager.h:74
void UnloadWaterTextures()
UnloadWaterTextures: Free any loaded water textures and reset the internal state so that another call...
Definition: WaterManager.cpp:411
intptr_t ssize_t
Definition: wposix_types.h:82
void CreateWaveMeshes()
CreateWaveMeshes: Creates the waves objects (and meshes).
Definition: WaterManager.cpp:499
Renderer::Backend::IVertexInputLayout * m_ShoreVertexInputLayout
Definition: WaterManager.h:64
std::unique_ptr< Renderer::Backend::ITexture > m_FancyTexture
Definition: WaterManager.h:72
std::unique_ptr< Renderer::Backend::IFramebuffer > m_FancyEffectsOccludersFramebuffer
Definition: WaterManager.h:115
std::vector< std::unique_ptr< WaveObject > > m_ShoreWaves
Definition: WaterManager.h:60
bool m_WaterReflection
Definition: WaterManager.h:95
CColor m_WaterColor
Definition: WaterManager.h:126
std::unique_ptr< float[]> m_DistanceHeightmap
Definition: WaterManager.h:56
double m_WaterTexTimer
Definition: WaterManager.h:103
void Initialize()
Definition: WaterManager.cpp:129
std::unique_ptr< Renderer::Backend::IFramebuffer > m_RefractionFramebuffer
Definition: WaterManager.h:112
void RecomputeWindStrength()
RecomputeWindStrength: calculates the intensity of waves.
Definition: WaterManager.cpp:967
std::unique_ptr< float[]> m_WindStrength
Definition: WaterManager.h:54
bool WillRenderFancyWater() const
Returns true if fancy water shaders will be used (i.e.
Definition: WaterManager.cpp:1129
Definition: IDeviceCommandContext.h:40
std::shared_ptr< CTexture > CTexturePtr
Definition: Texture.h:22
void RecomputeDistanceHeightmap()
RecomputeDistanceHeightmap: recalculates (or calculates) the distance heightmap.
Definition: WaterManager.cpp:472
size_t m_MapSize
Definition: WaterManager.h:66
float m_WindAngle
Definition: WaterManager.h:130
u32 m_updatej0
Definition: WaterManager.h:79
ssize_t m_TexSize
Definition: WaterManager.h:67
Definition: WaterManager.cpp:64
Class WaterManager: Maintain rendering-related water settings and textures Anything that affects game...
Definition: WaterManager.h:47