Another port of a great patch from CoolViewer that lets users set the maximum number of actual visible avatars when impostors are on.
This commit is contained in:
@@ -47,27 +47,25 @@
|
|||||||
#include "pipeline.h"
|
#include "pipeline.h"
|
||||||
|
|
||||||
LLFloaterHardwareSettings* LLFloaterHardwareSettings::sHardwareSettings = NULL;
|
LLFloaterHardwareSettings* LLFloaterHardwareSettings::sHardwareSettings = NULL;
|
||||||
|
BOOL LLFloaterHardwareSettings::sUseStreamVBOexists = FALSE;
|
||||||
|
|
||||||
LLFloaterHardwareSettings::LLFloaterHardwareSettings() : LLFloater(std::string("Hardware Settings Floater"))
|
LLFloaterHardwareSettings::LLFloaterHardwareSettings() : LLFloater(std::string("Hardware Settings Floater"))
|
||||||
{
|
{
|
||||||
LLUICtrlFactory::getInstance()->buildFloater(this, "floater_hardware_settings.xml");
|
LLUICtrlFactory::getInstance()->buildFloater(this, "floater_hardware_settings.xml");
|
||||||
|
|
||||||
// load it up
|
|
||||||
initCallbacks();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
LLFloaterHardwareSettings::~LLFloaterHardwareSettings()
|
LLFloaterHardwareSettings::~LLFloaterHardwareSettings()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
void LLFloaterHardwareSettings::onClickHelp(void* data)
|
void LLFloaterHardwareSettings::onCommitCheckBoxVBO(LLUICtrl* ctrl, void* user_data)
|
||||||
{
|
|
||||||
const char* xml_alert = "HardwareSettingsHelpButton";
|
|
||||||
LLNotifications::instance().add(xml_alert);
|
|
||||||
}
|
|
||||||
|
|
||||||
void LLFloaterHardwareSettings::initCallbacks(void)
|
|
||||||
{
|
{
|
||||||
|
LLFloaterHardwareSettings* self = (LLFloaterHardwareSettings*)user_data;
|
||||||
|
if (self && sUseStreamVBOexists)
|
||||||
|
{
|
||||||
|
gSavedSettings.setBOOL("RenderUseStreamVBO", self->childGetValue("stream_vbo").asBoolean());
|
||||||
|
self->refreshEnabledState();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// menu maintenance functions
|
// menu maintenance functions
|
||||||
@@ -77,6 +75,10 @@ void LLFloaterHardwareSettings::refresh()
|
|||||||
LLPanel::refresh();
|
LLPanel::refresh();
|
||||||
|
|
||||||
mUseVBO = gSavedSettings.getBOOL("RenderVBOEnable");
|
mUseVBO = gSavedSettings.getBOOL("RenderVBOEnable");
|
||||||
|
if (sUseStreamVBOexists)
|
||||||
|
{
|
||||||
|
mUseStreamVBO = gSavedSettings.getBOOL("RenderUseStreamVBO");
|
||||||
|
}
|
||||||
mUseFBO = gSavedSettings.getBOOL("RenderUseFBO");
|
mUseFBO = gSavedSettings.getBOOL("RenderUseFBO");
|
||||||
mUseAniso = gSavedSettings.getBOOL("RenderAnisotropic");
|
mUseAniso = gSavedSettings.getBOOL("RenderAnisotropic");
|
||||||
mFSAASamples = gSavedSettings.getU32("RenderFSAASamples");
|
mFSAASamples = gSavedSettings.getU32("RenderFSAASamples");
|
||||||
@@ -96,6 +98,7 @@ void LLFloaterHardwareSettings::refreshEnabledState()
|
|||||||
childSetMinValue("GrapicsCardTextureMemory", min_tex_mem);
|
childSetMinValue("GrapicsCardTextureMemory", min_tex_mem);
|
||||||
childSetMaxValue("GrapicsCardTextureMemory", max_tex_mem);
|
childSetMaxValue("GrapicsCardTextureMemory", max_tex_mem);
|
||||||
|
|
||||||
|
bool vbo_ok = true;
|
||||||
mLastVBOState = LLVertexBuffer::sEnableVBOs;
|
mLastVBOState = LLVertexBuffer::sEnableVBOs;
|
||||||
if (!LLFeatureManager::getInstance()->isFeatureAvailable("RenderVBOEnable") ||
|
if (!LLFeatureManager::getInstance()->isFeatureAvailable("RenderVBOEnable") ||
|
||||||
!gGLManager.mHasVertexBufferObject)
|
!gGLManager.mHasVertexBufferObject)
|
||||||
@@ -103,6 +106,23 @@ void LLFloaterHardwareSettings::refreshEnabledState()
|
|||||||
childSetEnabled("vbo", FALSE);
|
childSetEnabled("vbo", FALSE);
|
||||||
//Streaming VBOs -Shyotl
|
//Streaming VBOs -Shyotl
|
||||||
childSetEnabled("vbo_stream", FALSE);
|
childSetEnabled("vbo_stream", FALSE);
|
||||||
|
vbo_ok = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (sUseStreamVBOexists)
|
||||||
|
{
|
||||||
|
childSetVisible("stream_vbo", true);
|
||||||
|
childSetEnabled("stream_vbo", vbo_ok && childGetValue("vbo") &&
|
||||||
|
LLFeatureManager::getInstance()->isFeatureAvailable("RenderUseStreamVBO"));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
childSetVisible("stream_vbo", false);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!LLFeatureManager::getInstance()->isFeatureAvailable("UseOcclusion"))
|
||||||
|
{
|
||||||
|
childSetEnabled("occlusion", false);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -115,7 +135,7 @@ void LLFloaterHardwareSettings::refreshEnabledState()
|
|||||||
childSetEnabled("gamma", !gPipeline.canUseWindLightShaders());
|
childSetEnabled("gamma", !gPipeline.canUseWindLightShaders());
|
||||||
childSetEnabled("(brightness, lower is brighter)", !gPipeline.canUseWindLightShaders());
|
childSetEnabled("(brightness, lower is brighter)", !gPipeline.canUseWindLightShaders());
|
||||||
childSetEnabled("fog", !gPipeline.canUseWindLightShaders());
|
childSetEnabled("fog", !gPipeline.canUseWindLightShaders());
|
||||||
|
childSetVisible("note", gPipeline.canUseWindLightShaders());
|
||||||
}
|
}
|
||||||
|
|
||||||
// static instance of it
|
// static instance of it
|
||||||
@@ -173,6 +193,13 @@ BOOL LLFloaterHardwareSettings::postBuild()
|
|||||||
{
|
{
|
||||||
childSetAction("OK", onBtnOK, this);
|
childSetAction("OK", onBtnOK, this);
|
||||||
|
|
||||||
|
sUseStreamVBOexists = gSavedSettings.controlExists("RenderUseStreamVBO");
|
||||||
|
if (sUseStreamVBOexists)
|
||||||
|
{
|
||||||
|
childSetCommitCallback("vbo", onCommitCheckBoxVBO, this);
|
||||||
|
childSetCommitCallback("stream_vbo", onCommitCheckBoxVBO, this);
|
||||||
|
}
|
||||||
|
|
||||||
refresh();
|
refresh();
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
@@ -202,6 +229,10 @@ void LLFloaterHardwareSettings::apply()
|
|||||||
void LLFloaterHardwareSettings::cancel()
|
void LLFloaterHardwareSettings::cancel()
|
||||||
{
|
{
|
||||||
gSavedSettings.setBOOL("RenderVBOEnable", mUseVBO);
|
gSavedSettings.setBOOL("RenderVBOEnable", mUseVBO);
|
||||||
|
if (sUseStreamVBOexists)
|
||||||
|
{
|
||||||
|
gSavedSettings.setBOOL("RenderUseStreamVBO", mUseStreamVBO);
|
||||||
|
}
|
||||||
gSavedSettings.setBOOL("RenderUseFBO", mUseFBO);
|
gSavedSettings.setBOOL("RenderUseFBO", mUseFBO);
|
||||||
gSavedSettings.setBOOL("RenderAnisotropic", mUseAniso);
|
gSavedSettings.setBOOL("RenderAnisotropic", mUseAniso);
|
||||||
gSavedSettings.setU32("RenderFSAASamples", mFSAASamples);
|
gSavedSettings.setU32("RenderFSAASamples", mFSAASamples);
|
||||||
|
|||||||
@@ -49,14 +49,11 @@ public:
|
|||||||
|
|
||||||
virtual BOOL postBuild();
|
virtual BOOL postBuild();
|
||||||
|
|
||||||
/// initialize all the callbacks for the menu
|
|
||||||
void initCallbacks(void);
|
|
||||||
|
|
||||||
/// one and one instance only
|
/// one and one instance only
|
||||||
static LLFloaterHardwareSettings* instance();
|
static LLFloaterHardwareSettings* instance();
|
||||||
|
|
||||||
/// callback for the menus help button
|
/// callback for the VBO-related settings checkboxes
|
||||||
static void onClickHelp(void* data);
|
static void onCommitCheckBoxVBO(LLUICtrl* ctrl, void* user_data);
|
||||||
|
|
||||||
/// OK button
|
/// OK button
|
||||||
static void onBtnOK( void* userdata );
|
static void onBtnOK( void* userdata );
|
||||||
@@ -87,11 +84,12 @@ public:
|
|||||||
/// refresh the enabled values
|
/// refresh the enabled values
|
||||||
void refreshEnabledState();
|
void refreshEnabledState();
|
||||||
|
|
||||||
protected:
|
private:
|
||||||
LLSliderCtrl* mCtrlVideoCardMem;
|
LLSliderCtrl* mCtrlVideoCardMem;
|
||||||
|
|
||||||
//Retained values for cancel/reset
|
//Retained values for cancel/reset
|
||||||
BOOL mUseVBO;
|
BOOL mUseVBO;
|
||||||
|
BOOL mUseStreamVBO;
|
||||||
BOOL mUseFBO;
|
BOOL mUseFBO;
|
||||||
BOOL mUseAniso;
|
BOOL mUseAniso;
|
||||||
U32 mFSAASamples;
|
U32 mFSAASamples;
|
||||||
@@ -101,9 +99,9 @@ protected:
|
|||||||
BOOL mProbeHardwareOnStartup;
|
BOOL mProbeHardwareOnStartup;
|
||||||
|
|
||||||
bool mLastVBOState; //track changes to LLVertexBuffer::sEnableVBOs every frame. Bleh.
|
bool mLastVBOState; //track changes to LLVertexBuffer::sEnableVBOs every frame. Bleh.
|
||||||
private:
|
|
||||||
// one instance on the inside
|
// one instance on the inside
|
||||||
static LLFloaterHardwareSettings* sHardwareSettings;
|
static LLFloaterHardwareSettings* sHardwareSettings;
|
||||||
|
static BOOL sUseStreamVBOexists;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -260,6 +260,9 @@ BOOL LLPanelDisplay::postBuild()
|
|||||||
// Avatar Render Mode
|
// Avatar Render Mode
|
||||||
mCtrlAvatarCloth = getChild<LLCheckBoxCtrl>("AvatarCloth");
|
mCtrlAvatarCloth = getChild<LLCheckBoxCtrl>("AvatarCloth");
|
||||||
mCtrlAvatarImpostors = getChild<LLCheckBoxCtrl>("AvatarImpostors");
|
mCtrlAvatarImpostors = getChild<LLCheckBoxCtrl>("AvatarImpostors");
|
||||||
|
mCtrlAvatarImpostors->setCommitCallback(&LLPanelDisplay::onVertexShaderEnable);
|
||||||
|
mCtrlAvatarImpostors->setCallbackUserData(this);
|
||||||
|
mCtrlNonImpostors = getChild<LLSliderCtrl>("AvatarMaxVisible");
|
||||||
|
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
// radio set for lighting detail
|
// radio set for lighting detail
|
||||||
@@ -417,6 +420,7 @@ void LLPanelDisplay::refresh()
|
|||||||
|
|
||||||
// avatar settings
|
// avatar settings
|
||||||
mAvatarImpostors = gSavedSettings.getBOOL("RenderUseImpostors");
|
mAvatarImpostors = gSavedSettings.getBOOL("RenderUseImpostors");
|
||||||
|
mNonImpostors = gSavedSettings.getS32("RenderAvatarMaxVisible");
|
||||||
mAvatarCloth = gSavedSettings.getBOOL("RenderAvatarCloth");
|
mAvatarCloth = gSavedSettings.getBOOL("RenderAvatarCloth");
|
||||||
|
|
||||||
// Draw distance
|
// Draw distance
|
||||||
@@ -514,6 +518,9 @@ void LLPanelDisplay::refreshEnabledState()
|
|||||||
//GI won't do anything with shadows off, but disabling it here is less than intuitive. Ignore shadow setting for now.
|
//GI won't do anything with shadows off, but disabling it here is less than intuitive. Ignore shadow setting for now.
|
||||||
mCtrlDeferredGI->setEnabled(mCtrlShadowDetail->getEnabled()/* && gSavedSettings.getS32("RenderShadowDetail") > 0*/);
|
mCtrlDeferredGI->setEnabled(mCtrlShadowDetail->getEnabled()/* && gSavedSettings.getS32("RenderShadowDetail") > 0*/);
|
||||||
|
|
||||||
|
// Disable max non-impostors slider if avatar impostors are off
|
||||||
|
mCtrlNonImpostors->setEnabled(gSavedSettings.getBOOL("RenderUseImpostors"));
|
||||||
|
|
||||||
// Vertex Shaders
|
// Vertex Shaders
|
||||||
// mCtrlShaderEnable->setEnabled(LLFeatureManager::getInstance()->isFeatureAvailable("VertexShaderEnable"));
|
// mCtrlShaderEnable->setEnabled(LLFeatureManager::getInstance()->isFeatureAvailable("VertexShaderEnable"));
|
||||||
// [RLVa:KB] - Checked: 2009-07-10 (RLVa-1.0.0g) | Modified: RLVa-0.2.0a
|
// [RLVa:KB] - Checked: 2009-07-10 (RLVa-1.0.0g) | Modified: RLVa-0.2.0a
|
||||||
@@ -612,6 +619,7 @@ void LLPanelDisplay::disableUnavailableSettings()
|
|||||||
{
|
{
|
||||||
mCtrlAvatarImpostors->setEnabled(FALSE);
|
mCtrlAvatarImpostors->setEnabled(FALSE);
|
||||||
mCtrlAvatarImpostors->setValue(FALSE);
|
mCtrlAvatarImpostors->setValue(FALSE);
|
||||||
|
mCtrlNonImpostors->setEnabled(FALSE);
|
||||||
}
|
}
|
||||||
// disabled deferred
|
// disabled deferred
|
||||||
if(!LLFeatureManager::getInstance()->isFeatureAvailable("RenderDeferred"))
|
if(!LLFeatureManager::getInstance()->isFeatureAvailable("RenderDeferred"))
|
||||||
@@ -654,6 +662,7 @@ void LLPanelDisplay::setHiddenGraphicsState(bool isHidden)
|
|||||||
llassert(mCtrlAvatarVP != NULL);
|
llassert(mCtrlAvatarVP != NULL);
|
||||||
llassert(mCtrlShaderEnable != NULL);
|
llassert(mCtrlShaderEnable != NULL);
|
||||||
llassert(mCtrlAvatarImpostors != NULL);
|
llassert(mCtrlAvatarImpostors != NULL);
|
||||||
|
llassert(mCtrlNonImpostors != NULL);
|
||||||
llassert(mCtrlAvatarCloth != NULL);
|
llassert(mCtrlAvatarCloth != NULL);
|
||||||
llassert(mRadioLightingDetail2 != NULL);
|
llassert(mRadioLightingDetail2 != NULL);
|
||||||
|
|
||||||
@@ -702,6 +711,7 @@ void LLPanelDisplay::setHiddenGraphicsState(bool isHidden)
|
|||||||
mCtrlAvatarVP->setVisible(!isHidden);
|
mCtrlAvatarVP->setVisible(!isHidden);
|
||||||
mCtrlShaderEnable->setVisible(!isHidden);
|
mCtrlShaderEnable->setVisible(!isHidden);
|
||||||
mCtrlAvatarImpostors->setVisible(!isHidden);
|
mCtrlAvatarImpostors->setVisible(!isHidden);
|
||||||
|
mCtrlNonImpostors->setVisible(!isHidden);
|
||||||
mCtrlAvatarCloth->setVisible(!isHidden);
|
mCtrlAvatarCloth->setVisible(!isHidden);
|
||||||
mRadioLightingDetail2->setVisible(!isHidden);
|
mRadioLightingDetail2->setVisible(!isHidden);
|
||||||
|
|
||||||
@@ -752,6 +762,7 @@ void LLPanelDisplay::cancel()
|
|||||||
gSavedSettings.setS32("RenderShadowDetail", mShadowDetail);
|
gSavedSettings.setS32("RenderShadowDetail", mShadowDetail);
|
||||||
|
|
||||||
gSavedSettings.setBOOL("RenderUseImpostors", mAvatarImpostors);
|
gSavedSettings.setBOOL("RenderUseImpostors", mAvatarImpostors);
|
||||||
|
gSavedSettings.setS32("RenderAvatarMaxVisible", mNonImpostors);
|
||||||
gSavedSettings.setBOOL("RenderAvatarCloth", mAvatarCloth);
|
gSavedSettings.setBOOL("RenderAvatarCloth", mAvatarCloth);
|
||||||
|
|
||||||
gSavedSettings.setBOOL("RenderLocalLights", mLocalLights);
|
gSavedSettings.setBOOL("RenderLocalLights", mLocalLights);
|
||||||
@@ -994,6 +1005,11 @@ void LLPanelDisplay::onVertexShaderEnable(LLUICtrl* self, void* data)
|
|||||||
void LLPanelDisplay::setHardwareDefaults(void* user_data)
|
void LLPanelDisplay::setHardwareDefaults(void* user_data)
|
||||||
{
|
{
|
||||||
LLFeatureManager::getInstance()->applyRecommendedSettings();
|
LLFeatureManager::getInstance()->applyRecommendedSettings();
|
||||||
|
LLControlVariable* controlp = gSavedSettings.getControl("RenderAvatarMaxVisible");
|
||||||
|
if (controlp)
|
||||||
|
{
|
||||||
|
controlp->resetToDefault(true);
|
||||||
|
}
|
||||||
LLFloaterPreference::refreshEnabledGraphics();
|
LLFloaterPreference::refreshEnabledGraphics();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -106,6 +106,7 @@ protected:
|
|||||||
LLSliderCtrl *mCtrlSkyFactor; // LOD for terrain
|
LLSliderCtrl *mCtrlSkyFactor; // LOD for terrain
|
||||||
LLSliderCtrl *mCtrlMaxParticle; // Max Particle
|
LLSliderCtrl *mCtrlMaxParticle; // Max Particle
|
||||||
LLSliderCtrl *mCtrlPostProcess; // Max Particle
|
LLSliderCtrl *mCtrlPostProcess; // Max Particle
|
||||||
|
LLSliderCtrl *mCtrlNonImpostors; // Max non-impostors
|
||||||
|
|
||||||
LLCheckBoxCtrl *mCtrlBumpShiny;
|
LLCheckBoxCtrl *mCtrlBumpShiny;
|
||||||
LLCheckBoxCtrl *mCtrlWindLight;
|
LLCheckBoxCtrl *mCtrlWindLight;
|
||||||
@@ -162,6 +163,7 @@ protected:
|
|||||||
S32 mShadowDetail;
|
S32 mShadowDetail;
|
||||||
|
|
||||||
BOOL mAvatarImpostors;
|
BOOL mAvatarImpostors;
|
||||||
|
S32 mNonImpostors;
|
||||||
BOOL mAvatarCloth;
|
BOOL mAvatarCloth;
|
||||||
S32 mAvatarMode;
|
S32 mAvatarMode;
|
||||||
BOOL mLocalLights;
|
BOOL mLocalLights;
|
||||||
|
|||||||
@@ -1524,10 +1524,6 @@ void init_debug_rendering_menu(LLMenuGL* menu)
|
|||||||
'R', MASK_CONTROL|MASK_SHIFT));
|
'R', MASK_CONTROL|MASK_SHIFT));
|
||||||
|
|
||||||
LLMenuItemCheckGL* item;
|
LLMenuItemCheckGL* item;
|
||||||
item = new LLMenuItemCheckGL("Object-Object Occlusion", menu_toggle_control, NULL, menu_check_control, (void*)"UseOcclusion", 'O', MASK_CONTROL|MASK_SHIFT);
|
|
||||||
item->setEnabled(gGLManager.mHasOcclusionQuery && LLFeatureManager::getInstance()->isFeatureAvailable("UseOcclusion"));
|
|
||||||
menu->append(item);
|
|
||||||
|
|
||||||
item = new LLMenuItemCheckGL("Debug GL", menu_toggle_control, NULL, menu_check_control, (void*)"RenderDebugGL");
|
item = new LLMenuItemCheckGL("Debug GL", menu_toggle_control, NULL, menu_check_control, (void*)"RenderDebugGL");
|
||||||
menu->append(item);
|
menu->append(item);
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
|
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
|
||||||
<floater bottom="-400" can_close="true" can_drag_on_left="false"
|
<floater bottom="-400" can_close="true" can_drag_on_left="false"
|
||||||
can_minimize="true" can_resize="false" height="224"
|
can_minimize="true" can_resize="false" height="244"
|
||||||
left="50" min_height="200" min_width="600" mouse_opaque="true"
|
left="50" min_height="244" min_width="500" mouse_opaque="true"
|
||||||
name="Hardware Settings Floater" title="Hardware Settings" width="500">
|
name="Hardware Settings Floater" title="Hardware Settings" width="500">
|
||||||
<text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
|
<text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
|
||||||
bottom="-42" drop_shadow_visible="true" enabled="true" follows="left|top"
|
bottom="-42" drop_shadow_visible="true" enabled="true" follows="left|top"
|
||||||
@@ -55,13 +55,34 @@
|
|||||||
font="SansSerifSmall" h_pad="0" halign="left" height="12"
|
font="SansSerifSmall" h_pad="0" halign="left" height="12"
|
||||||
left="10" mouse_opaque="true" name="Enable VBO:" v_pad="0"
|
left="10" mouse_opaque="true" name="Enable VBO:" v_pad="0"
|
||||||
width="128">
|
width="128">
|
||||||
Enable VBO:
|
Vertex Buffer Object:
|
||||||
</text>
|
</text>
|
||||||
<check_box bottom_delta="-5" control_name="RenderVBOEnable" enabled="true" follows="left|top"
|
<check_box bottom_delta="-5" control_name="RenderVBOEnable" enabled="true" follows="left|top"
|
||||||
font="SansSerifSmall" height="16" initial_value="true"
|
font="SansSerifSmall" height="16" initial_value="true"
|
||||||
label="Enable OpenGL Vertex Buffer Objects" left="148"
|
label="Enable OpenGL Vertex Buffer Objects" left="148"
|
||||||
mouse_opaque="true" name="vbo" radio_style="false"
|
mouse_opaque="true" name="vbo" radio_style="false"
|
||||||
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."
|
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="220" />
|
||||||
|
|
||||||
|
<check_box bottom_delta="0" name="stream_vbo" enabled="true" follows="left|top"
|
||||||
|
font="SansSerifSmall" height="16" initial_value="true"
|
||||||
|
label="Stream VBO" left_delta="240"
|
||||||
|
mouse_opaque="true" radio_style="false"
|
||||||
|
tool_tip="This option is usually best kept off for ATI cards (watch your FPS rate and see how it fares)."
|
||||||
|
width="150" />
|
||||||
|
|
||||||
|
<text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
|
||||||
|
bottom_delta="-16" drop_shadow_visible="true" enabled="true" follows="left|top"
|
||||||
|
font="SansSerifSmall" h_pad="0" halign="left" height="12"
|
||||||
|
left="10" mouse_opaque="true" name="Enable Occlusion" v_pad="0"
|
||||||
|
width="128">
|
||||||
|
Occlusion:
|
||||||
|
</text>
|
||||||
|
<check_box bottom_delta="-5" control_name="UseOcclusion" enabled="true" follows="left|top"
|
||||||
|
font="SansSerifSmall" height="16" initial_value="true"
|
||||||
|
label="Enable Object-Object Occlusion" left="148"
|
||||||
|
mouse_opaque="true" name="occlusion" radio_style="false"
|
||||||
|
tool_tip="Speeds up rendering on hardware supporting it."
|
||||||
width="315" />
|
width="315" />
|
||||||
<check_box bottom_delta="-18" control_name="ShyotlRenderUseStreamVBO" enabled="true" follows="left|top"
|
<check_box bottom_delta="-18" control_name="ShyotlRenderUseStreamVBO" enabled="true" follows="left|top"
|
||||||
font="SansSerifSmall" height="16" initial_value="false"
|
font="SansSerifSmall" height="16" initial_value="false"
|
||||||
@@ -94,6 +115,16 @@
|
|||||||
follows="left|top" height="16" increment="0.1"
|
follows="left|top" height="16" increment="0.1"
|
||||||
initial_val="4" label="Fog Distance Ratio:" label_width="138" left="10"
|
initial_val="4" label="Fog Distance Ratio:" label_width="138" left="10"
|
||||||
max_val="10" min_val="0.5" mouse_opaque="true" name="fog" width="202" />
|
max_val="10" min_val="0.5" mouse_opaque="true" name="fog" width="202" />
|
||||||
|
|
||||||
|
<text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
|
||||||
|
bottom_delta="-50" drop_shadow_visible="true" enabled="true" follows="left|top"
|
||||||
|
font="SansSerifSmall" h_pad="0" halign="left" height="40"
|
||||||
|
left="10" mouse_opaque="true" name="note" v_pad="0"
|
||||||
|
width="480">
|
||||||
|
Note: the Gamma and Fog Distance Ratio settings are unavailable (since useless) when the
|
||||||
|
Atmospheric Shaders are enabled.
|
||||||
|
</text>
|
||||||
|
|
||||||
<button bottom="10" enabled="true" follows="right|bottom" font="SansSerif"
|
<button bottom="10" enabled="true" follows="right|bottom" font="SansSerif"
|
||||||
halign="center" height="20" label="OK" label_selected="OK"
|
halign="center" height="20" label="OK" label_selected="OK"
|
||||||
left="-110" mouse_opaque="true" name="OK" scale_image="true" width="90" />
|
left="-110" mouse_opaque="true" name="OK" scale_image="true" width="90" />
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
<check_box bottom="-23" enabled="true" follows="left|top" font="SansSerifSmall"
|
<check_box bottom="-23" enabled="true" follows="left|top" font="SansSerifSmall"
|
||||||
height="16" initial_value="false"
|
height="16" initial_value="false"
|
||||||
label="Run viewer in a window" left="10" mouse_opaque="true"
|
label="Run viewer in a window" left="10" mouse_opaque="true"
|
||||||
name="windowed mode" radio_style="false" width="100" />
|
name="windowed mode" radio_style="false" width="120" />
|
||||||
<text_editor type="string" length="1" allow_html="false" bg_readonly_color="0 0 0 0" bottom="-43"
|
<text_editor type="string" length="1" allow_html="false" bg_readonly_color="0 0 0 0" bottom="-43"
|
||||||
embedded_items="false" enabled="false" follows="left|top"
|
embedded_items="false" enabled="false" follows="left|top"
|
||||||
font="SansSerifSmall" height="20" hide_border="true"
|
font="SansSerifSmall" height="20" hide_border="true"
|
||||||
@@ -163,8 +163,8 @@
|
|||||||
follows="left|top" font="SansSerifSmall" height="16"
|
follows="left|top" font="SansSerifSmall" height="16"
|
||||||
initial_value="true" label="Custom" left="385" mouse_opaque="true"
|
initial_value="true" label="Custom" left="385" mouse_opaque="true"
|
||||||
name="CustomSettings" radio_style="false" width="256" />
|
name="CustomSettings" radio_style="false" width="256" />
|
||||||
<view_border bevel_style="none" border_thickness="1" bottom="-405" follows="top|left"
|
<view_border bevel_style="none" border_thickness="1" bottom="-395" follows="top|left"
|
||||||
height="290" left="5" name="GraphicsBorder" width="485" />
|
height="280" left="5" name="GraphicsBorder" width="485" />
|
||||||
<text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
|
<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"
|
bottom="-130" drop_shadow_visible="true" enabled="true" follows="left|top"
|
||||||
font="SansSerifSmall" h_pad="0" halign="left" height="12"
|
font="SansSerifSmall" h_pad="0" halign="left" height="12"
|
||||||
@@ -274,9 +274,14 @@
|
|||||||
follows="left|top" font="SansSerifSmall" height="16" initial_value="true"
|
follows="left|top" font="SansSerifSmall" height="16" initial_value="true"
|
||||||
label="Avatar Impostors" left_delta="0" mouse_opaque="true"
|
label="Avatar Impostors" left_delta="0" mouse_opaque="true"
|
||||||
name="AvatarImpostors" radio_style="false" width="256" />
|
name="AvatarImpostors" radio_style="false" width="256" />
|
||||||
<check_box bottom_delta="-17" control_name="RenderAvatarVP" enabled="true"
|
<slider bottom_delta="-17" can_edit_text="false" control_name="RenderAvatarMaxVisible"
|
||||||
|
decimal_digits="0" enabled="true" follows="left|top" height="16"
|
||||||
|
increment="1" initial_val="35" label="Max non-impostors"
|
||||||
|
label_width="100" left_delta="8" max_val="50" min_val="1" mouse_opaque="true"
|
||||||
|
name="AvatarMaxVisible" show_text="true" width="195" />
|
||||||
|
<check_box bottom_delta="-20" control_name="RenderAvatarVP" enabled="true"
|
||||||
follows="left|top" font="SansSerifSmall" height="16" initial_value="true"
|
follows="left|top" font="SansSerifSmall" height="16" initial_value="true"
|
||||||
label="Hardware Skinning" left_delta="0" mouse_opaque="true"
|
label="Hardware Skinning" left="10" mouse_opaque="true"
|
||||||
name="AvatarVertexProgram" radio_style="false" width="256" />
|
name="AvatarVertexProgram" radio_style="false" width="256" />
|
||||||
<check_box bottom_delta="-17" control_name="RenderAvatarCloth" enabled="true"
|
<check_box bottom_delta="-17" control_name="RenderAvatarCloth" enabled="true"
|
||||||
follows="left|top" font="SansSerifSmall" height="16" initial_value="true"
|
follows="left|top" font="SansSerifSmall" height="16" initial_value="true"
|
||||||
@@ -412,7 +417,7 @@
|
|||||||
<text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
|
<text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
|
||||||
bottom="-352" drop_shadow_visible="true" enabled="true" follows="left|top"
|
bottom="-352" drop_shadow_visible="true" enabled="true" follows="left|top"
|
||||||
font="SansSerifSmall" h_pad="0" halign="left" height="12"
|
font="SansSerifSmall" h_pad="0" halign="left" height="12"
|
||||||
left="210" mouse_opaque="true" name="LightingDetailText" v_pad="0"
|
left="215" mouse_opaque="true" name="LightingDetailText" v_pad="0"
|
||||||
width="128">
|
width="128">
|
||||||
Lighting Detail:
|
Lighting Detail:
|
||||||
</text>
|
</text>
|
||||||
@@ -430,7 +435,7 @@
|
|||||||
</radio_group>
|
</radio_group>
|
||||||
<text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
|
<text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
|
||||||
bottom="-352" drop_shadow_visible="true" enabled="true" follows="left|top"
|
bottom="-352" drop_shadow_visible="true" enabled="true" follows="left|top"
|
||||||
font="SansSerifSmall" h_pad="0" halign="left" height="12" left="360"
|
font="SansSerifSmall" h_pad="0" halign="left" height="12" left="370"
|
||||||
mouse_opaque="true" name="TerrainDetailText" v_pad="0" width="128">
|
mouse_opaque="true" name="TerrainDetailText" v_pad="0" width="128">
|
||||||
Terrain Detail:
|
Terrain Detail:
|
||||||
</text>
|
</text>
|
||||||
|
|||||||
Reference in New Issue
Block a user