Octree capacites/radii/distances definable via settings.

This commit is contained in:
Shyotl
2011-07-19 03:42:30 -05:00
parent 52570a7f61
commit 179c1bcc0c
13 changed files with 222 additions and 41 deletions

View File

@@ -63,6 +63,7 @@
#include "pipeline.h"
#include "llviewerjoystick.h"
#include "llviewerparcelmedia.h"
#include "llviewerobjectlist.h"
#include "llviewerparcelmgr.h"
#include "llparcel.h"
#include "llnotify.h"
@@ -78,7 +79,6 @@
#include "llfloaterchat.h"
#include "statemachine/aistatemachine.h"
#include "aithreadsafe.h"
#include "llviewerobjectlist.h"
#include "lldrawpoolbump.h"
#include "emeraldboobutils.h"
@@ -422,6 +422,16 @@ static bool handleResetVertexBuffersChanged(const LLSD&)
return true;
}
static bool handleRepartition(const LLSD&)
{
if (gPipeline.isInit())
{
gOctreeMaxCapacity = gSavedSettings.getU32("OctreeMaxNodeCapacity");
gObjectList.repartitionObjects();
}
return true;
}
static bool handleRenderDynamicLODChanged(const LLSD& newvalue)
{
LLPipeline::sDynamicLOD = newvalue.asBoolean();
@@ -595,6 +605,11 @@ void settings_setup_listeners()
gSavedSettings.getControl("FirstPersonAvatarVisible")->getSignal()->connect(boost::bind(&handleRenderAvatarMouselookChanged, _2));
gSavedSettings.getControl("RenderFarClip")->getSignal()->connect(boost::bind(&handleRenderFarClipChanged, _2));
gSavedSettings.getControl("RenderTerrainDetail")->getSignal()->connect(boost::bind(&handleTerrainDetailChanged, _2));
gSavedSettings.getControl("OctreeStaticObjectSizeFactor")->getSignal()->connect(boost::bind(&handleRepartition, _2));
gSavedSettings.getControl("OctreeDistanceFactor")->getSignal()->connect(boost::bind(&handleRepartition, _2));
gSavedSettings.getControl("OctreeMaxNodeCapacity")->getSignal()->connect(boost::bind(&handleRepartition, _2));
gSavedSettings.getControl("OctreeAlphaDistanceFactor")->getSignal()->connect(boost::bind(&handleRepartition, _2));
gSavedSettings.getControl("OctreeAttachmentSizeFactor")->getSignal()->connect(boost::bind(&handleRepartition, _2));
gSavedSettings.getControl("RenderAnimateTrees")->getSignal()->connect(boost::bind(&handleResetVertexBuffersChanged, _2));
gSavedSettings.getControl("RenderAvatarVP")->getSignal()->connect(boost::bind(&handleSetShaderChanged, _2));
gSavedSettings.getControl("VertexShaderEnable")->getSignal()->connect(boost::bind(&handleSetShaderChanged, _2));