Changeset View
Changeset View
Standalone View
Standalone View
ps/trunk/source/renderer/TerrainRenderer.cpp
Show First 20 Lines • Show All 451 Lines • ▼ Show 20 Lines | if (!m->fancyWaterShader || WaterMgr->m_NeedsReloading) | ||||
if (WaterMgr->m_WaterRealDepth) | if (WaterMgr->m_WaterRealDepth) | ||||
defines.Add(str_USE_REAL_DEPTH, str_1); | defines.Add(str_USE_REAL_DEPTH, str_1); | ||||
if (WaterMgr->m_WaterFancyEffects) | if (WaterMgr->m_WaterFancyEffects) | ||||
defines.Add(str_USE_FANCY_EFFECTS, str_1); | defines.Add(str_USE_FANCY_EFFECTS, str_1); | ||||
if (WaterMgr->m_WaterRefraction) | if (WaterMgr->m_WaterRefraction) | ||||
defines.Add(str_USE_REFRACTION, str_1); | defines.Add(str_USE_REFRACTION, str_1); | ||||
if (WaterMgr->m_WaterReflection) | if (WaterMgr->m_WaterReflection) | ||||
defines.Add(str_USE_REFLECTION, str_1); | defines.Add(str_USE_REFLECTION, str_1); | ||||
if (shadow && WaterMgr->m_WaterShadows) | |||||
defines.Add(str_USE_SHADOWS_ON_WATER, str_1); | |||||
// haven't updated the ARB shader yet so I'll always load the GLSL | // haven't updated the ARB shader yet so I'll always load the GLSL | ||||
/*if (!g_RenderingOptions.GetPreferGLSL() && !superFancy) | /*if (!g_RenderingOptions.GetPreferGLSL() && !superFancy) | ||||
m->fancyWaterShader = g_Renderer.GetShaderManager().LoadProgram("arb/water_high", defines); | m->fancyWaterShader = g_Renderer.GetShaderManager().LoadProgram("arb/water_high", defines); | ||||
else*/ | else*/ | ||||
m->fancyWaterShader = g_Renderer.GetShaderManager().LoadProgram("glsl/water_high", defines); | m->fancyWaterShader = g_Renderer.GetShaderManager().LoadProgram("glsl/water_high", defines); | ||||
if (!m->fancyWaterShader) | if (!m->fancyWaterShader) | ||||
▲ Show 20 Lines • Show All 130 Lines • ▼ Show 20 Lines | else if (WaterMgr->m_WaterType == L"lake") | ||||
m->fancyWaterShader->Uniform(str_waveParams2, 0.2f,0.0f,0.0f,0.07f); | m->fancyWaterShader->Uniform(str_waveParams2, 0.2f,0.0f,0.0f,0.07f); | ||||
} | } | ||||
else | else | ||||
{ | { | ||||
m->fancyWaterShader->Uniform(str_waveParams1, 15.0f,0.8f,10.0f,0.1f); | m->fancyWaterShader->Uniform(str_waveParams1, 15.0f,0.8f,10.0f,0.1f); | ||||
m->fancyWaterShader->Uniform(str_waveParams2, 0.3f,0.0f,0.1f,0.3f); | m->fancyWaterShader->Uniform(str_waveParams2, 0.3f,0.0f,0.1f,0.3f); | ||||
} | } | ||||
if (shadow && WaterMgr->m_WaterShadows) | if (shadow) | ||||
{ | { | ||||
m->fancyWaterShader->BindTexture(str_shadowTex, shadow->GetTexture()); | m->fancyWaterShader->BindTexture(str_shadowTex, shadow->GetTexture()); | ||||
m->fancyWaterShader->Uniform(str_shadowTransform, shadow->GetTextureMatrix()); | m->fancyWaterShader->Uniform(str_shadowTransform, shadow->GetTextureMatrix()); | ||||
int width = shadow->GetWidth(); | int width = shadow->GetWidth(); | ||||
int height = shadow->GetHeight(); | int height = shadow->GetHeight(); | ||||
m->fancyWaterShader->Uniform(str_shadowScale, width, height, 1.0f / width, 1.0f / height); | m->fancyWaterShader->Uniform(str_shadowScale, width, height, 1.0f / width, 1.0f / height); | ||||
} | } | ||||
▲ Show 20 Lines • Show All 99 Lines • Show Last 20 Lines |
Wildfire Games · Phabricator