SH-956 Turning off Basic Shaders in Preferences > Graphics does not grey out expected Shadows options in Mesh Viewer
SH-957 Turning off Atmospheric Shaders greys out Lighting and Shadows options in preferences but does not turn off shadows inworldmeow-7.2.2
parent
29ea62811f
commit
a44b1ff511
|
|
@ -1037,26 +1037,25 @@ void LLFloaterPreference::refreshEnabledState()
|
|||
//Deferred/SSAO/Shadows
|
||||
LLCheckBoxCtrl* ctrl_deferred = getChild<LLCheckBoxCtrl>("UseLightShaders");
|
||||
|
||||
if (LLFeatureManager::getInstance()->isFeatureAvailable("RenderDeferred") &&
|
||||
shaders &&
|
||||
gGLManager.mHasFramebufferObject)
|
||||
{
|
||||
BOOL enabled = (ctrl_wind_light->get()) ? TRUE : FALSE;
|
||||
BOOL enabled = LLFeatureManager::getInstance()->isFeatureAvailable("RenderDeferred") &&
|
||||
shaders &&
|
||||
gGLManager.mHasFramebufferObject &&
|
||||
gSavedSettings.getBOOL("RenderAvatarVP") &&
|
||||
(ctrl_wind_light->get()) ? TRUE : FALSE;
|
||||
|
||||
ctrl_deferred->setEnabled(enabled);
|
||||
ctrl_deferred->setEnabled(enabled);
|
||||
|
||||
LLCheckBoxCtrl* ctrl_ssao = getChild<LLCheckBoxCtrl>("UseSSAO");
|
||||
LLComboBox* ctrl_shadow = getChild<LLComboBox>("ShadowDetail");
|
||||
LLCheckBoxCtrl* ctrl_ssao = getChild<LLCheckBoxCtrl>("UseSSAO");
|
||||
LLComboBox* ctrl_shadow = getChild<LLComboBox>("ShadowDetail");
|
||||
|
||||
enabled = enabled && LLFeatureManager::getInstance()->isFeatureAvailable("RenderDeferredSSAO") && (ctrl_deferred->get() ? TRUE : FALSE);
|
||||
enabled = enabled && LLFeatureManager::getInstance()->isFeatureAvailable("RenderDeferredSSAO") && (ctrl_deferred->get() ? TRUE : FALSE);
|
||||
|
||||
ctrl_ssao->setEnabled(enabled);
|
||||
ctrl_ssao->setEnabled(enabled);
|
||||
|
||||
enabled = enabled && LLFeatureManager::getInstance()->isFeatureAvailable("RenderShadowDetail");
|
||||
|
||||
ctrl_shadow->setEnabled(enabled);
|
||||
}
|
||||
enabled = enabled && LLFeatureManager::getInstance()->isFeatureAvailable("RenderShadowDetail");
|
||||
|
||||
ctrl_shadow->setEnabled(enabled);
|
||||
|
||||
|
||||
// now turn off any features that are unavailable
|
||||
disableUnavailableSettings();
|
||||
|
|
|
|||
|
|
@ -2082,7 +2082,8 @@ class LLAdvancedEnableRenderDeferredOptions: public view_listener_t
|
|||
{
|
||||
bool handleEvent(const LLSD& userdata)
|
||||
{
|
||||
bool new_value = gSavedSettings.getBOOL("RenderDeferred");
|
||||
bool new_value = gGLManager.mHasFramebufferObject && LLViewerShaderMgr::instance()->getVertexShaderLevel(LLViewerShaderMgr::SHADER_WINDLIGHT > 0) &&
|
||||
LLViewerShaderMgr::instance()->getVertexShaderLevel(LLViewerShaderMgr::SHADER_AVATAR) > 0 && gSavedSettings.getBOOL("RenderDeferred");
|
||||
return new_value;
|
||||
}
|
||||
};
|
||||
|
|
|
|||
|
|
@ -397,7 +397,9 @@ void LLViewerShaderMgr::setShaders()
|
|||
S32 deferred_class = 0;
|
||||
|
||||
if (LLFeatureManager::getInstance()->isFeatureAvailable("RenderDeferred") &&
|
||||
gSavedSettings.getBOOL("RenderDeferred"))
|
||||
gSavedSettings.getBOOL("RenderDeferred") &&
|
||||
gSavedSettings.getBOOL("RenderAvatarVP") &&
|
||||
gSavedSettings.getBOOL("WindLightUseAtmosShaders"))
|
||||
{
|
||||
if (gSavedSettings.getS32("RenderShadowDetail") > 0)
|
||||
{
|
||||
|
|
@ -416,10 +418,10 @@ void LLViewerShaderMgr::setShaders()
|
|||
}
|
||||
|
||||
//make sure hardware skinning is enabled
|
||||
gSavedSettings.setBOOL("RenderAvatarVP", TRUE);
|
||||
//gSavedSettings.setBOOL("RenderAvatarVP", TRUE);
|
||||
|
||||
//make sure atmospheric shaders are enabled
|
||||
gSavedSettings.setBOOL("WindLightUseAtmosShaders", TRUE);
|
||||
//gSavedSettings.setBOOL("WindLightUseAtmosShaders", TRUE);
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -505,9 +507,14 @@ void LLViewerShaderMgr::setShaders()
|
|||
{ //hardware skinning not possible, neither is deferred rendering
|
||||
mVertexShaderLevel[SHADER_AVATAR] = 0;
|
||||
mVertexShaderLevel[SHADER_DEFERRED] = 0;
|
||||
gSavedSettings.setBOOL("RenderDeferred", FALSE);
|
||||
gSavedSettings.setBOOL("RenderAvatarCloth", FALSE);
|
||||
gSavedSettings.setBOOL("RenderAvatarVP", FALSE);
|
||||
|
||||
if (gSavedSettings.getBOOL("RenderAvatarVP"))
|
||||
{
|
||||
gSavedSettings.setBOOL("RenderDeferred", FALSE);
|
||||
gSavedSettings.setBOOL("RenderAvatarCloth", FALSE);
|
||||
gSavedSettings.setBOOL("RenderAvatarVP", FALSE);
|
||||
}
|
||||
|
||||
loadShadersAvatar(); // unloads
|
||||
loadShadersObject();
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue