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

@@ -95,7 +95,9 @@ void LLDrawable::init()
mRenderType = 0;
mCurrentScale = LLVector3(1,1,1);
mDistanceWRTCamera = 0.0f;
mPositionGroup.clearVec();
mExtents[0].clear();
mExtents[1].clear();
mQuietCount = 0;
mState = 0;
@@ -177,6 +179,11 @@ LLVOVolume* LLDrawable::getVOVolume() const
}
}
const LLMatrix4& LLDrawable::getRenderMatrix() const
{
return isRoot() ? getWorldMatrix() : getParent()->getWorldMatrix();
}
BOOL LLDrawable::isLight() const
{
LLViewerObject* objectp = mVObjp;
@@ -571,7 +578,10 @@ void LLDrawable::setRadius(F32 radius)
void LLDrawable::moveUpdatePipeline(BOOL moved)
{
makeActive();
if (moved)
{
makeActive();
}
// Update the face centers.
for (S32 i = 0; i < getNumFaces(); i++)
@@ -679,7 +689,8 @@ void LLDrawable::updateDistance(LLCamera& camera, bool force_update)
{
if (LLViewerCamera::sCurCameraID != LLViewerCamera::CAMERA_WORLD)
{
llerrs << "WTF?" << llendl;
llwarns << "Attempted to update distance for non-world camera." << llendl;
return;
}
//switch LOD with the spatial group to avoid artifacts
@@ -748,7 +759,7 @@ void LLDrawable::updateTexture()
if (getVOVolume())
{
if (isActive())
/*if (isActive())
{
if (isRoot())
{
@@ -758,7 +769,7 @@ void LLDrawable::updateTexture()
{
getParent()->mQuietCount = 0;
}
}
}*/
gPipeline.markRebuild(this, LLDrawable::REBUILD_MATERIAL, TRUE);
}