summaryrefslogtreecommitdiff
path: root/indra/newview/llvograss.cpp
diff options
context:
space:
mode:
authorAndrey Kleshchev <andreykproductengine@lindenlab.com>2020-04-20 18:14:37 +0000
committerAndrey Kleshchev <andreykproductengine@lindenlab.com>2020-04-20 18:14:37 +0000
commit9634bcf488f45675e53a761808f59881b57cbe8c (patch)
tree40b695d7acb23e381331bda92c9f7550d655749e /indra/newview/llvograss.cpp
parentde17c53ae32fef76827201ed24a5af137af12313 (diff)
parentd7f1c88c35849e56f5b352f13c16a08467d1533b (diff)
Merged master into DRTVWR-508
Diffstat (limited to 'indra/newview/llvograss.cpp')
-rw-r--r--indra/newview/llvograss.cpp22
1 files changed, 6 insertions, 16 deletions
diff --git a/indra/newview/llvograss.cpp b/indra/newview/llvograss.cpp
index d651d540b9..345e87eea8 100644
--- a/indra/newview/llvograss.cpp
+++ b/indra/newview/llvograss.cpp
@@ -288,24 +288,12 @@ void LLVOGrass::idleUpdate(LLAgent &agent, const F64 &time)
// So drones work.
return;
}
-
- if(LLVOTree::isTreeRenderingStopped()) //stop rendering grass
+ if (!LLVOTree::isTreeRenderingStopped() && !mNumBlades)//restart grass rendering
{
- if(mNumBlades)
- {
- mNumBlades = 0 ;
- gPipeline.markRebuild(mDrawable, LLDrawable::REBUILD_ALL, TRUE);
- }
- return;
- }
- else if(!mNumBlades)//restart grass rendering
- {
- mNumBlades = GRASS_MAX_BLADES ;
+ mNumBlades = GRASS_MAX_BLADES;
gPipeline.markRebuild(mDrawable, LLDrawable::REBUILD_ALL, TRUE);
-
return;
}
-
if (mPatch && (mLastPatchUpdateTime != mPatch->getLastUpdateTime()))
{
gPipeline.markRebuild(mDrawable, LLDrawable::REBUILD_VOLUME, TRUE);
@@ -352,11 +340,15 @@ BOOL LLVOGrass::updateLOD()
{
return FALSE;
}
+
+ LLFace* face = mDrawable->getFace(0);
+
if(LLVOTree::isTreeRenderingStopped())
{
if(mNumBlades)
{
mNumBlades = 0 ;
+ face->setSize(0, 0);
gPipeline.markRebuild(mDrawable, LLDrawable::REBUILD_ALL, TRUE);
}
return TRUE ;
@@ -366,8 +358,6 @@ BOOL LLVOGrass::updateLOD()
mNumBlades = GRASS_MAX_BLADES;
}
- LLFace* face = mDrawable->getFace(0);
-
F32 tan_angle = 0.f;
S32 num_blades = 0;