summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGraham Linden <graham@lindenlab.com>2013-09-25 12:29:02 -0700
committerGraham Linden <graham@lindenlab.com>2013-09-25 12:29:02 -0700
commit571920c7b4fb8966088e769c630cda3c149c4e39 (patch)
treee0d435d8479dbfddc77af1c79849700740511cda
parent71e986b0597341f9fcfb28f71bfbc46d65f08d88 (diff)
BUG-3982 add code to subtract the lack of not removing the removal of backfaces for particles (make particles render double-sided again)
-rwxr-xr-xindra/newview/lldrawpoolalpha.cpp13
-rwxr-xr-xindra/newview/llvopartgroup.cpp4
2 files changed, 10 insertions, 7 deletions
diff --git a/indra/newview/lldrawpoolalpha.cpp b/indra/newview/lldrawpoolalpha.cpp
index e4ebfea665..7741dd66e5 100755
--- a/indra/newview/lldrawpoolalpha.cpp
+++ b/indra/newview/lldrawpoolalpha.cpp
@@ -379,10 +379,18 @@ void LLDrawPoolAlpha::renderAlpha(U32 mask, S32 pass)
if (group->mSpatialPartition->mRenderByGroup &&
!group->isDead())
{
+ bool is_particle_or_hud_particle = group->mSpatialPartition->mPartitionType == LLViewerRegion::PARTITION_PARTICLE
+ || group->mSpatialPartition->mPartitionType == LLViewerRegion::PARTITION_HUD_PARTICLE;
+
bool draw_glow_for_this_partition = mVertexShaderLevel > 0 && // no shaders = no glow.
// All particle systems seem to come off the wire with texture entries which claim that they glow. This is probably a bug in the data. Suppress.
- group->mSpatialPartition->mPartitionType != LLViewerRegion::PARTITION_PARTICLE &&
- group->mSpatialPartition->mPartitionType != LLViewerRegion::PARTITION_HUD_PARTICLE;
+ !is_particle_or_hud_particle;
+
+ static LLFastTimer::DeclareTimer FTM_RENDER_ALPHA_GROUP_LOOP("Alpha Group");
+ LLFastTimer t(FTM_RENDER_ALPHA_GROUP_LOOP);
+
+ bool disable_cull = is_particle_or_hud_particle;
+ LLGLDisable cull(disable_cull ? GL_CULL_FACE : 0);
LLSpatialGroup::drawmap_elem_t& draw_info = group->mDrawMap[LLRenderPass::PASS_ALPHA];
@@ -615,4 +623,3 @@ void LLDrawPoolAlpha::renderAlpha(U32 mask, S32 pass)
gPipeline.enableLightsDynamic();
}
}
-
diff --git a/indra/newview/llvopartgroup.cpp b/indra/newview/llvopartgroup.cpp
index 1630b5d484..9f4f11b317 100755
--- a/indra/newview/llvopartgroup.cpp
+++ b/indra/newview/llvopartgroup.cpp
@@ -285,10 +285,6 @@ void LLVOPartGroup::getBlendFunc(S32 idx, U32& src, U32& dst)
src = part->mBlendFuncSource;
dst = part->mBlendFuncDest;
}
- else
- {
- llerrs << "WTF?" << llendl;
- }
}
LLVector3 LLVOPartGroup::getCameraPosition() const