Tweak detail settings and make graphics preferences widget enabling respect requirements.
parent
b576cbfb42
commit
fb830551d0
|
|
@ -12,8 +12,6 @@
|
|||
<RenderFlexTimeFactor value="1"/>
|
||||
<!--256... but they don't use this-->
|
||||
<RenderGlowResolutionPow value="9"/>
|
||||
<!--Sun/Moon only-->
|
||||
<RenderLightingDetail value="1"/>
|
||||
<!--Low number-->
|
||||
<RenderMaxPartCount value="4096"/>
|
||||
<!--bump okay-->
|
||||
|
|
@ -34,4 +32,11 @@
|
|||
<VertexShaderEnable value="TRUE"/>
|
||||
<!--NO SHADERS-->
|
||||
<WindLightUseAtmosShaders value="TRUE"/>
|
||||
<!--Deferred Shading-->
|
||||
<RenderDeferred value="TRUE"/>
|
||||
<!--SSAO Disabled-->
|
||||
<RenderDeferredSSAO value="FALSE"/>
|
||||
<!--Sun Shadows-->
|
||||
<RenderShadowDetail value="1"/>
|
||||
|
||||
</settings>
|
||||
|
|
|
|||
|
|
@ -12,8 +12,6 @@
|
|||
<RenderFlexTimeFactor value="0.5"/>
|
||||
<!--256... but they don't use this-->
|
||||
<RenderGlowResolutionPow value="8"/>
|
||||
<!--Sun/Moon only-->
|
||||
<RenderLightingDetail value="0"/>
|
||||
<!--Low number-->
|
||||
<RenderMaxPartCount value="1024"/>
|
||||
<!--bump okay-->
|
||||
|
|
@ -34,4 +32,11 @@
|
|||
<VertexShaderEnable value="FALSE"/>
|
||||
<!--NO SHADERS-->
|
||||
<WindLightUseAtmosShaders value="FALSE"/>
|
||||
<!--No Deferred Shading-->
|
||||
<RenderDeferred value="FALSE"/>
|
||||
<!--SSAO Disabled-->
|
||||
<RenderDeferredSSAO value="FALSE"/>
|
||||
<!--No Shadows-->
|
||||
<RenderShadowDetail value="0"/>
|
||||
|
||||
</settings>
|
||||
|
|
|
|||
|
|
@ -12,8 +12,6 @@
|
|||
<RenderFlexTimeFactor value="1"/>
|
||||
<!--256... but they don't use this-->
|
||||
<RenderGlowResolutionPow value="8"/>
|
||||
<!--Sun/Moon only-->
|
||||
<RenderLightingDetail value="1"/>
|
||||
<!--Low number-->
|
||||
<RenderMaxPartCount value="2048"/>
|
||||
<!--bump okay-->
|
||||
|
|
@ -34,4 +32,11 @@
|
|||
<VertexShaderEnable value="TRUE"/>
|
||||
<!--NO SHADERS-->
|
||||
<WindLightUseAtmosShaders value="FALSE"/>
|
||||
<!--No Deferred Shading-->
|
||||
<RenderDeferred value="FALSE"/>
|
||||
<!--SSAO Disabled-->
|
||||
<RenderDeferredSSAO value="FALSE"/>
|
||||
<!--No Shadows-->
|
||||
<RenderShadowDetail value="0"/>
|
||||
|
||||
</settings>
|
||||
|
|
|
|||
|
|
@ -7189,17 +7189,6 @@
|
|||
<key>Value</key>
|
||||
<integer>0</integer>
|
||||
</map>
|
||||
<key>RenderLightingDetail</key>
|
||||
<map>
|
||||
<key>Comment</key>
|
||||
<string>Amount of detail for lighting objects/avatars/terrain (0=sun/moon only, 1=enable local lights)</string>
|
||||
<key>Persist</key>
|
||||
<integer>1</integer>
|
||||
<key>Type</key>
|
||||
<string>S32</string>
|
||||
<key>Value</key>
|
||||
<integer>1</integer>
|
||||
</map>
|
||||
<key>RenderMaxPartCount</key>
|
||||
<map>
|
||||
<key>Comment</key>
|
||||
|
|
|
|||
|
|
@ -12,8 +12,6 @@
|
|||
<RenderFlexTimeFactor value="1"/>
|
||||
<!--256... but they don't use this-->
|
||||
<RenderGlowResolutionPow value="9"/>
|
||||
<!--Sun/Moon only-->
|
||||
<RenderLightingDetail value="1"/>
|
||||
<!--Low number-->
|
||||
<RenderMaxPartCount value="4096"/>
|
||||
<!--bump okay-->
|
||||
|
|
@ -34,4 +32,11 @@
|
|||
<VertexShaderEnable value="TRUE"/>
|
||||
<!--NO SHADERS-->
|
||||
<WindLightUseAtmosShaders value="TRUE"/>
|
||||
<!--Deferred Shading-->
|
||||
<RenderDeferred value="TRUE"/>
|
||||
<!--SSAO Enabled-->
|
||||
<RenderDeferredSSAO value="TRUE"/>
|
||||
<!--Full Shadows-->
|
||||
<RenderShadowDetail value="2"/>
|
||||
|
||||
</settings>
|
||||
|
|
|
|||
|
|
@ -35,7 +35,6 @@ RenderFogRatio 1 4.0
|
|||
RenderGamma 1 0
|
||||
RenderGlowResolutionPow 1 9
|
||||
RenderGround 1 1
|
||||
RenderLightingDetail 1 1
|
||||
RenderMaxPartCount 1 8192
|
||||
RenderNightBrightness 1 1.0
|
||||
RenderObjectBump 1 1
|
||||
|
|
@ -55,6 +54,9 @@ Disregard128DefaultDrawDistance 1 1
|
|||
Disregard96DefaultDrawDistance 1 1
|
||||
RenderTextureMemoryMultiple 1 1.0
|
||||
RenderShaderLightingMaxLevel 1 3
|
||||
RenderDeferred 1 1
|
||||
RenderDeferredSSAO 1 1
|
||||
RenderShadowDetail 1 2
|
||||
|
||||
|
||||
//
|
||||
|
|
@ -68,7 +70,6 @@ RenderAvatarVP 1 0
|
|||
RenderFarClip 1 64
|
||||
RenderFlexTimeFactor 1 0.5
|
||||
RenderGlowResolutionPow 1 8
|
||||
RenderLightingDetail 1 0
|
||||
RenderMaxPartCount 1 1024
|
||||
RenderObjectBump 1 0
|
||||
RenderReflectionDetail 1 0
|
||||
|
|
@ -80,6 +81,10 @@ RenderVolumeLODFactor 1 1.125
|
|||
VertexShaderEnable 1 0
|
||||
WindLightUseAtmosShaders 1 0
|
||||
WLSkyDetail 1 48
|
||||
RenderDeferred 1 0
|
||||
RenderDeferredSSAO 1 0
|
||||
RenderShadowDetail 1 0
|
||||
|
||||
|
||||
//
|
||||
// Mid Graphics Settings
|
||||
|
|
@ -92,7 +97,6 @@ RenderAvatarVP 1 1
|
|||
RenderFarClip 1 96
|
||||
RenderFlexTimeFactor 1 1.0
|
||||
RenderGlowResolutionPow 1 8
|
||||
RenderLightingDetail 1 1
|
||||
RenderMaxPartCount 1 2048
|
||||
RenderObjectBump 1 1
|
||||
RenderReflectionDetail 1 0
|
||||
|
|
@ -104,6 +108,10 @@ RenderVolumeLODFactor 1 1.125
|
|||
VertexShaderEnable 1 1
|
||||
WindLightUseAtmosShaders 1 0
|
||||
WLSkyDetail 1 48
|
||||
RenderDeferred 1 0
|
||||
RenderDeferredSSAO 1 0
|
||||
RenderShadowDetail 1 0
|
||||
|
||||
|
||||
//
|
||||
// High Graphics Settings (purty)
|
||||
|
|
@ -116,7 +124,6 @@ RenderAvatarVP 1 1
|
|||
RenderFarClip 1 128
|
||||
RenderFlexTimeFactor 1 1.0
|
||||
RenderGlowResolutionPow 1 9
|
||||
RenderLightingDetail 1 1
|
||||
RenderMaxPartCount 1 4096
|
||||
RenderObjectBump 1 1
|
||||
RenderReflectionDetail 1 2
|
||||
|
|
@ -128,6 +135,10 @@ RenderVolumeLODFactor 1 1.125
|
|||
VertexShaderEnable 1 1
|
||||
WindLightUseAtmosShaders 1 1
|
||||
WLSkyDetail 1 48
|
||||
RenderDeferred 1 1
|
||||
RenderDeferredSSAO 1 0
|
||||
RenderShadowDetail 1 1
|
||||
|
||||
|
||||
//
|
||||
// Ultra graphics (REALLY PURTY!)
|
||||
|
|
@ -140,7 +151,6 @@ RenderAvatarVP 1 1
|
|||
RenderFarClip 1 256
|
||||
RenderFlexTimeFactor 1 1.0
|
||||
RenderGlowResolutionPow 1 9
|
||||
RenderLightingDetail 1 1
|
||||
RenderMaxPartCount 1 8192
|
||||
RenderObjectBump 1 1
|
||||
RenderReflectionDetail 1 4
|
||||
|
|
@ -152,6 +162,10 @@ RenderVolumeLODFactor 1 2.0
|
|||
VertexShaderEnable 1 1
|
||||
WindLightUseAtmosShaders 1 1
|
||||
WLSkyDetail 1 128
|
||||
RenderDeferred 1 1
|
||||
RenderDeferredSSAO 1 1
|
||||
RenderShadowDetail 1 2
|
||||
|
||||
|
||||
//
|
||||
// Class Unknown Hardware (unknown)
|
||||
|
|
@ -192,6 +206,9 @@ RenderAvatarCloth 0 0
|
|||
RenderReflectionDetail 0 0
|
||||
VertexShaderEnable 0 0
|
||||
WindLightUseAtmosShaders 0 0
|
||||
RenderDeferred 0 0
|
||||
RenderDeferredSSAO 0 0
|
||||
RenderShadowDetail 0 0
|
||||
|
||||
//
|
||||
// No Vertex Shaders available
|
||||
|
|
@ -202,6 +219,10 @@ RenderAvatarCloth 0 0
|
|||
RenderReflectionDetail 0 0
|
||||
VertexShaderEnable 0 0
|
||||
WindLightUseAtmosShaders 0 0
|
||||
RenderDeferred 0 0
|
||||
RenderDeferredSSAO 0 0
|
||||
RenderShadowDetail 0 0
|
||||
|
||||
|
||||
// "Default" setups for safe, low, medium, high
|
||||
//
|
||||
|
|
@ -209,7 +230,6 @@ list safe
|
|||
RenderAnisotropic 1 0
|
||||
RenderAvatarCloth 0 0
|
||||
RenderAvatarVP 0 0
|
||||
RenderLightingDetail 1 0
|
||||
RenderObjectBump 0 0
|
||||
RenderMaxPartCount 1 1024
|
||||
RenderTerrainDetail 1 0
|
||||
|
|
@ -217,6 +237,10 @@ RenderUseImpostors 0 0
|
|||
RenderVBOEnable 1 0
|
||||
RenderReflectionDetail 0 0
|
||||
WindLightUseAtmosShaders 0 0
|
||||
RenderDeferred 0 0
|
||||
RenderDeferredSSAO 0 0
|
||||
RenderShadowDetail 0 0
|
||||
|
||||
|
||||
//
|
||||
// CPU based feature masks
|
||||
|
|
@ -240,11 +264,9 @@ RenderVBOEnable 1 0
|
|||
|
||||
list Intel
|
||||
RenderAnisotropic 1 0
|
||||
RenderLightingDetail 1 0
|
||||
|
||||
list GeForce2
|
||||
RenderAnisotropic 1 0
|
||||
RenderLightingDetail 1 0
|
||||
RenderMaxPartCount 1 2048
|
||||
RenderTerrainDetail 1 0
|
||||
RenderVBOEnable 1 1
|
||||
|
|
|
|||
|
|
@ -799,7 +799,7 @@ void LLFloaterPreference::buildPopupLists()
|
|||
|
||||
void LLFloaterPreference::refreshEnabledState()
|
||||
{
|
||||
LLCheckBoxCtrl* ctrl_reflections = getChild<LLCheckBoxCtrl>("Reflections");
|
||||
LLComboBox* ctrl_reflections = getChild<LLComboBox>("Reflections");
|
||||
LLRadioGroup* radio_reflection_detail = getChild<LLRadioGroup>("ReflectionDetailRadio");
|
||||
|
||||
// Reflections
|
||||
|
|
@ -812,7 +812,7 @@ void LLFloaterPreference::refreshEnabledState()
|
|||
bool bumpshiny = gGLManager.mHasCubeMap && LLCubeMap::sUseCubeMaps && LLFeatureManager::getInstance()->isFeatureAvailable("RenderObjectBump");
|
||||
getChild<LLCheckBoxCtrl>("BumpShiny")->setEnabled(bumpshiny ? TRUE : FALSE);
|
||||
|
||||
radio_reflection_detail->setEnabled(ctrl_reflections->get() && reflections);
|
||||
radio_reflection_detail->setEnabled(reflections);
|
||||
|
||||
// Avatar Mode
|
||||
// Enable Avatar Shaders
|
||||
|
|
@ -858,6 +858,26 @@ void LLFloaterPreference::refreshEnabledState()
|
|||
// *HACK just checks to see if we can use shaders...
|
||||
// maybe some cards that use shaders, but don't support windlight
|
||||
ctrl_wind_light->setEnabled(ctrl_shader_enable->getEnabled() && shaders);
|
||||
|
||||
//Deferred/SSAO/Shadows
|
||||
LLCheckBoxCtrl* ctrl_deferred = getChild<LLCheckBoxCtrl>("UseLightShaders");
|
||||
if (LLFeatureManager::getInstance()->isFeatureAvailable("RenderUseFBO") &&
|
||||
shaders)
|
||||
{
|
||||
BOOL enabled = ctrl_wind_light->get() ? TRUE : FALSE;
|
||||
|
||||
ctrl_deferred->setEnabled(enabled);
|
||||
|
||||
LLCheckBoxCtrl* ctrl_ssao = getChild<LLCheckBoxCtrl>("UseSSAO");
|
||||
LLComboBox* ctrl_shadow = getChild<LLComboBox>("ShadowDetail");
|
||||
|
||||
enabled = enabled && (ctrl_deferred->get() ? TRUE : FALSE);
|
||||
|
||||
ctrl_ssao->setEnabled(enabled);
|
||||
ctrl_shadow->setEnabled(enabled);
|
||||
}
|
||||
|
||||
|
||||
// now turn off any features that are unavailable
|
||||
disableUnavailableSettings();
|
||||
|
||||
|
|
@ -872,6 +892,9 @@ void LLFloaterPreference::disableUnavailableSettings()
|
|||
LLCheckBoxCtrl* ctrl_shader_enable = getChild<LLCheckBoxCtrl>("BasicShaders");
|
||||
LLCheckBoxCtrl* ctrl_wind_light = getChild<LLCheckBoxCtrl>("WindLightUseAtmosShaders");
|
||||
LLCheckBoxCtrl* ctrl_avatar_impostors = getChild<LLCheckBoxCtrl>("AvatarImpostors");
|
||||
LLCheckBoxCtrl* ctrl_deferred = getChild<LLCheckBoxCtrl>("UseLightShaders");
|
||||
LLComboBox* ctrl_shadows = getChild<LLComboBox>("ShadowDetail");
|
||||
LLCheckBoxCtrl* ctrl_ssao = getChild<LLCheckBoxCtrl>("UseSSAO");
|
||||
|
||||
// if vertex shaders off, disable all shader related products
|
||||
if(!LLFeatureManager::getInstance()->isFeatureAvailable("VertexShaderEnable"))
|
||||
|
|
@ -883,13 +906,22 @@ void LLFloaterPreference::disableUnavailableSettings()
|
|||
ctrl_wind_light->setValue(FALSE);
|
||||
|
||||
ctrl_reflections->setEnabled(FALSE);
|
||||
ctrl_reflections->setValue(FALSE);
|
||||
ctrl_reflections->setValue(0);
|
||||
|
||||
ctrl_avatar_vp->setEnabled(FALSE);
|
||||
ctrl_avatar_vp->setValue(FALSE);
|
||||
|
||||
ctrl_avatar_cloth->setEnabled(FALSE);
|
||||
ctrl_avatar_cloth->setValue(FALSE);
|
||||
|
||||
ctrl_shadows->setEnabled(FALSE);
|
||||
ctrl_shadows->setValue(0);
|
||||
|
||||
ctrl_ssao->setEnabled(FALSE);
|
||||
ctrl_ssao->setValue(FALSE);
|
||||
|
||||
ctrl_deferred->setEnabled(FALSE);
|
||||
ctrl_deferred->setValue(FALSE);
|
||||
}
|
||||
|
||||
// disabled windlight
|
||||
|
|
@ -897,6 +929,16 @@ void LLFloaterPreference::disableUnavailableSettings()
|
|||
{
|
||||
ctrl_wind_light->setEnabled(FALSE);
|
||||
ctrl_wind_light->setValue(FALSE);
|
||||
|
||||
//deferred needs windlight, disable deferred
|
||||
ctrl_shadows->setEnabled(FALSE);
|
||||
ctrl_shadows->setValue(0);
|
||||
|
||||
ctrl_ssao->setEnabled(FALSE);
|
||||
ctrl_ssao->setValue(FALSE);
|
||||
|
||||
ctrl_deferred->setEnabled(FALSE);
|
||||
ctrl_deferred->setValue(FALSE);
|
||||
}
|
||||
|
||||
// disabled reflections
|
||||
|
|
@ -914,13 +956,25 @@ void LLFloaterPreference::disableUnavailableSettings()
|
|||
|
||||
ctrl_avatar_cloth->setEnabled(FALSE);
|
||||
ctrl_avatar_cloth->setValue(FALSE);
|
||||
|
||||
//deferred needs AvatarVP, disable deferred
|
||||
ctrl_shadows->setEnabled(FALSE);
|
||||
ctrl_shadows->setValue(0);
|
||||
|
||||
ctrl_ssao->setEnabled(FALSE);
|
||||
ctrl_ssao->setValue(FALSE);
|
||||
|
||||
ctrl_deferred->setEnabled(FALSE);
|
||||
ctrl_deferred->setValue(FALSE);
|
||||
}
|
||||
|
||||
// disabled cloth
|
||||
if(!LLFeatureManager::getInstance()->isFeatureAvailable("RenderAvatarCloth"))
|
||||
{
|
||||
ctrl_avatar_cloth->setEnabled(FALSE);
|
||||
ctrl_avatar_cloth->setValue(FALSE);
|
||||
}
|
||||
|
||||
// disabled impostors
|
||||
if(!LLFeatureManager::getInstance()->isFeatureAvailable("RenderUseImpostors"))
|
||||
{
|
||||
|
|
|
|||
|
|
@ -299,15 +299,6 @@ static bool handleWLSkyDetailChanged(const LLSD&)
|
|||
return true;
|
||||
}
|
||||
|
||||
static bool handleRenderLightingDetailChanged(const LLSD& newvalue)
|
||||
{
|
||||
if (gPipeline.isInit())
|
||||
{
|
||||
gPipeline.setLightingDetail(newvalue.asInteger());
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool handleResetVertexBuffersChanged(const LLSD&)
|
||||
{
|
||||
if (gPipeline.isInit())
|
||||
|
|
@ -579,7 +570,6 @@ void settings_setup_listeners()
|
|||
gSavedSettings.getControl("RenderVBOEnable")->getSignal()->connect(boost::bind(&handleRenderUseVBOChanged, _2));
|
||||
gSavedSettings.getControl("RenderUseStreamVBO")->getSignal()->connect(boost::bind(&handleResetVertexBuffersChanged, _2));
|
||||
gSavedSettings.getControl("WLSkyDetail")->getSignal()->connect(boost::bind(&handleWLSkyDetailChanged, _2));
|
||||
gSavedSettings.getControl("RenderLightingDetail")->getSignal()->connect(boost::bind(&handleRenderLightingDetailChanged, _2));
|
||||
gSavedSettings.getControl("NumpadControl")->getSignal()->connect(boost::bind(&handleNumpadControlChanged, _2));
|
||||
gSavedSettings.getControl("JoystickAxis0")->getSignal()->connect(boost::bind(&handleJoystickChanged, _2));
|
||||
gSavedSettings.getControl("JoystickAxis1")->getSignal()->connect(boost::bind(&handleJoystickChanged, _2));
|
||||
|
|
|
|||
|
|
@ -317,10 +317,16 @@ S32 LLViewerShaderMgr::getVertexShaderLevel(S32 type)
|
|||
|
||||
void LLViewerShaderMgr::setShaders()
|
||||
{
|
||||
if (!gPipeline.mInitialized || !sInitialized)
|
||||
//setShaders might be called redundantly by gSavedSettings, so return on reentrance
|
||||
static bool reentrance = false;
|
||||
|
||||
if (!gPipeline.mInitialized || !sInitialized || reentrance)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
reentrance = true;
|
||||
|
||||
// Make sure the compiled shader map is cleared before we recompile shaders.
|
||||
mShaderObjects.clear();
|
||||
|
||||
|
|
@ -368,15 +374,8 @@ void LLViewerShaderMgr::setShaders()
|
|||
S32 wl_class = 2;
|
||||
S32 water_class = 2;
|
||||
S32 deferred_class = 0;
|
||||
if (!(LLFeatureManager::getInstance()->isFeatureAvailable("WindLightUseAtmosShaders")
|
||||
&& gSavedSettings.getBOOL("WindLightUseAtmosShaders")))
|
||||
{
|
||||
// user has disabled WindLight in their settings, downgrade
|
||||
// windlight shaders to stub versions.
|
||||
wl_class = 1;
|
||||
}
|
||||
|
||||
if (LLPipeline::sRenderDeferred)
|
||||
|
||||
if (gSavedSettings.getBOOL("RenderDeferred"))
|
||||
{
|
||||
if (gSavedSettings.getS32("RenderShadowDetail") > 0)
|
||||
{
|
||||
|
|
@ -393,6 +392,24 @@ void LLViewerShaderMgr::setShaders()
|
|||
{ //no shadows
|
||||
deferred_class = 1;
|
||||
}
|
||||
|
||||
//make sure framebuffer objects are enabled
|
||||
gSavedSettings.setBOOL("RenderUseFBO", TRUE);
|
||||
|
||||
//make sure hardware skinning is enabled
|
||||
gSavedSettings.setBOOL("RenderAvatarVP", TRUE);
|
||||
|
||||
//make sure atmospheric shaders are enabled
|
||||
gSavedSettings.setBOOL("WindLightUseAtmosShaders", TRUE);
|
||||
}
|
||||
|
||||
|
||||
if (!(LLFeatureManager::getInstance()->isFeatureAvailable("WindLightUseAtmosShaders")
|
||||
&& gSavedSettings.getBOOL("WindLightUseAtmosShaders")))
|
||||
{
|
||||
// user has disabled WindLight in their settings, downgrade
|
||||
// windlight shaders to stub versions.
|
||||
wl_class = 1;
|
||||
}
|
||||
|
||||
if(!gSavedSettings.getBOOL("EnableRippleWater"))
|
||||
|
|
@ -517,6 +534,8 @@ void LLViewerShaderMgr::setShaders()
|
|||
gViewerWindow->setCursor(UI_CURSOR_ARROW);
|
||||
}
|
||||
gPipeline.createGLBuffers();
|
||||
|
||||
reentrance = false;
|
||||
}
|
||||
|
||||
void LLViewerShaderMgr::unloadShaders()
|
||||
|
|
|
|||
|
|
@ -592,7 +592,7 @@ void update_statistics(U32 frame_count)
|
|||
}
|
||||
}
|
||||
LLViewerStats::getInstance()->setStat(LLViewerStats::ST_ENABLE_VBO, (F64)gSavedSettings.getBOOL("RenderVBOEnable"));
|
||||
LLViewerStats::getInstance()->setStat(LLViewerStats::ST_LIGHTING_DETAIL, (F64)gSavedSettings.getS32("RenderLightingDetail"));
|
||||
LLViewerStats::getInstance()->setStat(LLViewerStats::ST_LIGHTING_DETAIL, (F64)gPipeline.getLightingDetail());
|
||||
LLViewerStats::getInstance()->setStat(LLViewerStats::ST_DRAW_DIST, (F64)gSavedSettings.getF32("RenderFarClip"));
|
||||
LLViewerStats::getInstance()->setStat(LLViewerStats::ST_CHAT_BUBBLES, (F64)gSavedSettings.getBOOL("UseChatBubbles"));
|
||||
#if 0 // 1.9.2
|
||||
|
|
|
|||
|
|
@ -408,6 +408,8 @@ void LLPipeline::init()
|
|||
{
|
||||
mSpotLightFade[i] = 1.f;
|
||||
}
|
||||
|
||||
setLightingDetail(-1);
|
||||
}
|
||||
|
||||
LLPipeline::~LLPipeline()
|
||||
|
|
@ -904,13 +906,18 @@ S32 LLPipeline::setLightingDetail(S32 level)
|
|||
|
||||
if (level < 0)
|
||||
{
|
||||
level = gSavedSettings.getS32("RenderLightingDetail");
|
||||
if (gSavedSettings.getBOOL("VertexShaderEnable"))
|
||||
{
|
||||
level = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
level = 0;
|
||||
}
|
||||
}
|
||||
level = llclamp(level, 0, getMaxLightingDetail());
|
||||
if (level != mLightingDetail)
|
||||
{
|
||||
gSavedSettings.setS32("RenderLightingDetail", level);
|
||||
|
||||
mLightingDetail = level;
|
||||
|
||||
if (mVertexShadersLoaded == 1)
|
||||
|
|
|
|||
|
|
@ -215,12 +215,15 @@
|
|||
control_name="RenderDeferred"
|
||||
height="16"
|
||||
initial_value="true"
|
||||
label="Lighting Shaders"
|
||||
label="Lighting and Shadows"
|
||||
layout="topleft"
|
||||
left_delta="0"
|
||||
name="UseLightShaders"
|
||||
top_pad="1"
|
||||
width="256"/>
|
||||
width="256">
|
||||
<check_box.commit_callback
|
||||
function="Pref.VertexShaderEnable" />
|
||||
</check_box>
|
||||
<check_box
|
||||
control_name="RenderDeferredSSAO"
|
||||
height="16"
|
||||
|
|
@ -230,9 +233,12 @@
|
|||
left_delta="0"
|
||||
name="UseSSAO"
|
||||
top_pad="1"
|
||||
width="256"/>
|
||||
width="256">
|
||||
<check_box.commit_callback
|
||||
function="Pref.VertexShaderEnable" />
|
||||
</check_box>
|
||||
|
||||
<text
|
||||
<text
|
||||
type="string"
|
||||
length="1"
|
||||
top_pad="8"
|
||||
|
|
@ -242,7 +248,42 @@
|
|||
word_wrap="true"
|
||||
layout="topleft"
|
||||
left="10"
|
||||
name="reflection_label">
|
||||
name="shadows_label">
|
||||
Shadows:
|
||||
</text>
|
||||
<combo_box
|
||||
control_name="RenderShadowDetail"
|
||||
height="23"
|
||||
layout="topleft"
|
||||
left="10"
|
||||
top_pad="0"
|
||||
name="ShadowDetail"
|
||||
width="150">
|
||||
<combo_box.item
|
||||
label="None"
|
||||
name="0"
|
||||
value="0"/>
|
||||
<combo_box.item
|
||||
label="Sun/Moon"
|
||||
name="1"
|
||||
value="1"/>
|
||||
<combo_box.item
|
||||
label="Sun/Moon + Projectors"
|
||||
name="2"
|
||||
value="2"/>
|
||||
</combo_box>
|
||||
|
||||
<text
|
||||
type="string"
|
||||
length="1"
|
||||
top_pad="8"
|
||||
follows="top|left"
|
||||
height="23"
|
||||
width="110"
|
||||
word_wrap="true"
|
||||
layout="topleft"
|
||||
left="10"
|
||||
name="reflection_label">
|
||||
Water Reflections:
|
||||
</text>
|
||||
<combo_box
|
||||
|
|
@ -250,7 +291,7 @@
|
|||
height="23"
|
||||
layout="topleft"
|
||||
left_="10"
|
||||
top_pad ="0"
|
||||
top_pad ="0"
|
||||
name="Reflections"
|
||||
width="150">
|
||||
<combo_box.item
|
||||
|
|
@ -274,41 +315,6 @@
|
|||
name="4"
|
||||
value="4"/>
|
||||
</combo_box>
|
||||
|
||||
<text
|
||||
type="string"
|
||||
length="1"
|
||||
top_pad="8"
|
||||
follows="top|left"
|
||||
height="23"
|
||||
width="110"
|
||||
word_wrap="true"
|
||||
layout="topleft"
|
||||
left="10"
|
||||
name="shadows_label">
|
||||
Shadows:
|
||||
</text>
|
||||
<combo_box
|
||||
control_name="RenderShadowDetail"
|
||||
height="23"
|
||||
layout="topleft"
|
||||
left="10"
|
||||
top_pad="0"
|
||||
name="ShadowDetailRadio"
|
||||
width="150">
|
||||
<combo_box.item
|
||||
label="None"
|
||||
name="0"
|
||||
value="0"/>
|
||||
<combo_box.item
|
||||
label="Sun/Moon"
|
||||
name="1"
|
||||
value="1"/>
|
||||
<combo_box.item
|
||||
label="Sun/Moon + Projectors"
|
||||
name="2"
|
||||
value="2"/>
|
||||
</combo_box>
|
||||
|
||||
<slider
|
||||
control_name="RenderFarClip"
|
||||
|
|
|
|||
Loading…
Reference in New Issue