diff options
-rwxr-xr-x | doc/contributions.txt | 1 | ||||
-rw-r--r-- | indra/newview/llavatarrenderinfoaccountant.cpp | 2 | ||||
-rwxr-xr-x | indra/newview/llfloaterpreference.cpp | 194 | ||||
-rwxr-xr-x | indra/newview/llfloaterpreference.h | 36 | ||||
-rw-r--r-- | indra/newview/llpresetsmanager.cpp | 9 | ||||
-rwxr-xr-x | indra/newview/llviewerfloaterreg.cpp | 1 | ||||
-rwxr-xr-x | indra/newview/llviewerwindow.cpp | 2 | ||||
-rwxr-xr-x | indra/newview/llvoavatar.cpp | 16 | ||||
-rwxr-xr-x | indra/newview/llvoavatar.h | 4 | ||||
-rwxr-xr-x | indra/newview/skins/default/xui/en/floater_hardware_settings.xml | 198 | ||||
-rw-r--r-- | indra/newview/skins/default/xui/en/floater_preferences_graphics_advanced.xml | 862 | ||||
-rwxr-xr-x | indra/newview/skins/default/xui/en/panel_preferences_graphics1.xml | 1084 |
12 files changed, 1125 insertions, 1284 deletions
diff --git a/doc/contributions.txt b/doc/contributions.txt index 99d60dd73e..6e3dd70cb8 100755 --- a/doc/contributions.txt +++ b/doc/contributions.txt @@ -993,6 +993,7 @@ Nicky Dasmijn STORM-1937 OPEN-187 STORM-2010 + STORM-2082 Nicky Perian OPEN-1 STORM-1087 diff --git a/indra/newview/llavatarrenderinfoaccountant.cpp b/indra/newview/llavatarrenderinfoaccountant.cpp index 8631f245a9..cdaf97ff62 100644 --- a/indra/newview/llavatarrenderinfoaccountant.cpp +++ b/indra/newview/llavatarrenderinfoaccountant.cpp @@ -248,7 +248,7 @@ void LLAvatarRenderInfoAccountant::sendRenderInfoToRegion(LLViewerRegion * regio !avatar->isDead() && // Not dead yet avatar->getObjectHost() == regionp->getHost()) // Ensure it's on the same region { - avatar->calculateUpdateRenderCost(); // Make sure the numbers are up-to-date + avatar->calculateUpdateRenderComplexity(); // Make sure the numbers are up-to-date LLSD info = LLSD::emptyMap(); if (avatar->getVisualComplexity() > 0) diff --git a/indra/newview/llfloaterpreference.cpp b/indra/newview/llfloaterpreference.cpp index a37bebc547..21c684ab25 100755 --- a/indra/newview/llfloaterpreference.cpp +++ b/indra/newview/llfloaterpreference.cpp @@ -353,8 +353,6 @@ LLFloaterPreference::LLFloaterPreference(const LLSD& key) mCommitCallbackRegistrar.add("Pref.VertexShaderEnable", boost::bind(&LLFloaterPreference::onVertexShaderEnable, this)); mCommitCallbackRegistrar.add("Pref.WindowedMod", boost::bind(&LLFloaterPreference::onCommitWindowedMode, this)); mCommitCallbackRegistrar.add("Pref.UpdateSliderText", boost::bind(&LLFloaterPreference::refreshUI,this)); - mCommitCallbackRegistrar.add("Pref.UpdateIndirectMaxNonImpostors", boost::bind(&LLFloaterPreference::updateMaximumNonImpostors,this)); - mCommitCallbackRegistrar.add("Pref.UpdateIndirectMaxComplexity", boost::bind(&LLFloaterPreference::updateMaxComplexity,this)); mCommitCallbackRegistrar.add("Pref.QualityPerformance", boost::bind(&LLFloaterPreference::onChangeQuality, this, _2)); mCommitCallbackRegistrar.add("Pref.applyUIColor", boost::bind(&LLFloaterPreference::applyUIColor, this ,_1, _2)); mCommitCallbackRegistrar.add("Pref.getUIColor", boost::bind(&LLFloaterPreference::getUIColor, this ,_1, _2)); @@ -365,6 +363,7 @@ LLFloaterPreference::LLFloaterPreference(const LLSD& key) mCommitCallbackRegistrar.add("Pref.AutoReplace", boost::bind(&LLFloaterPreference::onClickAutoReplace, this)); mCommitCallbackRegistrar.add("Pref.PermsDefault", boost::bind(&LLFloaterPreference::onClickPermsDefault, this)); mCommitCallbackRegistrar.add("Pref.SpellChecker", boost::bind(&LLFloaterPreference::onClickSpellChecker, this)); + mCommitCallbackRegistrar.add("Pref.Advanced", boost::bind(&LLFloaterPreference::onClickAdvanced, this)); sSkin = gSavedSettings.getString("SkinCurrent"); @@ -635,6 +634,9 @@ void LLFloaterPreference::cancel() // hide spellchecker settings folder LLFloaterReg::hideInstance("prefs_spellchecker"); + + // hide advancede floater + LLFloaterReg::hideInstance("prefs_graphics_advanced"); // reverts any changes to current skin gSavedSettings.setString("SkinCurrent", sSkin); @@ -759,6 +761,22 @@ void LLFloaterPreference::onVertexShaderEnable() refreshEnabledGraphics(); } +void LLFloaterPreferenceGraphicsAdvanced::onVertexShaderEnable() +{ + LLFloaterPreference* instance = LLFloaterReg::findTypedInstance<LLFloaterPreference>("preferences"); + if (instance) + { + instance->refresh(); + } + + refreshEnabledGraphics(); +} + +void LLFloaterPreferenceGraphicsAdvanced::refreshEnabledGraphics() +{ + refreshEnabledState(); +} + void LLFloaterPreference::onAvatarImpostorsEnable() { refreshEnabledGraphics(); @@ -787,8 +805,9 @@ void LLFloaterPreference::updateShowFavoritesCheckbox(bool val) void LLFloaterPreference::setHardwareDefaults() { LLFeatureManager::getInstance()->applyRecommendedSettings(); + // reset indirects before refresh because we may have changed what they control - setIndirectControls(); + LLFloaterPreferenceGraphicsAdvanced::setIndirectControls(); refreshEnabledGraphics(); gSavedSettings.setString("PresetGraphicActive", ""); @@ -811,10 +830,12 @@ void LLFloaterPreference::setHardwareDefaults() void LLFloaterPreference::getControlNames(std::vector<std::string>& names) { LLView* view = findChild<LLView>("display"); - if (view) + LLFloater* advanced = LLFloaterReg::findTypedInstance<LLFloater>("prefs_graphics_advanced"); + if (view && advanced) { std::list<LLView*> stack; stack.push_back(view); + stack.push_back(advanced); while(!stack.empty()) { // Process view on top of the stack @@ -949,7 +970,12 @@ void LLFloaterPreference::refreshEnabledGraphics() { instance->refresh(); } - setIndirectControls(); + + LLFloater* advanced = LLFloaterReg::findTypedInstance<LLFloater>("prefs_graphics_advanced"); + if (advanced) + { + advanced->refresh(); + } } void LLFloaterPreference::onClickClearCache() @@ -1131,10 +1157,40 @@ void LLFloaterPreference::buildPopupLists() } void LLFloaterPreference::refreshEnabledState() -{ +{ + LLCheckBoxCtrl* ctrl_wind_light = getChild<LLCheckBoxCtrl>("WindLightUseAtmosShaders"); + LLCheckBoxCtrl* ctrl_deferred = getChild<LLCheckBoxCtrl>("UseLightShaders"); + + // if vertex shaders off, disable all shader related products + if (!LLFeatureManager::getInstance()->isFeatureAvailable("VertexShaderEnable") || + !LLFeatureManager::getInstance()->isFeatureAvailable("WindLightUseAtmosShaders")) + { + ctrl_wind_light->setEnabled(FALSE); + ctrl_wind_light->setValue(FALSE); + } + else + { + ctrl_wind_light->setEnabled(gSavedSettings.getBOOL("VertexShaderEnable")); + } + + //Deferred/SSAO/Shadows + BOOL bumpshiny = gGLManager.mHasCubeMap && LLCubeMap::sUseCubeMaps && LLFeatureManager::getInstance()->isFeatureAvailable("RenderObjectBump") && gSavedSettings.getBOOL("RenderObjectBump"); + BOOL shaders = gSavedSettings.getBOOL("WindLightUseAtmosShaders") && gSavedSettings.getBOOL("VertexShaderEnable"); + BOOL enabled = LLFeatureManager::getInstance()->isFeatureAvailable("RenderDeferred") && + bumpshiny && + shaders && + gGLManager.mHasFramebufferObject && + gSavedSettings.getBOOL("RenderAvatarVP") && + (ctrl_wind_light->get()) ? TRUE : FALSE; + + ctrl_deferred->setEnabled(enabled); +} + +void LLFloaterPreferenceGraphicsAdvanced::refreshEnabledState() +{ LLComboBox* ctrl_reflections = getChild<LLComboBox>("Reflections"); LLTextBox* reflections_text = getChild<LLTextBox>("ReflectionsText"); - + // Reflections BOOL reflections = gSavedSettings.getBOOL("VertexShaderEnable") && gGLManager.mHasCubeMap @@ -1175,9 +1231,9 @@ void LLFloaterPreference::refreshEnabledState() // Vertex Shaders // Global Shader Enable LLCheckBoxCtrl* ctrl_shader_enable = getChild<LLCheckBoxCtrl>("BasicShaders"); - LLSliderCtrl* terrain_detail = getChild<LLSliderCtrl>("TerrainDetail"); // can be linked with control var + LLSliderCtrl* terrain_detail = getChild<LLSliderCtrl>("TerrainDetail"); // can be linked with control var LLTextBox* terrain_text = getChild<LLTextBox>("TerrainDetailText"); - + ctrl_shader_enable->setEnabled(LLFeatureManager::getInstance()->isFeatureAvailable("VertexShaderEnable")); BOOL shaders = ctrl_shader_enable->get(); @@ -1195,22 +1251,18 @@ void LLFloaterPreference::refreshEnabledState() // WindLight LLCheckBoxCtrl* ctrl_wind_light = getChild<LLCheckBoxCtrl>("WindLightUseAtmosShaders"); - LLCheckBoxCtrl* ctrl_wind_light2 = getChild<LLCheckBoxCtrl>("WindLightUseAtmosShaders2"); LLSliderCtrl* sky = getChild<LLSliderCtrl>("SkyMeshDetail"); LLTextBox* sky_text = getChild<LLTextBox>("SkyMeshDetailText"); // *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); - ctrl_wind_light2->setEnabled(ctrl_shader_enable->getEnabled() && shaders); sky->setEnabled(ctrl_wind_light->get() && shaders); sky_text->setEnabled(ctrl_wind_light->get() && shaders); //Deferred/SSAO/Shadows LLCheckBoxCtrl* ctrl_deferred = getChild<LLCheckBoxCtrl>("UseLightShaders"); - LLCheckBoxCtrl* ctrl_deferred2 = getChild<LLCheckBoxCtrl>("UseLightShaders2"); - BOOL enabled = LLFeatureManager::getInstance()->isFeatureAvailable("RenderDeferred") && ((bumpshiny_ctrl && bumpshiny_ctrl->get()) ? TRUE : FALSE) && @@ -1220,7 +1272,6 @@ void LLFloaterPreference::refreshEnabledState() (ctrl_wind_light->get()) ? TRUE : FALSE; ctrl_deferred->setEnabled(enabled); - ctrl_deferred2->setEnabled(enabled); LLCheckBoxCtrl* ctrl_ssao = getChild<LLCheckBoxCtrl>("UseSSAO"); LLCheckBoxCtrl* ctrl_dof = getChild<LLCheckBoxCtrl>("UseDoF"); @@ -1266,36 +1317,6 @@ void LLFloaterPreference::refreshEnabledState() getChildView("fog")->setEnabled(!gPipeline.canUseWindLightShaders()); getChildView("antialiasing restart")->setVisible(!LLFeatureManager::getInstance()->isFeatureAvailable("RenderDeferred")); - /* Disabling this block of code because canUseAntiAliasing currently always returns true - // anti-aliasing - LLComboBox* fsaa_ctrl = getChild<LLComboBox>("fsaa"); - LLTextBox* fsaa_text = getChild<LLTextBox>("antialiasing label"); - LLTextBox* fsaa_restart = getChild<LLTextBox>("antialiasing restart"); - - // Enable or disable the control, the "Antialiasing:" label and the restart warning - // based on code support for the feature on the current hardware. - - if (gPipeline.canUseAntiAliasing()) - { - fsaa_ctrl->setEnabled(TRUE); - - LLColor4 color = LLUIColorTable::instance().getColor("LabelTextColor"); - fsaa_text->setColor(color); - - fsaa_restart->setVisible(!gSavedSettings.getBOOL("RenderDeferred")); - } - else - { - fsaa_ctrl->setEnabled(FALSE); - fsaa_ctrl->setValue((LLSD::Integer) 0); - - LLColor4 color = LLUIColorTable::instance().getColor("LabelDisabledColor"); - fsaa_text->setColor(color); - - fsaa_restart->setVisible(FALSE); - } - */ - // now turn off any features that are unavailable disableUnavailableSettings(); @@ -1306,7 +1327,7 @@ void LLFloaterPreference::refreshEnabledState() } // static -void LLFloaterPreference::setIndirectControls() +void LLFloaterPreferenceGraphicsAdvanced::setIndirectControls() { /* * We have controls that have an indirect relationship between the control @@ -1322,7 +1343,7 @@ void LLFloaterPreference::setIndirectControls() } // static -void LLFloaterPreference::setIndirectMaxNonImpostors() +void LLFloaterPreferenceGraphicsAdvanced::setIndirectMaxNonImpostors() { U32 max_non_impostors = gSavedSettings.getU32("RenderAvatarMaxNonImpostors"); // for this one, we just need to make zero, which means off, the max value of the slider @@ -1330,7 +1351,7 @@ void LLFloaterPreference::setIndirectMaxNonImpostors() gSavedSettings.setU32("IndirectMaxNonImpostors", indirect_max_non_impostors); } -void LLFloaterPreference::setIndirectMaxArc() +void LLFloaterPreferenceGraphicsAdvanced::setIndirectMaxArc() { U32 max_arc = gSavedSettings.getU32("RenderAvatarMaxComplexity"); U32 indirect_max_arc; @@ -1347,7 +1368,7 @@ void LLFloaterPreference::setIndirectMaxArc() gSavedSettings.setU32("IndirectMaxComplexity", indirect_max_arc); } -void LLFloaterPreference::disableUnavailableSettings() +void LLFloaterPreferenceGraphicsAdvanced::disableUnavailableSettings() { LLComboBox* ctrl_reflections = getChild<LLComboBox>("Reflections"); LLTextBox* reflections_text = getChild<LLTextBox>("ReflectionsText"); @@ -1356,7 +1377,6 @@ void LLFloaterPreference::disableUnavailableSettings() LLCheckBoxCtrl* ctrl_shader_enable = getChild<LLCheckBoxCtrl>("BasicShaders"); LLCheckBoxCtrl* ctrl_wind_light = getChild<LLCheckBoxCtrl>("WindLightUseAtmosShaders"); LLCheckBoxCtrl* ctrl_deferred = getChild<LLCheckBoxCtrl>("UseLightShaders"); - LLCheckBoxCtrl* ctrl_deferred2 = getChild<LLCheckBoxCtrl>("UseLightShaders2"); LLComboBox* ctrl_shadows = getChild<LLComboBox>("ShadowDetail"); LLTextBox* shadows_text = getChild<LLTextBox>("RenderShadowDetailText"); LLCheckBoxCtrl* ctrl_ssao = getChild<LLCheckBoxCtrl>("UseSSAO"); @@ -1398,8 +1418,6 @@ void LLFloaterPreference::disableUnavailableSettings() ctrl_deferred->setEnabled(FALSE); ctrl_deferred->setValue(FALSE); - ctrl_deferred2->setEnabled(FALSE); - ctrl_deferred2->setValue(FALSE); } // disabled windlight @@ -1424,8 +1442,6 @@ void LLFloaterPreference::disableUnavailableSettings() ctrl_deferred->setEnabled(FALSE); ctrl_deferred->setValue(FALSE); - ctrl_deferred2->setEnabled(FALSE); - ctrl_deferred2->setValue(FALSE); } // disabled deferred @@ -1444,8 +1460,6 @@ void LLFloaterPreference::disableUnavailableSettings() ctrl_deferred->setEnabled(FALSE); ctrl_deferred->setValue(FALSE); - ctrl_deferred2->setEnabled(FALSE); - ctrl_deferred2->setValue(FALSE); } // disabled deferred SSAO @@ -1493,8 +1507,6 @@ void LLFloaterPreference::disableUnavailableSettings() ctrl_deferred->setEnabled(FALSE); ctrl_deferred->setValue(FALSE); - ctrl_deferred2->setEnabled(FALSE); - ctrl_deferred2->setValue(FALSE); } // disabled cloth @@ -1508,7 +1520,16 @@ void LLFloaterPreference::disableUnavailableSettings() void LLFloaterPreference::refresh() { LLPanel::refresh(); + refreshEnabledState(); + LLFloater* advanced = LLFloaterReg::findTypedInstance<LLFloater>("prefs_graphics_advanced"); + if (advanced) + { + advanced->refresh(); + } +} +void LLFloaterPreferenceGraphicsAdvanced::refresh() +{ getChild<LLUICtrl>("fsaa")->setValue((LLSD::Integer) gSavedSettings.getU32("RenderFSAASamples")); // sliders and their text boxes @@ -1524,7 +1545,7 @@ void LLFloaterPreference::refresh() updateSliderText(getChild<LLSliderCtrl>("SkyMeshDetail", true), getChild<LLTextBox>("SkyMeshDetailText", true)); updateSliderText(getChild<LLSliderCtrl>("TerrainDetail", true), getChild<LLTextBox>("TerrainDetailText", true)); setIndirectControls(); - setMaximumNonImpostorsText(gSavedSettings.getU32("RenderAvatarMaxNonImpostors"),getChild<LLTextBox>("IndirectMaxNonImpostorsText", true)); + setMaxNonImpostorsText(gSavedSettings.getU32("RenderAvatarMaxNonImpostors"),getChild<LLTextBox>("IndirectMaxNonImpostorsText", true)); setMaxComplexityText(gSavedSettings.getU32("RenderAvatarMaxComplexity"),getChild<LLTextBox>("IndirectMaxComplexityText", true)); refreshEnabledState(); } @@ -1668,12 +1689,12 @@ void LLFloaterPreference::onClickLogPath() //Path changed if(proposed_name != dir_name) { - gSavedPerAccountSettings.setString("InstantMessageLogPath", dir_name); + gSavedPerAccountSettings.setString("InstantMessageLogPath", dir_name); mPriorInstantMessageLogPath = proposed_name; - // enable/disable 'Delete transcripts button - updateDeleteTranscriptsButton(); - } + // enable/disable 'Delete transcripts button + updateDeleteTranscriptsButton(); +} } bool LLFloaterPreference::moveTranscriptsAndLog() @@ -1778,7 +1799,7 @@ void LLFloaterPreference::refreshUI() refresh(); } -void LLFloaterPreference::updateSliderText(LLSliderCtrl* ctrl, LLTextBox* text_box) +void LLFloaterPreferenceGraphicsAdvanced::updateSliderText(LLSliderCtrl* ctrl, LLTextBox* text_box) { if (text_box == NULL || ctrl== NULL) return; @@ -1807,8 +1828,7 @@ void LLFloaterPreference::updateSliderText(LLSliderCtrl* ctrl, LLTextBox* text_b } } - -void LLFloaterPreference::updateMaximumNonImpostors() +void LLFloaterPreferenceGraphicsAdvanced::updateMaxNonImpostors() { // Called when the IndirectMaxNonImpostors control changes // Responsible for fixing the slider label (IndirectMaxNonImpostorsText) and setting RenderAvatarMaxNonImpostors @@ -1821,10 +1841,10 @@ void LLFloaterPreference::updateMaximumNonImpostors() } gSavedSettings.setU32("RenderAvatarMaxNonImpostors", value); LLVOAvatar::updateImpostorRendering(value); // make it effective immediately - setMaximumNonImpostorsText(value, getChild<LLTextBox>("IndirectMaxNonImpostorsText")); + setMaxNonImpostorsText(value, getChild<LLTextBox>("IndirectMaxNonImpostorsText")); } -void LLFloaterPreference::setMaximumNonImpostorsText(U32 value, LLTextBox* text_box) +void LLFloaterPreferenceGraphicsAdvanced::setMaxNonImpostorsText(U32 value, LLTextBox* text_box) { if (0 == value) { @@ -1836,7 +1856,7 @@ void LLFloaterPreference::setMaximumNonImpostorsText(U32 value, LLTextBox* text_ } } -void LLFloaterPreference::updateMaxComplexity() +void LLFloaterPreferenceGraphicsAdvanced::updateMaxComplexity() { // Called when the IndirectMaxComplexity control changes // Responsible for fixing the slider label (IndirectMaxComplexityText) and setting RenderAvatarMaxComplexity @@ -1862,7 +1882,7 @@ void LLFloaterPreference::updateMaxComplexity() setMaxComplexityText(max_arc, getChild<LLTextBox>("IndirectMaxComplexityText")); } -void LLFloaterPreference::setMaxComplexityText(U32 value, LLTextBox* text_box) +void LLFloaterPreferenceGraphicsAdvanced::setMaxComplexityText(U32 value, LLTextBox* text_box) { if (0 == value) { @@ -1916,6 +1936,11 @@ void LLFloaterPreference::onClickSpellChecker() LLFloaterReg::showInstance("prefs_spellchecker"); } +void LLFloaterPreference::onClickAdvanced() +{ + LLFloaterReg::showInstance("prefs_graphics_advanced"); +} + void LLFloaterPreference::onClickActionChange() { mClickActionDirty = true; @@ -2174,10 +2199,16 @@ void LLPanelPreference::apply() void LLPanelPreference::saveSettings() { + LLFloater* advanced = LLFloaterReg::findTypedInstance<LLFloater>("prefs_graphics_advanced"); + // Save the value of all controls in the hierarchy mSavedValues.clear(); std::list<LLView*> view_stack; view_stack.push_back(this); + if (advanced) + { + view_stack.push_back(advanced); + } while(!view_stack.empty()) { // Process view on top of the stack @@ -2338,6 +2369,9 @@ static LLPanelInjector<LLPanelPreferencePrivacy> t_pref_privacy("panel_preferenc BOOL LLPanelPreferenceGraphics::postBuild() { + LLFloaterReg::showInstance("prefs_graphics_advanced"); + LLFloaterReg::hideInstance("prefs_graphics_advanced"); + // Don't do this on Mac as their braindead GL versioning // sets this when 8x and 16x are indeed available // @@ -2399,8 +2433,13 @@ void LLPanelPreferenceGraphics::setPresetText() bool LLPanelPreferenceGraphics::hasDirtyChilds() { + LLFloater* advanced = LLFloaterReg::findTypedInstance<LLFloater>("prefs_graphics_advanced"); std::list<LLView*> view_stack; view_stack.push_back(this); + if (advanced) + { + view_stack.push_back(advanced); + } while(!view_stack.empty()) { // Process view on top of the stack @@ -2436,8 +2475,13 @@ bool LLPanelPreferenceGraphics::hasDirtyChilds() void LLPanelPreferenceGraphics::resetDirtyChilds() { + LLFloater* advanced = LLFloaterReg::findTypedInstance<LLFloater>("prefs_graphics_advanced"); std::list<LLView*> view_stack; view_stack.push_back(this); + if (advanced) + { + view_stack.push_back(advanced); + } while(!view_stack.empty()) { // Process view on top of the stack @@ -2472,6 +2516,18 @@ void LLPanelPreferenceGraphics::setHardwareDefaults() resetDirtyChilds(); } +LLFloaterPreferenceGraphicsAdvanced::LLFloaterPreferenceGraphicsAdvanced(const LLSD& key) + : LLFloater(key) +{ + mCommitCallbackRegistrar.add("Pref.VertexShaderEnable", boost::bind(&LLFloaterPreferenceGraphicsAdvanced::onVertexShaderEnable, this)); + mCommitCallbackRegistrar.add("Pref.UpdateIndirectMaxNonImpostors", boost::bind(&LLFloaterPreferenceGraphicsAdvanced::updateMaxNonImpostors,this)); + mCommitCallbackRegistrar.add("Pref.UpdateIndirectMaxComplexity", boost::bind(&LLFloaterPreferenceGraphicsAdvanced::updateMaxComplexity,this)); +} + +LLFloaterPreferenceGraphicsAdvanced::~LLFloaterPreferenceGraphicsAdvanced() +{ +} + LLFloaterPreferenceProxy::LLFloaterPreferenceProxy(const LLSD& key) : LLFloater(key), mSocksSettingsDirty(false) diff --git a/indra/newview/llfloaterpreference.h b/indra/newview/llfloaterpreference.h index c23d3a4593..5058e7bb23 100755 --- a/indra/newview/llfloaterpreference.h +++ b/indra/newview/llfloaterpreference.h @@ -124,7 +124,7 @@ protected: void updateClickActionSettings(); // updates click/double-click action controls depending on values from settings.xml void updateClickActionControls(); - + // This function squirrels away the current values of the controls so that // cancel() can restore them. void saveSettings(); @@ -151,21 +151,11 @@ public: void enableHistory(); void setPersonalInfo(const std::string& visibility, bool im_via_email); void refreshEnabledState(); - void disableUnavailableSettings(); void onCommitWindowedMode(); void refresh(); // Refresh enable/disable // if the quality radio buttons are changed void onChangeQuality(const LLSD& data); - void updateSliderText(LLSliderCtrl* ctrl, LLTextBox* text_box); - void updateMaximumNonImpostors(); - void setMaximumNonImpostorsText(U32 value, LLTextBox* text_box); - void updateMaxComplexity(); - void setMaxComplexityText(U32 value, LLTextBox* text_box); - static void setIndirectControls(); - static void setIndirectMaxNonImpostors(); - static void setIndirectMaxArc(); - void refreshUI(); void onCommitParcelMediaAutoPlayEnable(); @@ -179,6 +169,7 @@ public: void onClickPermsDefault(); void onClickAutoReplace(); void onClickSpellChecker(); + void onClickAdvanced(); void applyUIColor(LLUICtrl* ctrl, const LLSD& param); void getUIColor(LLUICtrl* ctrl, const LLSD& param); void onLogChatHistorySaved(); @@ -274,6 +265,29 @@ private: LOG_CLASS(LLPanelPreferenceGraphics); }; +class LLFloaterPreferenceGraphicsAdvanced : public LLFloater +{ +public: + LLFloaterPreferenceGraphicsAdvanced(const LLSD& key); + ~LLFloaterPreferenceGraphicsAdvanced(); + + void disableUnavailableSettings(); + void refreshEnabledGraphics(); + void refreshEnabledState(); + void updateSliderText(LLSliderCtrl* ctrl, LLTextBox* text_box); + void updateMaxNonImpostors(); + void setMaxNonImpostorsText(U32 value, LLTextBox* text_box); + void updateMaxComplexity(); + void setMaxComplexityText(U32 value, LLTextBox* text_box); + static void setIndirectControls(); + static void setIndirectMaxNonImpostors(); + static void setIndirectMaxArc(); + void refresh(); + // callback for when client turns on shaders + void onVertexShaderEnable(); + LOG_CLASS(LLFloaterPreferenceGraphicsAdvanced); +}; + class LLFloaterPreferenceProxy : public LLFloater { public: diff --git a/indra/newview/llpresetsmanager.cpp b/indra/newview/llpresetsmanager.cpp index 205c5e6dfb..9fa5282862 100644 --- a/indra/newview/llpresetsmanager.cpp +++ b/indra/newview/llpresetsmanager.cpp @@ -246,16 +246,19 @@ void LLPresetsManager::loadPreset(const std::string& subdirectory, const std::st bool LLPresetsManager::deletePreset(const std::string& subdirectory, const std::string& name) { + bool sts = true; + if (PRESETS_DEFAULT == name) { + // This code should never execute LL_WARNS("Presets") << "You are not allowed to delete the default preset." << LL_ENDL; - return false; + sts = false; } if (gDirUtilp->deleteFilesInDir(getPresetsDir(subdirectory), LLURI::escape(name) + ".xml") < 1) { LL_WARNS("Presets") << "Error removing preset " << name << " from disk" << LL_ENDL; - return false; + sts = false; } // If you delete the preset that is currently marked as loaded then also indicate that no preset is loaded. @@ -267,7 +270,7 @@ bool LLPresetsManager::deletePreset(const std::string& subdirectory, const std:: // signal interested parties triggerChangeSignal(); - return true; + return sts; } boost::signals2::connection LLPresetsManager::setPresetListChangeCallback(const preset_list_signal_t::slot_type& cb) diff --git a/indra/newview/llviewerfloaterreg.cpp b/indra/newview/llviewerfloaterreg.cpp index 5ab7551849..5143d2c2ff 100755 --- a/indra/newview/llviewerfloaterreg.cpp +++ b/indra/newview/llviewerfloaterreg.cpp @@ -274,6 +274,7 @@ void LLViewerFloaterReg::registerFloaters() LLFloaterReg::add("perms_default", "floater_perms_default.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterPermsDefault>); LLFloaterReg::add("places", "floater_places.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterSidePanelContainer>); LLFloaterReg::add("preferences", "floater_preferences.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterPreference>); + LLFloaterReg::add("prefs_graphics_advanced", "floater_preferences_graphics_advanced.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterPreferenceGraphicsAdvanced>); LLFloaterReg::add("prefs_proxy", "floater_preferences_proxy.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterPreferenceProxy>); LLFloaterReg::add("prefs_spellchecker_import", "floater_spellcheck_import.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterSpellCheckerImport>); LLFloaterReg::add("prefs_translation", "floater_translation_settings.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterTranslationSettings>); diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp index b63222590d..57c1643b8d 100755 --- a/indra/newview/llviewerwindow.cpp +++ b/indra/newview/llviewerwindow.cpp @@ -677,7 +677,7 @@ public: { LLVOAvatar* avatar = av_iter->second; - avatar->calculateUpdateRenderCost(); // Make sure the numbers are up-to-date + avatar->calculateUpdateRenderComplexity(); // Make sure the numbers are up-to-date trunc_name = utf8str_truncate(avatar->getFullname(), 16); addText(xpos, ypos, llformat("%s : rez %d, weight %d, bytes %d area %.2f", diff --git a/indra/newview/llvoavatar.cpp b/indra/newview/llvoavatar.cpp index 8136bd3a32..85c60a74cc 100755 --- a/indra/newview/llvoavatar.cpp +++ b/indra/newview/llvoavatar.cpp @@ -2135,7 +2135,7 @@ void LLVOAvatar::idleUpdate(LLAgent &agent, const F64 &time) } idleUpdateNameTag( root_pos_last ); - idleUpdateRenderCost(); + idleUpdateRenderComplexity(); } void LLVOAvatar::idleUpdateVoiceVisualizer(bool voice_enabled) @@ -8047,7 +8047,7 @@ void LLVOAvatar::updateImpostorRendering(U32 newMaxNonImpostorsValue) } -void LLVOAvatar::idleUpdateRenderCost() +void LLVOAvatar::idleUpdateRenderComplexity() { if (gPipeline.hasRenderDebugMask(LLPipeline::RENDER_DEBUG_AVATAR_DRAW_INFO)) { @@ -8072,11 +8072,11 @@ void LLVOAvatar::idleUpdateRenderCost() * controls muting MUST match that in the isVisuallyMuted method. */ - // Render Cost (ARC) - calculateUpdateRenderCost(); // Update mVisualComplexity if needed + // Render Complexity + calculateUpdateRenderComplexity(); // Update mVisualComplexity if needed static LLCachedControl<U32> max_render_cost(gSavedSettings, "RenderAvatarMaxComplexity", 0); - info_line = llformat("%d ARC", mVisualComplexity); + info_line = llformat("%d Complexity", mVisualComplexity); if (max_render_cost != 0) // zero means don't care, so don't bother coloring based on this { @@ -8144,9 +8144,9 @@ void LLVOAvatar::idleUpdateRenderCost() // Calculations for mVisualComplexity value -void LLVOAvatar::calculateUpdateRenderCost() +void LLVOAvatar::calculateUpdateRenderComplexity() { - static const U32 ARC_BODY_PART_COST = 200; + static const U32 COMPLEXITY_BODY_PART_COST = 200; // Diagnostic list of all textures on our avatar static std::set<LLUUID> all_textures; @@ -8166,7 +8166,7 @@ void LLVOAvatar::calculateUpdateRenderCost() { if (isTextureVisible(tex_index)) { - cost +=ARC_BODY_PART_COST; + cost +=COMPLEXITY_BODY_PART_COST; } } } diff --git a/indra/newview/llvoavatar.h b/indra/newview/llvoavatar.h index e3b7f1b6a7..d09aaffd87 100755 --- a/indra/newview/llvoavatar.h +++ b/indra/newview/llvoavatar.h @@ -250,8 +250,8 @@ public: // force all name tags to rebuild, useful when display names turned on/off static void invalidateNameTags(); void addNameTagLine(const std::string& line, const LLColor4& color, S32 style, const LLFontGL* font); - void idleUpdateRenderCost(); - void calculateUpdateRenderCost(); + void idleUpdateRenderComplexity(); + void calculateUpdateRenderComplexity(); void updateVisualComplexity() { mVisualComplexityStale = TRUE; } S32 getVisualComplexity() { return mVisualComplexity; }; // Numbers calculated here by rendering AV diff --git a/indra/newview/skins/default/xui/en/floater_hardware_settings.xml b/indra/newview/skins/default/xui/en/floater_hardware_settings.xml deleted file mode 100755 index 9deb0d2030..0000000000 --- a/indra/newview/skins/default/xui/en/floater_hardware_settings.xml +++ /dev/null @@ -1,198 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<floater - legacy_header_height="18" - height="224" - layout="topleft" - name="Hardware Settings Floater" - help_topic="hardware_settings_floater" - title="HARDWARE SETTINGS" - width="615"> - <text - type="string" - length="1" - follows="left|top" - height="12" - layout="topleft" - left="10" - name="Filtering:" - top="20" - width="188"> - Filtering: - </text> - <check_box - control_name="RenderAnisotropic" - height="16" - label="Anisotropic Filtering (slower when enabled)" - layout="topleft" - left_pad="10" - name="ani" - top_delta="0" - width="256" /> - <text - type="string" - length="1" - follows="left|top" - height="12" - layout="topleft" - left="10" - name="antialiasing label" - top_pad="7" - width="188"> - Antialiasing: - </text> - <combo_box - control_name="RenderFSAASamples" - height="22" - initial_value="false" - label="Antialiasing" - layout="topleft" - left_pad="10" - name="fsaa" - top_delta="0" - width="130"> - <combo_box.item - label="Disabled" - name="FSAADisabled" - value="0" /> - <combo_box.item - label="2x" - name="2x" - value="2" /> - <combo_box.item - label="4x" - name="4x" - value="4" /> - <combo_box.item - label="8x" - name="8x" - value="8" /> - <combo_box.item - label="16x" - name="16x" - value="16" /> - </combo_box> - <text - type="string" - length="1" - follows="left|top" - height="12" - layout="topleft" - left_pad="10" - name="antialiasing restart" - top_delta="0" - width="230"> - (requires viewer restart) - </text> - <spinner - control_name="RenderGamma" - decimal_digits="2" - follows="left|top" - height="16" - increment="0.01" - initial_value="1" - label="Gamma:" - label_width="198" - layout="topleft" - left="10" - max_val="2" - name="gamma" - top_pad="11" - width="262" /> - <text - type="string" - length="1" - follows="left|top" - height="12" - layout="topleft" - left_pad="10" - name="(brightness, lower is brighter)" - top_delta="2" - width="385"> - (0 = default brightness, lower = brighter) - </text> - <text - type="string" - length="1" - follows="left|top" - height="16" - layout="topleft" - left="10" - name="Enable VBO:" - top_pad="10" - width="188"> - Enable VBO: - </text> - <check_box - control_name="RenderVBOEnable" - height="16" - initial_value="true" - label="Enable OpenGL Vertex Buffer Objects" - layout="topleft" - left_pad="10" - name="vbo" - tool_tip="Enabling this on modern hardware gives a performance gain. However, older hardware often has poor implementations of VBOs and you may get crashes when this is enabled." - width="315" /> - <text - type="string" - length="1" - follows="left|top" - height="16" - layout="topleft" - left="10" - name="tc label" - top_pad="10" - width="188"> - Enable S3TC: - </text> - <check_box - control_name="RenderCompressTextures" - height="16" - initial_value="true" - label="Enable Texture Compression (requires restart)" - layout="topleft" - left_pad="10" - name="texture compression" - tool_tip="Compresses textures in video memory, allowing for higher resolution textures to be loaded at the cost of some color quality." - width="315" /> - <slider - control_name="TextureMemory" - decimal_digits="0" - follows="left|top" - height="20" - increment="16" - initial_value="32" - label="Texture Memory (MB):" - label_width="195" - layout="topleft" - left="10" - max_val="4096" - name="GraphicsCardTextureMemory" - tool_tip="Amount of memory to allocate for textures. Defaults to video card memory. Reducing this may improve performance but may also make textures blurry." - top_pad="10" - width="360" /> - <spinner - control_name="RenderFogRatio" - decimal_digits="1" - follows="left|top" - height="22" - initial_value="4" - label="Fog Distance Ratio:" - label_width="198" - layout="topleft" - left_delta="0" - max_val="10" - min_val="0.5" - name="fog" - top_pad="7" - width="262" /> - <button - follows="right|bottom" - height="22" - label="OK" - label_selected="OK" - layout="topleft" - left="-102" - name="OK" - top="192" - width="90" /> -</floater> diff --git a/indra/newview/skins/default/xui/en/floater_preferences_graphics_advanced.xml b/indra/newview/skins/default/xui/en/floater_preferences_graphics_advanced.xml new file mode 100644 index 0000000000..9d8f2215aa --- /dev/null +++ b/indra/newview/skins/default/xui/en/floater_preferences_graphics_advanced.xml @@ -0,0 +1,862 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<floater + height="680" + layout="topleft" + name="prefs_graphics_advanced" + help_topic="Preferences_Graphics_Advanced" + single_instance="true" + save_rect="true" + title="ADVANCED GRAPHICS PREFERENCES" + width="400"> + +<!-- This block shows Advanced Settings --> + + <button + follows="top|left" + height="23" + label="Reset all to recommended settings" + layout="topleft" + left="10" + name="Defaults" + top="5" + width="250"> + <button.commit_callback + function="Pref.HardwareDefaults" /> + </button> + + <text + type="string" + length="1" + follows="left|top" + height="16" + layout="topleft" + name="GeneralText" + top_delta="35" + left="10" + width="128"> + General + </text> + + <slider + control_name="RenderFarClip" + decimal_digits="0" + follows="left|top" + height="16" + increment="8" + initial_value="160" + label="Draw distance:" + label_width="185" + layout="topleft" + left="30" + min_val="64" + max_val="512" + name="DrawDistance" + top_delta="16" + width="330" /> + <text + type="string" + length="1" + follows="left|top" + height="16" + layout="topleft" + name="DrawDistanceMeterText2" + top_delta="0" + left_delta="330" + width="20"> + m + </text> + + <slider + control_name="RenderMaxPartCount" + decimal_digits="0" + follows="left|top" + height="16" + increment="256" + initial_value="4096" + label="Max. particle count:" + label_width="185" + layout="topleft" + left="30" + max_val="8192" + name="MaxParticleCount" + top_delta="16" + width="336" /> + + <slider + control_name="RenderGlowResolutionPow" + decimal_digits="0" + follows="left|top" + height="16" + increment="1" + initial_value="8" + label="Post process quality:" + label_width="185" + layout="topleft" + left="30" + min_val="8" + max_val="9" + name="RenderPostProcess" + show_text="false" + top_delta="16" + width="300"> + <slider.commit_callback + function="Pref.UpdateSliderText" + parameter="PostProcessText" /> + </slider> + <text + type="string" + length="1" + follows="left|top" + height="16" + layout="topleft" + name="PostProcessText" + top_delta="0" + left_delta="304" + width="65"> + Low + </text> + + <text + type="string" + length="1" + follows="left|top" + height="16" + layout="topleft" + name="AvatarText" + top_delta="20" + left="10" + width="128"> + Avatar + </text> + + <slider + control_name="IndirectMaxComplexity" + follows="left|top" + height="16" + initial_value="101" + increment="1" + label="Maximum Complexity:" + label_width="185" + layout="topleft" + left="30" + min_val="1" + max_val="101" + name="IndirectMaxComplexity" + show_text="false" + top_delta="16" + width="300"> + <slider.commit_callback + function="Pref.UpdateIndirectMaxComplexity" + parameter="IndirectMaxComlexityText" /> + </slider> + <text + type="string" + length="1" + follows="left|top" + height="16" + layout="topleft" + top_delta="0" + left_delta="304" + text_readonly_color="LabelDisabledColor" + name="IndirectMaxComplexityText" + width="65"> + 0 + </text> + + <slider + control_name="IndirectMaxNonImpostors" + decimal_digits="0" + follows="left|top" + height="16" + increment="1" + initial_value="12" + label="Max. # of non-impostors:" + label_width="185" + layout="topleft" + left="30" + min_val="1" + max_val="66" + name="IndirectMaxNonImpostors" + show_text="false" + top_delta="16" + width="300"> + <slider.commit_callback + function="Pref.UpdateIndirectMaxNonImpostors" + parameter="IndirectNonImpostorsText" /> + </slider> + <text + type="string" + length="1" + follows="left|top" + height="16" + layout="topleft" + top_delta="0" + left_delta="304" + text_readonly_color="LabelDisabledColor" + name="IndirectMaxNonImpostorsText" + width="65"> + 0 + </text> + + <slider + control_name="RenderAvatarLODFactor" + follows="left|top" + height="16" + increment="0.125" + initial_value="160" + label="Detail:" + label_width="185" + layout="topleft" + left="30" + name="AvatarMeshDetail" + show_text="false" + top_delta="16" + width="300"> + <slider.commit_callback + function="Pref.UpdateSliderText" + parameter="AvatarMeshDetailText" /> + </slider> + <text + type="string" + length="1" + follows="left|top" + height="16" + layout="topleft" + name="AvatarMeshDetailText" + top_delta="0" + left_delta="304" + width="65"> + Low + </text> + + <slider + control_name="RenderAvatarPhysicsLODFactor" + follows="left|top" + height="16" + initial_value="100" + increment=".05" + label="Physics:" + label_width="185" + layout="topleft" + left="30" + name="AvatarPhysicsDetail" + show_text="false" + top_delta="16" + width="300"> + <slider.commit_callback + function="Pref.UpdateSliderText" + parameter="AvatarPhysicsDetailText" /> + </slider> + <text + type="string" + length="1" + follows="left|top" + height="16" + layout="topleft" + top_delta="0" + left_delta="304" + name="AvatarPhysicsDetailText" + width="65"> + Low + </text> + + <text + type="string" + length="1" + follows="left|top" + height="16" + layout="topleft" + name="ShadersText" + top_delta="20" + left="10" + width="128"> + Shaders + </text> + + <check_box + control_name="RenderTransparentWater" + height="16" + initial_value="true" + label="Transparent Water" + layout="topleft" + left="30" + name="TransparentWater" + top_delta="16" + width="300" /> + + <check_box + control_name="RenderObjectBump" + height="16" + initial_value="true" + label="Bump mapping and shiny" + layout="topleft" + left="30" + name="BumpShiny" + top_delta="16" + width="300"> + <check_box.commit_callback + function="Pref.VertexShaderEnable" /> + </check_box> + + <check_box + control_name="RenderLocalLights" + height="16" + initial_value="true" + label="Local Lights" + layout="topleft" + left="30" + name="LocalLights" + top_delta="16" + width="300" /> + + <check_box + control_name="VertexShaderEnable" + height="16" + initial_value="true" + label="Basic shaders" + layout="topleft" + left="30" + name="BasicShaders" + tool_tip="Disabling this option may prevent some graphics card drivers from crashing" + top_delta="16" + width="300"> + <check_box.commit_callback + function="Pref.VertexShaderEnable" /> + </check_box> + + <slider + control_name="RenderTerrainDetail" + follows="left|top" + height="16" + label="Terrain Detail:" + label_width="165" + layout="topleft" + left="50" + show_text="false" + initial_value="0" + increment="1" + min_val="0" + max_val="1" + name="TerrainDetail" + top_delta="16" + width="280" > + <slider.commit_callback + function="Pref.UpdateSliderText" + parameter="TerrainDetail" /> + </slider> + <text + type="string" + length="1" + follows="left|top" + height="16" + layout="topleft" + top_delta="0" + left_delta="284" + name="TerrainDetailText" + text_readonly_color="LabelDisabledColor" + width="65"> + Low + </text> + + <check_box + control_name="RenderAvatarVP" + height="16" + initial_value="true" + label="Avatar Hardware skinning" + layout="topleft" + left="50" + name="AvatarVertexProgram" + top_delta="16" + width="280"> + <check_box.commit_callback + function="Pref.VertexShaderEnable" /> + </check_box> + + <check_box + control_name="RenderAvatarCloth" + height="16" + initial_value="true" + label="Avatar cloth" + layout="topleft" + left="50" + name="AvatarCloth" + top_delta="16" + width="280" /> + + <text + type="string" + length="1" + follows="left|top" + height="16" + layout="topleft" + name="ReflectionsText" + text_readonly_color="LabelDisabledColor" + top_delta="16" + left="50" + width="128"> + Water Reflections: + </text> + <combo_box + control_name="RenderReflectionDetail" + height="18" + layout="topleft" + left_delta="170" + top_delta="0" + name="Reflections" + width="150"> + <combo_box.item + label="Minimal" + name="0" + value="0"/> + <combo_box.item + label="Terrain and trees" + name="1" + value="1"/> + <combo_box.item + label="All static objects" + name="2" + value="2"/> + <combo_box.item + label="All avatars and objects" + name="3" + value="3"/> + <combo_box.item + label="Everything" + name="4" + value="4"/> + </combo_box> + + <check_box + control_name="WindLightUseAtmosShaders" + height="16" + initial_value="true" + label="Atmospheric shaders" + layout="topleft" + left="50" + name="WindLightUseAtmosShaders" + top_delta="16" + width="280"> + <check_box.commit_callback + function="Pref.VertexShaderEnable" /> + </check_box> + + <slider + control_name="WLSkyDetail" + decimal_digits="0" + follows="left|top" + height="16" + increment="8" + initial_value="160" + label="Sky:" + label_width="145" + layout="topleft" + left="70" + min_val="16" + max_val="128" + name="SkyMeshDetail" + show_text="false" + top_delta="16" + width="260"> + <slider.commit_callback + function="Pref.UpdateSliderText" + parameter="SkyMeshDetailText" /> + </slider> + <text + type="string" + length="1" + follows="left|top" + height="16" + layout="topleft" + left_delta="264" + name="SkyMeshDetailText" + text_readonly_color="LabelDisabledColor" + top_delta="0" + width="65"> + Low + </text> + + <check_box + control_name="RenderDeferred" + height="16" + initial_value="true" + label="Advanced Lighting Model" + layout="topleft" + left="70" + name="UseLightShaders" + top_delta="16" + width="260"> + <check_box.commit_callback + function="Pref.VertexShaderEnable" /> + </check_box> + + <check_box + control_name="RenderDeferredSSAO" + height="16" + initial_value="true" + label="Ambient Occlusion" + layout="topleft" + left="90" + name="UseSSAO" + top_delta="16" + width="240"> + <check_box.commit_callback + function="Pref.VertexShaderEnable" /> + </check_box> + + <check_box + control_name="RenderDepthOfField" + height="16" + initial_value="true" + label="Depth of Field" + layout="topleft" + left="90" + name="UseDoF" + top_delta="16" + width="240"> + <check_box.commit_callback + function="Pref.VertexShaderEnable" /> + </check_box> + + <text + type="string" + length="1" + follows="left|top" + height="16" + layout="topleft" + left="90" + name="RenderShadowDetailText" + text_readonly_color="LabelDisabledColor" + top_delta="16" + width="128"> + Shadows: + </text> + <combo_box + control_name="RenderShadowDetail" + height="18" + layout="topleft" + left_delta="130" + top_delta="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" + follows="left|top" + height="16" + layout="topleft" + name="AvatarText" + top_delta="20" + left="10" + width="128"> + Mesh + </text> + + <slider + control_name="RenderTerrainLODFactor" + follows="left|top" + height="16" + increment="0.125" + initial_value="160" + label="Terrain Mesh Detail:" + label_width="185" + layout="topleft" + left="30" + min_val="1" + max_val="2" + name="TerrainMeshDetail" + show_text="false" + top_delta="16" + width="300"> + <slider.commit_callback + function="Pref.UpdateSliderText" + parameter="TerrainMeshDetailText" /> + </slider> + <text + type="string" + length="1" + follows="left|top" + height="16" + layout="topleft" + name="TerrainMeshDetailText" + text_readonly_color="LabelDisabledColor" + top_delta="0" + left_delta="304" + width="65"> + Low + </text> + + <slider + control_name="RenderTreeLODFactor" + follows="left|top" + height="16" + increment="0.125" + initial_value="160" + label="Trees:" + label_width="185" + layout="topleft" + left="30" + name="TreeMeshDetail" + show_text="false" + top_delta="16" + width="300"> + <slider.commit_callback + function="Pref.UpdateSliderText" + parameter="TreeMeshDetailText" /> + </slider> + <text + type="string" + length="1" + follows="left|top" + height="16" + layout="topleft" + name="TreeMeshDetailText" + top_delta="0" + left_delta="304" + width="65"> + Low + </text> + + <slider + control_name="RenderVolumeLODFactor" + follows="left|top" + height="16" + increment="0.125" + initial_value="160" + label="Objects:" + label_width="185" + layout="topleft" + left="30" + max_val="2" + name="ObjectMeshDetail" + show_text="false" + top_delta="16" + width="300"> + <slider.commit_callback + function="Pref.UpdateSliderText" + parameter="ObjectMeshDetailText" /> + </slider> + <text + type="string" + length="1" + follows="left|top" + height="16" + layout="topleft" + name="ObjectMeshDetailText" + top_delta="0" + left_delta="304" + width="65"> + Low + </text> + + <slider + control_name="RenderFlexTimeFactor" + follows="left|top" + height="16" + initial_value="160" + label="Flexiprims:" + label_width="185" + layout="topleft" + left="30" + name="FlexibleMeshDetail" + show_text="false" + top_delta="16" + width="300"> + <slider.commit_callback + function="Pref.UpdateSliderText" + parameter="FlexibleMeshDetailText" /> + </slider> + <text + type="string" + length="1" + follows="left|top" + height="16" + layout="topleft" + name="FlexibleMeshDetailText" + top_delta="0" + left_delta="304" + width="65"> + Low + </text> + + <text + type="string" + length="1" + follows="left|top" + height="16" + layout="topleft" + name="ShadersText" + top_delta="20" + left="10" + width="128"> + Hardware + </text> + + <slider + control_name="TextureMemory" + decimal_digits="0" + follows="left|top" + height="16" + increment="16" + initial_value="32" + label="Texture Memory (MB):" + label_width="185" + layout="topleft" + left="30" + max_val="4096" + name="GraphicsCardTextureMemory" + tool_tip="Amount of memory to allocate for textures. Defaults to video card memory. Reducing this may improve performance but may also make textures blurry." + top_delta="16" + width="335" /> + + <slider + control_name="RenderFogRatio" + follows="left|top" + height="16" + initial_value="4" + decimal_digits="1" + label="Fog Distance Ratio:" + label_width="185" + layout="topleft" + left="30" + name="fog" + min_val="0.5" + max_val="10" + increment="0.1" + top_delta="16" + width="332" /> + + <slider + control_name="RenderGamma" + follows="left|top" + height="16" + initial_value="1" + decimal_digits="2" + label="Gamma:" + label_width="185" + layout="topleft" + left="30" + name="gamma" + min_val="0" + max_val="2" + increment="0.01" + top_delta="16" + width="332" /> + <text + type="string" + length="1" + follows="left|top" + height="16" + layout="topleft" + left="30" + name="(brightness, lower is brighter)" + top_delta="16" + width="260"> + (0 = default brightness, lower = brighter) + </text> + + <check_box + control_name="RenderAnisotropic" + height="16" + label="Anisotropic Filtering (slower when enabled)" + layout="topleft" + left="30" + name="ani" + top_delta="16" + width="256" /> + + <check_box + control_name="RenderVBOEnable" + height="16" + initial_value="true" + label="Enable OpenGL Vertex Buffer Objects" + layout="topleft" + left="30" + top_delta="16" + name="vbo" + tool_tip="Enabling this on modern hardware gives a performance gain. However, older hardware often has poor implementations of VBOs and you may get crashes when this is enabled." + width="315" /> + + <check_box + control_name="RenderCompressTextures" + height="16" + initial_value="true" + label="Enable Texture Compression (requires restart)" + layout="topleft" + left="30" + top_delta="16" + name="texture compression" + tool_tip="Compresses textures in video memory, allowing for higher resolution textures to be loaded at the cost of some color quality." + width="315" /> + + <text + type="string" + length="1" + follows="left|top" + height="20" + layout="topleft" + left="30" + name="antialiasing label" + top_delta="20" + width="100"> + Antialiasing: + </text> + <combo_box + control_name="RenderFSAASamples" + height="20" + initial_value="false" + label="Antialiasing" + layout="topleft" + left_pad="40" + name="fsaa" + top_delta="0" + width="90"> + <combo_box.item + label="Disabled" + name="FSAADisabled" + value="0" /> + <combo_box.item + label="2x" + name="2x" + value="2" /> + <combo_box.item + label="4x" + name="4x" + value="4" /> + <combo_box.item + label="8x" + name="8x" + value="8" /> + <combo_box.item + label="16x" + name="16x" + value="16" /> + </combo_box> + <text + type="string" + length="1" + follows="left|top" + height="16" + layout="topleft" + left_pad="10" + name="antialiasing restart" + top_delta="0" + width="130"> + (requires restart) + </text> +<!-- End of Advanced Settings block --> + +</floater> diff --git a/indra/newview/skins/default/xui/en/panel_preferences_graphics1.xml b/indra/newview/skins/default/xui/en/panel_preferences_graphics1.xml index 8634b5fed2..5d4bfdd17f 100755 --- a/indra/newview/skins/default/xui/en/panel_preferences_graphics1.xml +++ b/indra/newview/skins/default/xui/en/panel_preferences_graphics1.xml @@ -10,7 +10,6 @@ top="1" width="517"> -<!-- This block is always displayed --> <text follows="top|left|right" height="16" @@ -229,1002 +228,105 @@ function="Pref.QualityPerformance"/> </slider> -<!--End of block that is always displayed --> - - <tab_container - follows="left|top" - layout="topleft" - height="385" - halign="center" - left="0" - name="PreferencesGraphicsTabs" - tab_max_width="300" - tab_min_width="40" - tab_position="top" - tab_height="25" - top="85" - width="517"> - <!-- This block shows Basic Settings --> - <panel - border="false" - follows="all" - label="BASIC" - layout="topleft" - mouse_opaque="false" - name="Basic" - top="10" - width="517"> - - <button - follows="top|left" - height="23" - label="Reset all to recommended settings" - layout="topleft" - left="5" - name="Defaults" - top_delta="5" - width="250"> - <button.commit_callback - function="Pref.HardwareDefaults" /> - </button> - <slider - control_name="RenderFarClip" - decimal_digits="0" - follows="left|top" - height="16" - increment="8" - initial_value="160" - label="Draw distance:" - label_width="90" - layout="topleft" - left="30" - min_val="64" - max_val="512" - name="DrawDistance" - top_delta="40" - width="330" /> - <text - type="string" - length="1" - follows="left|top" - height="12" - layout="topleft" - left_delta="330" - name="DrawDistanceMeterText2" - top_delta="0" - width="128"> - m - </text> + <button + follows="top|left" + height="23" + label="Reset all to recommended settings" + layout="topleft" + left="5" + name="Defaults" + top_delta="30" + width="250"> + <button.commit_callback + function="Pref.HardwareDefaults" /> + </button> - <check_box - control_name="WindLightUseAtmosShaders" - height="16" - initial_value="true" - label="Atmospheric shaders" - layout="topleft" - left="30" - name="WindLightUseAtmosShaders" - top_delta="20" - width="280"> - <check_box.commit_callback - function="Pref.VertexShaderEnable" /> - </check_box> + <slider + control_name="RenderFarClip" + decimal_digits="0" + follows="left|top" + height="16" + increment="8" + initial_value="160" + label="Draw distance:" + label_width="90" + layout="topleft" + left="30" + min_val="64" + max_val="512" + name="DrawDistance" + top_delta="40" + width="330" /> + <text + type="string" + length="1" + follows="left|top" + height="12" + layout="topleft" + left_delta="330" + name="DrawDistanceMeterText2" + top_delta="0" + width="128"> + m + </text> - <check_box - control_name="RenderDeferred" - height="16" - initial_value="true" - label="Advanced Lighting Model" - layout="topleft" - left="50" - name="UseLightShaders" - top_delta="20" - width="256"> - <check_box.commit_callback - function="Pref.VertexShaderEnable" /> - </check_box> + <check_box + control_name="WindLightUseAtmosShaders" + height="16" + initial_value="true" + label="Atmospheric shaders" + layout="topleft" + left="30" + name="WindLightUseAtmosShaders" + top_delta="20" + width="280"> + <check_box.commit_callback + function="Pref.VertexShaderEnable" /> + </check_box> + + <check_box + control_name="RenderDeferred" + height="16" + initial_value="true" + label="Advanced Lighting Model" + layout="topleft" + left="50" + name="UseLightShaders" + top_delta="20" + width="256"> + <check_box.commit_callback + function="Pref.VertexShaderEnable" /> + </check_box> - </panel> <!-- End of Basic Settings block --> -<!-- This block shows Advanced Settings --> - <panel - border="false" - follows="all" - label="ADVANCED" - layout="topleft" - mouse_opaque="false" - name="Advanced" - top_delta="10" - width="517"> - - <scroll_container - follows="top|left" - height="255" - label="CustomGraphics" - layout="topleft" - left="5" - name="CustomGraphics Scroll" - reserve_scroll_corner="true" - top_delta="20" - width="500"> - - <panel - border="false" - follows="top|left" - height="700" - label="CustomGraphics" - layout="topleft" - left="5" - name="Advanced Panel" - top_delta="0" - width="485"> - - <button - follows="top|left" - height="23" - label="Reset all to recommended settings" - layout="topleft" - left="0" - name="Defaults" - top="0" - width="250"> - <button.commit_callback - function="Pref.HardwareDefaults" /> - </button> - - <text - type="string" - length="1" - follows="left|top" - height="16" - layout="topleft" - name="GeneralText" - top_delta="25" - left="5" - width="128"> - General - </text> - - <slider - control_name="RenderFarClip" - decimal_digits="0" - follows="left|top" - height="16" - increment="8" - initial_value="160" - label="Draw distance:" - label_width="185" - layout="topleft" - left="30" - min_val="64" - max_val="512" - name="DrawDistance" - top_delta="16" - width="330" /> - <text - type="string" - length="1" - follows="left|top" - height="16" - layout="topleft" - name="DrawDistanceMeterText2" - top_delta="0" - left_delta="330" - width="102"> - m - </text> - - <slider - control_name="RenderMaxPartCount" - decimal_digits="0" - follows="left|top" - height="16" - increment="256" - initial_value="4096" - label="Max. particle count:" - label_width="185" - layout="topleft" - left="30" - max_val="8192" - name="MaxParticleCount" - top_delta="16" - width="336" /> - - <slider - control_name="RenderGlowResolutionPow" - decimal_digits="0" - follows="left|top" - height="16" - increment="1" - initial_value="8" - label="Post process quality:" - label_width="185" - layout="topleft" - left="30" - min_val="8" - max_val="9" - name="RenderPostProcess" - show_text="false" - top_delta="16" - width="300"> - <slider.commit_callback - function="Pref.UpdateSliderText" - parameter="PostProcessText" /> - </slider> - <text - type="string" - length="1" - follows="left|top" - height="16" - layout="topleft" - name="PostProcessText" - top_delta="0" - left_delta="304" - width="128"> - Low - </text> - - <text - type="string" - length="1" - follows="left|top" - height="16" - layout="topleft" - name="AvatarText" - top_delta="20" - left="5" - width="128"> - Avatar - </text> - - <slider - control_name="IndirectMaxComplexity" - follows="left|top" - height="16" - initial_value="101" - increment="1" - label="Maximum ARC:" - label_width="185" - layout="topleft" - left="30" - min_val="1" - max_val="101" - name="IndirectMaxComplexity" - show_text="false" - top_delta="16" - width="300"> - <slider.commit_callback - function="Pref.UpdateIndirectMaxComplexity" - parameter="IndirectMaxComplexityText" /> - </slider> - <text - type="string" - length="1" - follows="left|top" - height="16" - layout="topleft" - top_delta="0" - left_delta="304" - text_readonly_color="LabelDisabledColor" - name="IndirectMaxComplexityText" - width="128"> - 0 - </text> - - <slider - control_name="IndirectMaxNonImpostors" - decimal_digits="0" - follows="left|top" - height="16" - increment="1" - initial_value="0" - label="Max. # of non-impostors:" - label_width="185" - layout="topleft" - left="30" - min_val="1" - max_val="66" - name="IndirectMaxNonImpostors" - show_text="false" - top_delta="16" - width="300"> - <slider.commit_callback - function="Pref.UpdateIndirectMaxNonImpostors" - parameter="IndirectMaxNonImpostorsText" /> - </slider> - <text - type="string" - length="1" - follows="left|top" - height="16" - layout="topleft" - top_delta="0" - left_delta="304" - text_readonly_color="LabelDisabledColor" - name="IndirectMaxNonImpostorsText" - width="128"> - No Limit - </text> - - <slider - control_name="RenderAvatarLODFactor" - follows="left|top" - height="16" - increment="0.125" - initial_value="160" - label="Detail:" - label_width="185" - layout="topleft" - left="30" - name="AvatarMeshDetail" - show_text="false" - top_delta="16" - width="300"> - <slider.commit_callback - function="Pref.UpdateSliderText" - parameter="AvatarMeshDetailText" /> - </slider> - <text - type="string" - length="1" - follows="left|top" - height="16" - layout="topleft" - name="AvatarMeshDetailText" - top_delta="0" - left_delta="304" - width="128"> - Low - </text> - - <slider - control_name="RenderAvatarPhysicsLODFactor" - follows="left|top" - height="16" - initial_value="100" - increment=".05" - label="Physics:" - label_width="185" - layout="topleft" - left="30" - name="AvatarPhysicsDetail" - show_text="false" - top_delta="16" - width="300"> - <slider.commit_callback - function="Pref.UpdateSliderText" - parameter="AvatarPhysicsDetailText" /> - </slider> - <text - type="string" - length="1" - follows="left|top" - height="16" - layout="topleft" - top_delta="0" - left_delta="304" - name="AvatarPhysicsDetailText" - width="128"> - Low - </text> - - <text - type="string" - length="1" - follows="left|top" - height="16" - layout="topleft" - name="ShadersText" - top_delta="20" - left="5" - width="128"> - Shaders - </text> - - <check_box - control_name="RenderTransparentWater" - height="16" - initial_value="true" - label="Transparent Water" - layout="topleft" - left="30" - name="TransparentWater" - top_delta="16" - width="300" /> - - <check_box - control_name="RenderObjectBump" - height="16" - initial_value="true" - label="Bump mapping and shiny" - layout="topleft" - left="30" - name="BumpShiny" - top_delta="16" - width="300"> - <check_box.commit_callback - function="Pref.VertexShaderEnable" /> - </check_box> - - <check_box - control_name="RenderLocalLights" - height="16" - initial_value="true" - label="Local Lights" - layout="topleft" - left="30" - name="LocalLights" - top_delta="16" - width="300" /> - - <check_box - control_name="VertexShaderEnable" - height="16" - initial_value="true" - label="Basic shaders" - layout="topleft" - left="30" - name="BasicShaders" - tool_tip="Disabling this option may prevent some graphics card drivers from crashing" - top_delta="16" - width="300"> - <check_box.commit_callback - function="Pref.VertexShaderEnable" /> - </check_box> - - <slider - control_name="RenderTerrainDetail" - follows="left|top" - height="16" - label="Terrain Detail:" - label_width="165" - layout="topleft" - left="50" - show_text="false" - initial_value="0" - increment="1" - min_val="0" - max_val="1" - name="TerrainDetail" - top_delta="16" - width="280" > - <slider.commit_callback - function="Pref.UpdateSliderText" - parameter="TerrainDetail" /> - </slider> - <text - type="string" - length="1" - follows="left|top" - height="16" - layout="topleft" - top_delta="0" - left_delta="284" - name="TerrainDetailText" - text_readonly_color="LabelDisabledColor" - width="128"> - Low - </text> - - <check_box - control_name="RenderAvatarVP" - height="16" - initial_value="true" - label="Avatar Hardware skinning" - layout="topleft" - left="50" - name="AvatarVertexProgram" - top_delta="16" - width="280"> - <check_box.commit_callback - function="Pref.VertexShaderEnable" /> - </check_box> - - <check_box - control_name="RenderAvatarCloth" - height="16" - initial_value="true" - label="Avatar cloth" - layout="topleft" - left="50" - name="AvatarCloth" - top_delta="16" - width="280" /> - - <text - type="string" - length="1" - follows="left|top" - height="16" - layout="topleft" - name="ReflectionsText" - text_readonly_color="LabelDisabledColor" - top_delta="16" - left="50" - width="128"> - Water Reflections: - </text> - <combo_box - control_name="RenderReflectionDetail" - height="18" - layout="topleft" - left_delta="170" - top_delta="0" - name="Reflections" - width="150"> - <combo_box.item - label="Minimal" - name="0" - value="0"/> - <combo_box.item - label="Terrain and trees" - name="1" - value="1"/> - <combo_box.item - label="All static objects" - name="2" - value="2"/> - <combo_box.item - label="All avatars and objects" - name="3" - value="3"/> - <combo_box.item - label="Everything" - name="4" - value="4"/> - </combo_box> - - <check_box - control_name="WindLightUseAtmosShaders" - height="16" - initial_value="true" - label="Atmospheric shaders" - layout="topleft" - left="50" - name="WindLightUseAtmosShaders2" - top_delta="16" - width="280"> - <check_box.commit_callback - function="Pref.VertexShaderEnable" /> - </check_box> - - <slider - control_name="WLSkyDetail" - decimal_digits="0" - follows="left|top" - height="16" - increment="8" - initial_value="160" - label="Sky:" - label_width="145" - layout="topleft" - left="70" - min_val="16" - max_val="128" - name="SkyMeshDetail" - show_text="false" - top_delta="16" - width="260"> - <slider.commit_callback - function="Pref.UpdateSliderText" - parameter="SkyMeshDetailText" /> - </slider> - <text - type="string" - length="1" - follows="left|top" - height="16" - layout="topleft" - left_delta="264" - name="SkyMeshDetailText" - text_readonly_color="LabelDisabledColor" - top_delta="0" - width="128"> - Low - </text> - - <check_box - control_name="RenderDeferred" - height="16" - initial_value="true" - label="Advanced Lighting Model" - layout="topleft" - left="70" - name="UseLightShaders2" - top_delta="16" - width="260"> - <check_box.commit_callback - function="Pref.VertexShaderEnable" /> - </check_box> - - <check_box - control_name="RenderDeferredSSAO" - height="16" - initial_value="true" - label="Ambient Occlusion" - layout="topleft" - left="90" - name="UseSSAO" - top_delta="16" - width="240"> - <check_box.commit_callback - function="Pref.VertexShaderEnable" /> - </check_box> - - <check_box - control_name="RenderDepthOfField" - height="16" - initial_value="true" - label="Depth of Field" - layout="topleft" - left="90" - name="UseDoF" - top_delta="16" - width="240"> - <check_box.commit_callback - function="Pref.VertexShaderEnable" /> - </check_box> - - <text - type="string" - length="1" - follows="left|top" - height="16" - layout="topleft" - left="90" - name="RenderShadowDetailText" - text_readonly_color="LabelDisabledColor" - top_delta="16" - width="128"> - Shadows: - </text> - <combo_box - control_name="RenderShadowDetail" - height="18" - layout="topleft" - left_delta="130" - top_delta="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" - follows="left|top" - height="16" - layout="topleft" - name="AvatarText" - top_delta="20" - left="5" - width="128"> - Mesh - </text> - - <slider - control_name="RenderTerrainLODFactor" - follows="left|top" - height="16" - increment="0.125" - initial_value="160" - label="Terrain Mesh Detail:" - label_width="185" - layout="topleft" - left="30" - min_val="1" - max_val="2" - name="TerrainMeshDetail" - show_text="false" - top_delta="16" - width="300"> - <slider.commit_callback - function="Pref.UpdateSliderText" - parameter="TerrainMeshDetailText" /> - </slider> - <text - type="string" - length="1" - follows="left|top" - height="16" - layout="topleft" - name="TerrainMeshDetailText" - text_readonly_color="LabelDisabledColor" - top_delta="0" - left_delta="304" - width="128"> - Low - </text> - - <slider - control_name="RenderTreeLODFactor" - follows="left|top" - height="16" - increment="0.125" - initial_value="160" - label="Trees:" - label_width="185" - layout="topleft" - left="30" - name="TreeMeshDetail" - show_text="false" - top_delta="16" - width="300"> - <slider.commit_callback - function="Pref.UpdateSliderText" - parameter="TreeMeshDetailText" /> - </slider> - <text - type="string" - length="1" - follows="left|top" - height="16" - layout="topleft" - name="TreeMeshDetailText" - top_delta="0" - left_delta="304" - width="128"> - Low - </text> - - <slider - control_name="RenderVolumeLODFactor" - follows="left|top" - height="16" - increment="0.125" - initial_value="160" - label="Objects:" - label_width="185" - layout="topleft" - left="30" - max_val="2" - name="ObjectMeshDetail" - show_text="false" - top_delta="16" - width="300"> - <slider.commit_callback - function="Pref.UpdateSliderText" - parameter="ObjectMeshDetailText" /> - </slider> - <text - type="string" - length="1" - follows="left|top" - height="16" - layout="topleft" - name="ObjectMeshDetailText" - top_delta="0" - left_delta="304" - width="128"> - Low - </text> - - <slider - control_name="RenderFlexTimeFactor" - follows="left|top" - height="16" - initial_value="160" - label="Flexiprims:" - label_width="185" - layout="topleft" - left="30" - name="FlexibleMeshDetail" - show_text="false" - top_delta="16" - width="300"> - <slider.commit_callback - function="Pref.UpdateSliderText" - parameter="FlexibleMeshDetailText" /> - </slider> - <text - type="string" - length="1" - follows="left|top" - height="16" - layout="topleft" - name="FlexibleMeshDetailText" - top_delta="0" - left_delta="304" - width="128"> - Low - </text> - - <text - type="string" - length="1" - follows="left|top" - height="16" - layout="topleft" - name="ShadersText" - top_delta="20" - left="5" - width="128"> - Hardware - </text> - - <slider - control_name="TextureMemory" - decimal_digits="0" - follows="left|top" - height="16" - increment="16" - initial_value="32" - label="Texture Memory (MB):" - label_width="185" - layout="topleft" - left="30" - max_val="4096" - name="GraphicsCardTextureMemory" - tool_tip="Amount of memory to allocate for textures. Defaults to video card memory. Reducing this may improve performance but may also make textures blurry." - top_delta="16" - width="335" /> - - <slider - control_name="RenderFogRatio" - follows="left|top" - height="16" - initial_value="4" - decimal_digits="1" - label="Fog Distance Ratio:" - label_width="185" - layout="topleft" - left="30" - name="fog" - min_val="0.5" - max_val="10" - increment="0.1" - top_delta="16" - width="332" /> - - <slider - control_name="RenderGamma" - follows="left|top" - height="16" - initial_value="1" - decimal_digits="2" - label="Gamma:" - label_width="185" - layout="topleft" - left="30" - name="gamma" - min_val="0" - max_val="2" - increment="0.01" - top_delta="16" - width="332" /> - <text - type="string" - length="1" - follows="left|top" - height="16" - layout="topleft" - left="30" - name="(brightness, lower is brighter)" - top_delta="16" - width="230"> - (0 = default brightness, lower = brighter) - </text> - - <check_box - control_name="RenderAnisotropic" - height="16" - label="Anisotropic Filtering (slower when enabled)" - layout="topleft" - left="30" - name="ani" - top_delta="16" - width="256" /> - - <check_box - control_name="RenderVBOEnable" - height="16" - initial_value="true" - label="Enable OpenGL Vertex Buffer Objects" - layout="topleft" - left="30" - top_delta="16" - name="vbo" - tool_tip="Enabling this on modern hardware gives a performance gain. However, older hardware often has poor implementations of VBOs and you may get crashes when this is enabled." - width="315" /> - - <check_box - control_name="RenderCompressTextures" - height="16" - initial_value="true" - label="Enable Texture Compression (requires restart)" - layout="topleft" - left="30" - top_delta="16" - name="texture compression" - tool_tip="Compresses textures in video memory, allowing for higher resolution textures to be loaded at the cost of some color quality." - width="315" /> - - <text - type="string" - length="1" - follows="left|top" - height="20" - layout="topleft" - left="30" - name="antialiasing label" - top_delta="20" - width="100"> - Antialiasing: - </text> - <combo_box - control_name="RenderFSAASamples" - height="20" - initial_value="false" - label="Antialiasing" - layout="topleft" - left_pad="40" - name="fsaa" - top_delta="0" - width="90"> - <combo_box.item - label="Disabled" - name="FSAADisabled" - value="0" /> - <combo_box.item - label="2x" - name="2x" - value="2" /> - <combo_box.item - label="4x" - name="4x" - value="4" /> - <combo_box.item - label="8x" - name="8x" - value="8" /> - <combo_box.item - label="16x" - name="16x" - value="16" /> - </combo_box> - <text - type="string" - length="1" - follows="left|top" - height="16" - layout="topleft" - left_pad="10" - name="antialiasing restart" - top_delta="0" - width="190"> - (requires viewer restart) - </text> - </panel> - </scroll_container> - </panel> -<!-- End of Advanced Settings block --> + <button + follows="left|bottom" + height="23" + label="Advanced Settings..." + layout="topleft" + left="10" + name="AdvancedSettings" + top_delta="60" + width="200"> + <button.commit_callback + function="Pref.Advanced" + parameter="advanced" /> + </button> - <button - follows="left|bottom" - height="23" - label="Save settings as a preset..." - layout="topleft" - left="10" - name="PrefSaveButton" - top="295" - width="250"> - <button.commit_callback - function="Pref.PrefSave" - parameter="graphic" /> - </button> - </tab_container> + <button + follows="left|bottom" + height="23" + label="Save settings as a preset..." + layout="topleft" + left="10" + name="PrefSaveButton" + top="295" + width="200"> + <button.commit_callback + function="Pref.PrefSave" + parameter="graphic" /> + </button> </panel> |