Deferred settings
This commit is contained in:
@@ -233,13 +233,21 @@ BOOL LLPanelDisplay::postBuild()
|
||||
mCtrlReflections = getChild<LLCheckBoxCtrl>("Reflections");
|
||||
mCtrlReflections->setCommitCallback(&LLPanelDisplay::onVertexShaderEnable);
|
||||
mCtrlReflections->setCallbackUserData(this);
|
||||
mRadioReflectionDetail = getChild<LLRadioGroup>("ReflectionDetailRadio");
|
||||
mCtrlReflectionDetail = getChild<LLComboBox>("ReflectionDetailCombo");
|
||||
|
||||
// WindLight
|
||||
mCtrlWindLight = getChild<LLCheckBoxCtrl>("WindLightUseAtmosShaders");
|
||||
mCtrlWindLight->setCommitCallback(&LLPanelDisplay::onVertexShaderEnable);
|
||||
mCtrlWindLight->setCallbackUserData(this);
|
||||
|
||||
// Deferred
|
||||
mCtrlDeferred = getChild<LLCheckBoxCtrl>("RenderDeferred");
|
||||
mCtrlDeferred->setCommitCallback(&LLPanelDisplay::onVertexShaderEnable);
|
||||
mCtrlDeferred->setCallbackUserData(this);
|
||||
mCtrlSunShadow = getChild<LLCheckBoxCtrl>("RenderDeferredSunShadow");
|
||||
mCtrlSunShadow->setCommitCallback(&LLPanelDisplay::onVertexShaderEnable);
|
||||
mCtrlSunShadow->setCallbackUserData(this);
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
// Enable Avatar Shaders
|
||||
mCtrlAvatarVP = getChild<LLCheckBoxCtrl>("AvatarVertexProgram");
|
||||
@@ -391,6 +399,8 @@ void LLPanelDisplay::refresh()
|
||||
mWindLight = gSavedSettings.getBOOL("WindLightUseAtmosShaders");
|
||||
mReflections = gSavedSettings.getBOOL("RenderWaterReflections");
|
||||
mAvatarVP = gSavedSettings.getBOOL("RenderAvatarVP");
|
||||
mDeferred = gSavedSettings.getBOOL("RenderDeferred");
|
||||
mSunShadow = gSavedSettings.getBOOL("RenderDeferredSunShadow");
|
||||
|
||||
// reflection radio
|
||||
mReflectionDetail = gSavedSettings.getS32("RenderReflectionDetail");
|
||||
@@ -464,10 +474,7 @@ void LLPanelDisplay::refreshEnabledState()
|
||||
bool bumpshiny = gGLManager.mHasCubeMap && LLCubeMap::sUseCubeMaps && LLFeatureManager::getInstance()->isFeatureAvailable("RenderObjectBump");
|
||||
mCtrlBumpShiny->setEnabled(bumpshiny ? TRUE : FALSE);
|
||||
|
||||
for (S32 i = 0; i < mRadioReflectionDetail->getItemCount(); ++i)
|
||||
{
|
||||
mRadioReflectionDetail->setIndexEnabled(i, mCtrlReflections->get() && reflections);
|
||||
}
|
||||
mCtrlReflectionDetail->setEnabled(mCtrlReflections->get() && reflections);
|
||||
|
||||
// Avatar Mode
|
||||
S32 max_avatar_shader = LLViewerShaderMgr::instance()->mMaxAvatarShaderLevel;
|
||||
@@ -483,6 +490,10 @@ void LLPanelDisplay::refreshEnabledState()
|
||||
mCtrlAvatarCloth->setEnabled(true);
|
||||
}
|
||||
|
||||
BOOL can_defer = gSavedSettings.getBOOL("RenderUseFBO");
|
||||
mCtrlDeferred->setEnabled(can_defer);
|
||||
mCtrlSunShadow->setEnabled(can_defer && gSavedSettings.getBOOL("RenderDeferred"));
|
||||
|
||||
// Vertex Shaders
|
||||
// mCtrlShaderEnable->setEnabled(LLFeatureManager::getInstance()->isFeatureAvailable("VertexShaderEnable"));
|
||||
// [RLVa:KB] - Checked: 2009-07-10 (RLVa-1.0.0g) | Modified: RLVa-0.2.0a
|
||||
@@ -538,6 +549,11 @@ void LLPanelDisplay::disableUnavailableSettings()
|
||||
|
||||
mCtrlAvatarCloth->setEnabled(FALSE);
|
||||
mCtrlAvatarCloth->setValue(FALSE);
|
||||
|
||||
mCtrlDeferred->setEnabled(FALSE);
|
||||
mCtrlDeferred->setValue(FALSE);
|
||||
mCtrlSunShadow->setEnabled(FALSE);
|
||||
mCtrlSunShadow->setValue(FALSE);
|
||||
}
|
||||
|
||||
// disabled windlight
|
||||
@@ -575,6 +591,15 @@ void LLPanelDisplay::disableUnavailableSettings()
|
||||
mCtrlAvatarImpostors->setEnabled(FALSE);
|
||||
mCtrlAvatarImpostors->setValue(FALSE);
|
||||
}
|
||||
// disabled deferred
|
||||
if(!LLFeatureManager::getInstance()->isFeatureAvailable("RenderDeferred"))
|
||||
{
|
||||
mCtrlDeferred->setEnabled(FALSE);
|
||||
mCtrlDeferred->setValue(FALSE);
|
||||
mCtrlSunShadow->setEnabled(FALSE);
|
||||
mCtrlSunShadow->setValue(FALSE);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void LLPanelDisplay::setHiddenGraphicsState(bool isHidden)
|
||||
@@ -610,7 +635,7 @@ void LLPanelDisplay::setHiddenGraphicsState(bool isHidden)
|
||||
llassert(mRadioLightingDetail2 != NULL);
|
||||
|
||||
llassert(mRadioTerrainDetail != NULL);
|
||||
llassert(mRadioReflectionDetail != NULL);
|
||||
llassert(mCtrlReflectionDetail != NULL);
|
||||
|
||||
llassert(mMeshDetailText != NULL);
|
||||
llassert(mShaderText != NULL);
|
||||
@@ -633,7 +658,7 @@ void LLPanelDisplay::setHiddenGraphicsState(bool isHidden)
|
||||
mCtrlLODFactor->setVisible(!isHidden);
|
||||
mCtrlFlexFactor->setVisible(!isHidden);
|
||||
mCtrlTreeFactor->setVisible(!isHidden);
|
||||
mCtrlAvatarFactor->setVisible(!isHidden);
|
||||
mCtrlAvatarFactor->setVisible(!isHidden);
|
||||
mCtrlTerrainFactor->setVisible(!isHidden);
|
||||
mCtrlSkyFactor->setVisible(!isHidden);
|
||||
mCtrlMaxParticle->setVisible(!isHidden);
|
||||
@@ -657,7 +682,10 @@ void LLPanelDisplay::setHiddenGraphicsState(bool isHidden)
|
||||
mRadioLightingDetail2->setVisible(!isHidden);
|
||||
|
||||
mRadioTerrainDetail->setVisible(!isHidden);
|
||||
mRadioReflectionDetail->setVisible(!isHidden);
|
||||
mCtrlReflectionDetail->setVisible(!isHidden);
|
||||
|
||||
mCtrlDeferred->setVisible(!isHidden);
|
||||
mCtrlSunShadow->setVisible(!isHidden);
|
||||
|
||||
// text boxes
|
||||
mShaderText->setVisible(!isHidden);
|
||||
@@ -691,6 +719,8 @@ void LLPanelDisplay::cancel()
|
||||
gSavedSettings.setBOOL("WindLightUseAtmosShaders", mWindLight);
|
||||
gSavedSettings.setBOOL("RenderWaterReflections", mReflections);
|
||||
gSavedSettings.setBOOL("RenderAvatarVP", mAvatarVP);
|
||||
gSavedSettings.setBOOL("RenderDeferred", mDeferred);
|
||||
gSavedSettings.setBOOL("RenderDeferredSunShadow", mSunShadow);
|
||||
|
||||
gSavedSettings.setS32("RenderReflectionDetail", mReflectionDetail);
|
||||
|
||||
|
||||
@@ -84,6 +84,7 @@ protected:
|
||||
LLComboBox *mCtrlFullScreen; // Fullscreen resolution
|
||||
LLCheckBoxCtrl *mCtrlAutoDetectAspect; // automatically detect aspect ratio
|
||||
LLComboBox *mCtrlAspectRatio; // user provided aspect ratio
|
||||
LLComboBox *mCtrlReflectionDetail;
|
||||
|
||||
LLCheckBoxCtrl *mCtrlWindowed; // windowed mode
|
||||
LLComboBox *mCtrlWindowSize; // window size for windowed mode
|
||||
@@ -110,12 +111,12 @@ protected:
|
||||
LLCheckBoxCtrl *mCtrlWindLight;
|
||||
LLCheckBoxCtrl *mCtrlAvatarVP;
|
||||
LLCheckBoxCtrl *mCtrlShaderEnable;
|
||||
LLCheckBoxCtrl *mCtrlDeferred;
|
||||
LLCheckBoxCtrl *mCtrlSunShadow;
|
||||
LLCheckBoxCtrl *mCtrlAvatarImpostors;
|
||||
LLCheckBoxCtrl *mCtrlAvatarCloth;
|
||||
LLRadioGroup *mRadioLightingDetail2;
|
||||
|
||||
LLRadioGroup *mRadioTerrainDetail;
|
||||
LLRadioGroup *mRadioReflectionDetail;
|
||||
|
||||
LLTextBox *mAspectRatioLabel1;
|
||||
LLTextBox *mDisplayResLabel;
|
||||
@@ -151,6 +152,8 @@ protected:
|
||||
BOOL mShaderEnable;
|
||||
BOOL mWindLight;
|
||||
BOOL mReflections;
|
||||
BOOL mDeferred;
|
||||
BOOL mSunShadow;
|
||||
BOOL mAvatarVP;
|
||||
|
||||
S32 mReflectionDetail;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
|
||||
<panel border="true" bottom="-409" enabled="true" follows="left|top|right|bottom"
|
||||
height="408" label="Graphics" left="102" mouse_opaque="true"
|
||||
<panel border="true" bottom="-439" enabled="true" follows="left|top|right|bottom"
|
||||
height="438" label="Graphics" left="102" mouse_opaque="true"
|
||||
name="Display panel" width="517">
|
||||
<button bottom="-22" follows="left|top" font="SansSerif" height="18" label="?"
|
||||
left="470" name="GraphicsPreferencesHelpButton" width="22" />
|
||||
@@ -24,11 +24,8 @@
|
||||
<combo_box allow_text_entry="false" bottom="-67" enabled="true" follows="left|top"
|
||||
height="18" left="185" max_chars="20" mouse_opaque="true"
|
||||
name="windowsize combo" width="150">
|
||||
<combo_item type="string" length="1" enabled="true" name="640x480" value="640 x 480">
|
||||
640x480
|
||||
</combo_item>
|
||||
<combo_item type="string" length="1" enabled="true" name="800x600" value="800 x 600">
|
||||
800x600
|
||||
800x600
|
||||
</combo_item>
|
||||
<combo_item type="string" length="1" enabled="true" name="720x480" value="720 x 480">
|
||||
720x480 (NTSC)
|
||||
@@ -39,7 +36,16 @@
|
||||
<combo_item type="string" length="1" enabled="true" name="1024x768" value="1024 x 768">
|
||||
1024x768
|
||||
</combo_item>
|
||||
|
||||
<combo_item type="string" length="1" enabled="true" name="1280x720" value="1280 x 720">
|
||||
1280x720 (HDV720)
|
||||
</combo_item>
|
||||
<combo_item type="string" length="1" enabled="true" name="1440x1080" value="1440 x 1080">
|
||||
1440x1080 (HDV1080)
|
||||
</combo_item>
|
||||
<combo_item type="string" length="1" enabled="true" name="1920x1080" value="1920 x 1080">
|
||||
1920x1080 (HD1080)
|
||||
</combo_item>
|
||||
|
||||
</combo_box>
|
||||
<text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
|
||||
bottom="-62" drop_shadow_visible="true" enabled="true" follows="left|top"
|
||||
@@ -67,10 +73,10 @@
|
||||
5:4 (1280x1024 LCD)
|
||||
</combo_item>
|
||||
<combo_item type="string" length="1" enabled="true" name="8:5(Widescreen)" value="1.6">
|
||||
8:5 (Widescreen)
|
||||
16:10 (Widescreen PC)
|
||||
</combo_item>
|
||||
<combo_item type="string" length="1" enabled="true" name="16:9(Widescreen)" value="1.7777777">
|
||||
16:9 (Widescreen)
|
||||
16:9 (Widescreen TV)
|
||||
</combo_item>
|
||||
</combo_box>
|
||||
<check_box bottom="-44" control_name="FullScreenAutoDetectAspectRatio" enabled="true"
|
||||
@@ -157,8 +163,8 @@
|
||||
follows="left|top" font="SansSerifSmall" height="16"
|
||||
initial_value="true" label="Custom" left="385" mouse_opaque="true"
|
||||
name="CustomSettings" radio_style="false" width="256" />
|
||||
<view_border bevel_style="none" border_thickness="1" bottom="-375" follows="top|left"
|
||||
height="260" left="5" name="GraphicsBorder" width="485" />
|
||||
<view_border bevel_style="none" border_thickness="1" bottom="-405" follows="top|left"
|
||||
height="290" left="5" name="GraphicsBorder" width="485" />
|
||||
<text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
|
||||
bottom="-130" drop_shadow_visible="true" enabled="true" follows="left|top"
|
||||
font="SansSerifSmall" h_pad="0" halign="left" height="12"
|
||||
@@ -180,18 +186,45 @@
|
||||
initial_value="true" label="Atmospheric Shaders" left_delta="0"
|
||||
mouse_opaque="true" name="WindLightUseAtmosShaders" radio_style="false"
|
||||
width="256" />
|
||||
<check_box bottom_delta="-17" control_name="RenderDeferred" enabled="true"
|
||||
follows="left|top" font="SansSerifSmall" height="16"
|
||||
initial_value="true" label="Deferred Shading" left_delta="0"
|
||||
mouse_opaque="true" name="RenderDeferred" radio_style="false"
|
||||
width="256" />
|
||||
<check_box bottom_delta="-17" control_name="RenderDeferredSunShadow" enabled="true"
|
||||
follows="left|top" font="SansSerifSmall" height="16"
|
||||
initial_value="true" label="Primary Shadows" left_delta="0"
|
||||
mouse_opaque="true" name="RenderDeferredSunShadow" radio_style="false"
|
||||
width="256" />
|
||||
<check_box bottom_delta="-17" control_name="RenderWaterReflections" enabled="true"
|
||||
follows="left|top" font="SansSerifSmall" height="16"
|
||||
initial_value="true" label="Water Reflections" left_delta="0"
|
||||
mouse_opaque="true" name="Reflections" radio_style="false" width="256" />
|
||||
<text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
|
||||
bottom="-223" drop_shadow_visible="true" enabled="true" follows="left|top"
|
||||
bottom_delta="-17" drop_shadow_visible="true" enabled="true" follows="left|top"
|
||||
font="SansSerifSmall" h_pad="0" halign="left" height="12"
|
||||
left="10" mouse_opaque="true" name="ReflectionDetailText" v_pad="0"
|
||||
width="128">
|
||||
Reflection Detail:
|
||||
</text>
|
||||
<radio_group bottom_delta="-73" control_name="RenderReflectionDetail" draw_border="false"
|
||||
<combo_box bottom_delta="-20" control_name="RenderReflectionDetail" enabled = "true" follows="left|top"
|
||||
left_delta="-2" mouse_opaque="true" name="ReflectionDetailCombo" width="160" height="16">
|
||||
<combo_item type="string" length="1" name="0" value="0">
|
||||
Terrain and Trees
|
||||
</combo_item>
|
||||
<combo_item type="string" length="1" name="1" value="1">
|
||||
All Static Objects
|
||||
</combo_item>
|
||||
<combo_item type="string" length="1" name="2" value="2">
|
||||
All Avatars and Objects
|
||||
</combo_item>
|
||||
<combo_item type="string" length="1" name="3" value="3">
|
||||
Everything
|
||||
</combo_item>
|
||||
|
||||
</combo_box>
|
||||
|
||||
<!--radio_group bottom_delta="-73" control_name="RenderReflectionDetail" draw_border="false"
|
||||
enabled="true" follows="left|top" height="70"
|
||||
left_delta="-2" mouse_opaque="true" name="ReflectionDetailRadio"
|
||||
width="321">
|
||||
@@ -211,7 +244,7 @@
|
||||
left="3" mouse_opaque="true" name="3" width="315">
|
||||
Everything
|
||||
</radio_item>
|
||||
</radio_group>
|
||||
</radio_group-->
|
||||
<text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
|
||||
bottom="-313" drop_shadow_visible="true" enabled="true" follows="left|top"
|
||||
font="SansSerifSmall" h_pad="0" halign="left" height="12" left="10"
|
||||
@@ -382,10 +415,10 @@
|
||||
High
|
||||
</radio_item>
|
||||
</radio_group>
|
||||
<button bottom="-400" enabled="true" font="SansSerif" halign="center" height="20"
|
||||
<button bottom="-430" enabled="true" font="SansSerif" halign="center" height="20"
|
||||
label="Recommended Settings" left="130" mouse_opaque="true"
|
||||
name="Defaults" scale_image="true" width="170" />
|
||||
<button bottom="-400" enabled="true" font="SansSerif" halign="center" height="20"
|
||||
<button bottom="-430" enabled="true" font="SansSerif" halign="center" height="20"
|
||||
label="Hardware Options" label_selected="Hardware Options"
|
||||
left="310" mouse_opaque="true" name="GraphicsHardwareButton"
|
||||
scale_image="true" width="170" />
|
||||
|
||||
Reference in New Issue
Block a user