diff options
Diffstat (limited to 'indra/newview/llviewercontrol.cpp')
-rw-r--r-- | indra/newview/llviewercontrol.cpp | 22 |
1 files changed, 18 insertions, 4 deletions
diff --git a/indra/newview/llviewercontrol.cpp b/indra/newview/llviewercontrol.cpp index 19b25a01fe..fcacc933e0 100644 --- a/indra/newview/llviewercontrol.cpp +++ b/indra/newview/llviewercontrol.cpp @@ -110,9 +110,9 @@ static bool handleRenderFarClipChanged(const LLSD& newvalue) if (LLStartUp::getStartupState() >= STATE_STARTED) { F32 draw_distance = (F32)newvalue.asReal(); - gAgentCamera.mDrawDistance = draw_distance; - LLWorld::getInstance()->setLandFarClip(draw_distance); - return true; + gAgentCamera.mDrawDistance = draw_distance; + LLWorld::getInstance()->setLandFarClip(draw_distance); + return true; } return false; } @@ -166,6 +166,17 @@ static bool handleSetShaderChanged(const LLSD& newvalue) return true; } +static bool handleAvatarVPChanged(const LLSD& newvalue) +{ + LLRenderTarget::sUseFBO = newvalue.asBoolean() + && gSavedSettings.getBOOL("RenderObjectBump") + && gSavedSettings.getBOOL("RenderTransparentWater") + && gSavedSettings.getBOOL("RenderDeferred"); + + handleSetShaderChanged(LLSD()); + return true; +} + static bool handleRenderPerfTestChanged(const LLSD& newvalue) { bool status = !newvalue.asBoolean(); @@ -465,7 +476,10 @@ static bool handleRenderDeferredChanged(const LLSD& newvalue) // static bool handleRenderBumpChanged(const LLSD& newval) { - LLRenderTarget::sUseFBO = newval.asBoolean(); + LLRenderTarget::sUseFBO = newval.asBoolean() + && gSavedSettings.getBOOL("RenderTransparentWater") + && gSavedSettings.getBOOL("RenderAvatarVP") + && gSavedSettings.getBOOL("RenderDeferred"); if (gPipeline.isInit()) { gPipeline.updateRenderBump(); |