SL-15993 Disabling transparent water should not disable advanced lighting
parent
1b15b8cda7
commit
9b5b2eac82
|
|
@ -610,7 +610,7 @@ static void settings_modify()
|
|||
LLRenderTarget::sUseFBO = gSavedSettings.getBOOL("RenderDeferred");
|
||||
LLPipeline::sRenderTransparentWater = gSavedSettings.getBOOL("RenderTransparentWater");
|
||||
LLPipeline::sRenderBump = gSavedSettings.getBOOL("RenderObjectBump");
|
||||
LLPipeline::sRenderDeferred = LLPipeline::sRenderTransparentWater && LLPipeline::sRenderBump && gSavedSettings.getBOOL("RenderDeferred");
|
||||
LLPipeline::sRenderDeferred = LLPipeline::sRenderBump && gSavedSettings.getBOOL("RenderDeferred");
|
||||
LLVOSurfacePatch::sLODFactor = gSavedSettings.getF32("RenderTerrainLODFactor");
|
||||
LLVOSurfacePatch::sLODFactor *= LLVOSurfacePatch::sLODFactor; //square lod factor to get exponential range of [1,4]
|
||||
gDebugGL = gSavedSettings.getBOOL("RenderDebugGL") || gDebugSession;
|
||||
|
|
|
|||
|
|
@ -137,6 +137,14 @@ void LLDrawPoolWater::endPostDeferredPass(S32 pass)
|
|||
void LLDrawPoolWater::renderDeferred(S32 pass)
|
||||
{
|
||||
LL_RECORD_BLOCK_TIME(FTM_RENDER_WATER);
|
||||
|
||||
if (!LLPipeline::sRenderTransparentWater)
|
||||
{
|
||||
// Will render opaque water without use of ALM
|
||||
render(pass);
|
||||
return;
|
||||
}
|
||||
|
||||
deferred_render = TRUE;
|
||||
shade();
|
||||
deferred_render = FALSE;
|
||||
|
|
@ -339,6 +347,11 @@ void LLDrawPoolWater::renderOpaqueLegacyWater()
|
|||
{
|
||||
LLVOSky *voskyp = gSky.mVOSkyp;
|
||||
|
||||
if (voskyp == NULL)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
LLGLSLShader* shader = NULL;
|
||||
if (LLGLSLShader::sNoFixedFunction)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1198,11 +1198,9 @@ void LLFloaterPreference::refreshEnabledState()
|
|||
|
||||
//Deferred/SSAO/Shadows
|
||||
BOOL bumpshiny = gGLManager.mHasCubeMap && LLCubeMap::sUseCubeMaps && LLFeatureManager::getInstance()->isFeatureAvailable("RenderObjectBump") && gSavedSettings.getBOOL("RenderObjectBump");
|
||||
BOOL transparent_water = LLFeatureManager::getInstance()->isFeatureAvailable("RenderTransparentWater") && gSavedSettings.getBOOL("RenderTransparentWater");
|
||||
BOOL shaders = gSavedSettings.getBOOL("WindLightUseAtmosShaders");
|
||||
BOOL enabled = LLFeatureManager::getInstance()->isFeatureAvailable("RenderDeferred") &&
|
||||
bumpshiny &&
|
||||
transparent_water &&
|
||||
shaders &&
|
||||
gGLManager.mHasFramebufferObject &&
|
||||
gSavedSettings.getBOOL("RenderAvatarVP") &&
|
||||
|
|
@ -1226,9 +1224,6 @@ void LLFloaterPreferenceGraphicsAdvanced::refreshEnabledState()
|
|||
ctrl_reflections->setEnabled(reflections);
|
||||
reflections_text->setEnabled(reflections);
|
||||
|
||||
// Transparent Water
|
||||
LLCheckBoxCtrl* transparent_water_ctrl = getChild<LLCheckBoxCtrl>("TransparentWater");
|
||||
|
||||
// Bump & Shiny
|
||||
LLCheckBoxCtrl* bumpshiny_ctrl = getChild<LLCheckBoxCtrl>("BumpShiny");
|
||||
bool bumpshiny = gGLManager.mHasCubeMap && LLCubeMap::sUseCubeMaps && LLFeatureManager::getInstance()->isFeatureAvailable("RenderObjectBump");
|
||||
|
|
@ -1279,7 +1274,6 @@ void LLFloaterPreferenceGraphicsAdvanced::refreshEnabledState()
|
|||
|
||||
BOOL enabled = LLFeatureManager::getInstance()->isFeatureAvailable("RenderDeferred") &&
|
||||
((bumpshiny_ctrl && bumpshiny_ctrl->get()) ? TRUE : FALSE) &&
|
||||
((transparent_water_ctrl && transparent_water_ctrl->get()) ? TRUE : FALSE) &&
|
||||
gGLManager.mHasFramebufferObject &&
|
||||
gSavedSettings.getBOOL("RenderAvatarVP") &&
|
||||
(ctrl_wind_light->get()) ? TRUE : FALSE;
|
||||
|
|
|
|||
|
|
@ -187,7 +187,6 @@ static bool handleRenderPerfTestChanged(const LLSD& newvalue)
|
|||
|
||||
bool handleRenderTransparentWaterChanged(const LLSD& newvalue)
|
||||
{
|
||||
LLRenderTarget::sUseFBO = newvalue.asBoolean();
|
||||
if (gPipeline.isInit())
|
||||
{
|
||||
gPipeline.updateRenderTransparentWater();
|
||||
|
|
|
|||
|
|
@ -435,7 +435,7 @@ void LLViewerShaderMgr::setShaders()
|
|||
initAttribsAndUniforms();
|
||||
gPipeline.releaseGLBuffers();
|
||||
|
||||
LLPipeline::sWaterReflections = gGLManager.mHasCubeMap;
|
||||
LLPipeline::sWaterReflections = gGLManager.mHasCubeMap && LLPipeline::sRenderTransparentWater;
|
||||
LLPipeline::sRenderGlow = gSavedSettings.getBOOL("RenderGlow");
|
||||
LLPipeline::updateRenderDeferred();
|
||||
|
||||
|
|
|
|||
|
|
@ -1054,7 +1054,6 @@ void LLPipeline::updateRenderDeferred()
|
|||
RenderDeferred &&
|
||||
LLRenderTarget::sUseFBO &&
|
||||
LLPipeline::sRenderBump &&
|
||||
LLPipeline::sRenderTransparentWater &&
|
||||
RenderAvatarVP &&
|
||||
WindLightUseAtmosShaders &&
|
||||
(bool) LLFeatureManager::getInstance()->isFeatureAvailable("RenderDeferred");
|
||||
|
|
|
|||
Loading…
Reference in New Issue