summaryrefslogtreecommitdiff
path: root/indra/newview
diff options
context:
space:
mode:
authorGraham Linden <graham@lindenlab.com>2019-07-22 15:44:35 -0700
committerGraham Linden <graham@lindenlab.com>2019-07-22 15:44:35 -0700
commitb3466243073c2693be4c32b3586a191c30095d01 (patch)
tree6f990c486b83c203ab67277a4a673cc3971ff84f /indra/newview
parentaa4b24beee1d6451370983517d7ac3755429e26f (diff)
SL-10761
Make vograss objects set their face vert/index counts to 0 when setting the number of blades to 0 to disable rendering so we don't allocate space and then skip setting it up with actual index data in getGeometry.
Diffstat (limited to 'indra/newview')
-rw-r--r--indra/newview/lldrawpool.cpp2
-rw-r--r--indra/newview/llvograss.cpp23
2 files changed, 5 insertions, 20 deletions
diff --git a/indra/newview/lldrawpool.cpp b/indra/newview/lldrawpool.cpp
index b110a6a810..2aee7b450a 100644
--- a/indra/newview/lldrawpool.cpp
+++ b/indra/newview/lldrawpool.cpp
@@ -408,7 +408,7 @@ void LLRenderPass::renderGroup(LLSpatialGroup* group, U32 type, U32 mask, BOOL t
void LLRenderPass::renderTexture(U32 type, U32 mask, BOOL batch_textures)
{
- pushBatches(type, mask, batch_textures);
+ pushBatches(type, mask, true, batch_textures);
}
void LLRenderPass::pushBatches(U32 type, U32 mask, BOOL texture, BOOL batch_textures)
diff --git a/indra/newview/llvograss.cpp b/indra/newview/llvograss.cpp
index d651d540b9..f4a5d60f7c 100644
--- a/indra/newview/llvograss.cpp
+++ b/indra/newview/llvograss.cpp
@@ -289,23 +289,6 @@ void LLVOGrass::idleUpdate(LLAgent &agent, const F64 &time)
return;
}
- if(LLVOTree::isTreeRenderingStopped()) //stop rendering grass
- {
- if(mNumBlades)
- {
- mNumBlades = 0 ;
- gPipeline.markRebuild(mDrawable, LLDrawable::REBUILD_ALL, TRUE);
- }
- return;
- }
- else if(!mNumBlades)//restart grass rendering
- {
- 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 +335,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 +353,6 @@ BOOL LLVOGrass::updateLOD()
mNumBlades = GRASS_MAX_BLADES;
}
- LLFace* face = mDrawable->getFace(0);
-
F32 tan_angle = 0.f;
S32 num_blades = 0;