diff --git a/indra/newview/featuretable.txt b/indra/newview/featuretable.txt index 815923a3c..995506eab 100644 --- a/indra/newview/featuretable.txt +++ b/indra/newview/featuretable.txt @@ -152,7 +152,7 @@ RenderObjectBump 1 1 RenderLocalLights 1 1 RenderReflectionDetail 1 2 RenderTerrainDetail 1 1 -RenderTerrainScale 1 6.0 +RenderTerrainScale 1 7.0 RenderTerrainLODFactor 1 2.0 RenderTransparentWater 1 1 RenderTreeLODFactor 1 0.5 diff --git a/indra/newview/featuretable_linux.txt b/indra/newview/featuretable_linux.txt index 8002ea3e4..bc464b0fd 100644 --- a/indra/newview/featuretable_linux.txt +++ b/indra/newview/featuretable_linux.txt @@ -147,8 +147,8 @@ RenderLocalLights 1 1 RenderMaxPartCount 1 4096 RenderObjectBump 1 1 RenderReflectionDetail 1 2 -RenderTerrainScale 1 6.0 RenderTerrainDetail 1 1 +RenderTerrainScale 1 7.0 RenderTerrainLODFactor 1 2.0 RenderTransparentWater 1 1 RenderTreeLODFactor 1 0.5 @@ -160,7 +160,7 @@ WLSkyDetail 1 48 RenderDeferred 1 0 RenderDeferredSSAO 1 0 RenderShadowDetail 1 0 -RenderFastAlpha 1 0 +RenderFSAASamples 1 0 RenderUseFBO 1 0 diff --git a/indra/newview/featuretable_mac.txt b/indra/newview/featuretable_mac.txt index 55fe571bf..16e50377e 100644 --- a/indra/newview/featuretable_mac.txt +++ b/indra/newview/featuretable_mac.txt @@ -63,7 +63,7 @@ RenderDeferred 1 1 RenderDeferredSSAO 1 1 RenderShadowDetail 1 2 WatchdogDisabled 1 1 -RenderUseStreamVBO 1 1 +ShyotlRenderUseStreamVBO 1 1 RenderFSAASamples 1 16 RenderMaxTextureIndex 1 16 RenderUseFBO 1 0 @@ -152,7 +152,7 @@ RenderMaxPartCount 1 4096 RenderObjectBump 1 1 RenderReflectionDetail 1 2 RenderTerrainDetail 1 1 -RenderTerrainScale 1 6.0 +RenderTerrainScale 1 7.0 RenderTerrainLODFactor 1 2.0 RenderTransparentWater 1 1 RenderTreeLODFactor 1 0.5 diff --git a/indra/newview/llpaneldisplay.cpp b/indra/newview/llpaneldisplay.cpp index aaf304236..fdb1a0035 100644 --- a/indra/newview/llpaneldisplay.cpp +++ b/indra/newview/llpaneldisplay.cpp @@ -250,6 +250,10 @@ BOOL LLPanelDisplay::postBuild() mCtrlShadowDetail->setCommitCallback(&LLPanelDisplay::onVertexShaderEnable); mCtrlShadowDetail->setCallbackUserData(this); + //---------------------------------------------------------------------------- + // Terrain Scale + mCtrlTerrainScale = getChild("TerrainScaleCombo"); + //---------------------------------------------------------------------------- // Enable Avatar Shaders mCtrlAvatarVP = getChild("AvatarVertexProgram"); @@ -350,6 +354,7 @@ BOOL LLPanelDisplay::postBuild() mLightingText = getChild("LightingDetailText"); mMeshDetailText = getChild("MeshDetailText"); mShadowDetailText = getChild("ShadowDetailText"); + mTerrainScaleText = getChild("TerrainScaleText"); refresh(); @@ -417,10 +422,10 @@ void LLPanelDisplay::refresh() mDeferred = gSavedSettings.getBOOL("RenderDeferred"); mDeferredDoF = gSavedSettings.getBOOL("RenderDepthOfField"); - // reflection radio + // combo boxes mReflectionDetail = gSavedSettings.getS32("RenderReflectionDetail"); - mShadowDetail = gSavedSettings.getS32("RenderShadowDetail"); + mTerrainScale = gSavedSettings.getF32("RenderTerrainScale"); // avatar settings mAvatarImpostors = gSavedSettings.getBOOL("RenderUseImpostors"); @@ -606,6 +611,13 @@ void LLPanelDisplay::disableUnavailableSettings() mCtrlReflectionDetail->setValue(FALSE); } + // disabled terrain scale + if(!LLFeatureManager::getInstance()->isFeatureAvailable("RenderTerrainScale")) + { + mCtrlTerrainScale->setEnabled(false); + mCtrlTerrainScale->setValue(false); + } + // disabled av if(!LLFeatureManager::getInstance()->isFeatureAvailable("RenderAvatarVP")) { @@ -678,10 +690,12 @@ void LLPanelDisplay::setHiddenGraphicsState(bool isHidden) llassert(mRadioTerrainDetail != NULL); llassert(mCtrlReflectionDetail != NULL); + llassert(mCtrlTerrainScale != NULL); llassert(mMeshDetailText != NULL); llassert(mShaderText != NULL); llassert(mReflectionText != NULL); + llassert(mTerrainScaleText != NULL); llassert(mAvatarText != NULL); llassert(mLightingText != NULL); llassert(mTerrainText != NULL); @@ -728,6 +742,7 @@ void LLPanelDisplay::setHiddenGraphicsState(bool isHidden) mRadioTerrainDetail->setVisible(!isHidden); mCtrlReflectionDetail->setVisible(!isHidden); + mCtrlTerrainScale->setVisible(!isHidden); mCtrlDeferred->setVisible(!isHidden); mCtrlDeferredDoF->setVisible(!isHidden); @@ -742,6 +757,7 @@ void LLPanelDisplay::setHiddenGraphicsState(bool isHidden) mDrawDistanceMeterText1->setVisible(!isHidden); mDrawDistanceMeterText2->setVisible(!isHidden); mShadowDetailText->setVisible(!isHidden); + mTerrainScaleText->setVisible(!isHidden); // hide one meter text if we're making things visible if(!isHidden) @@ -771,6 +787,7 @@ void LLPanelDisplay::cancel() gSavedSettings.setS32("RenderReflectionDetail", mReflectionDetail); gSavedSettings.setS32("RenderShadowDetail", mShadowDetail); + gSavedSettings.setF32("RenderTerrainScale", mTerrainScale); gSavedSettings.setBOOL("RenderUseImpostors", mAvatarImpostors); gSavedSettings.setS32("RenderAvatarMaxVisible", mNonImpostors); diff --git a/indra/newview/llpaneldisplay.h b/indra/newview/llpaneldisplay.h index 9b601d7d1..a2cbc3549 100644 --- a/indra/newview/llpaneldisplay.h +++ b/indra/newview/llpaneldisplay.h @@ -84,7 +84,6 @@ 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 @@ -114,7 +113,9 @@ protected: LLCheckBoxCtrl *mCtrlShaderEnable; LLCheckBoxCtrl *mCtrlDeferred; LLCheckBoxCtrl *mCtrlDeferredDoF; + LLComboBox *mCtrlReflectionDetail; LLComboBox *mCtrlShadowDetail; + LLComboBox *mCtrlTerrainScale; LLCheckBoxCtrl *mCtrlAvatarImpostors; LLCheckBoxCtrl *mCtrlAvatarCloth; LLCheckBoxCtrl *mCtrlLightingDetail2; @@ -144,6 +145,7 @@ protected: LLTextBox *mSkyFactorText; LLTextBox *mPostProcessText; LLTextBox *mShadowDetailText; + LLTextBox *mTerrainScaleText; BOOL mFSAutoDetectAspect; F32 mAspectRatio; @@ -162,6 +164,7 @@ protected: S32 mReflectionDetail; S32 mShadowDetail; + F32 mTerrainScale; BOOL mAvatarImpostors; S32 mNonImpostors; diff --git a/indra/newview/skins/default/xui/en-us/panel_preferences_graphics1.xml b/indra/newview/skins/default/xui/en-us/panel_preferences_graphics1.xml index 4be19eadc..9e66ad8b7 100644 --- a/indra/newview/skins/default/xui/en-us/panel_preferences_graphics1.xml +++ b/indra/newview/skins/default/xui/en-us/panel_preferences_graphics1.xml @@ -46,7 +46,14 @@ - Shadows: + Terrain Scale: + + Low + Medium + High + Ultra + + Shadows: Disabled Sun/Moon