summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorruslantproductengine <ruslantproductengine@lindenlab.com>2019-08-09 20:46:38 +0300
committerruslantproductengine <ruslantproductengine@lindenlab.com>2019-08-09 20:46:38 +0300
commit26a2e4ba1e69fafac350ae2f1dd9be2ad8f4c0f6 (patch)
treea33b7e3e6568077b27407b9171290f7838933648
parentcb49f2a79534212e9da83ff0ff7afaf05687daf2 (diff)
SL-11614 Rotating objects flicker if Render type Avatar is disabled
SL-1232 Derendering Avatar type also derenders some rezzed mesh objects SL-10357 [LOVE ME RENDER] Screen Artifacts in Specific Region(s) - Fixed
-rw-r--r--indra/newview/llviewerdisplay.cpp4
-rw-r--r--indra/newview/pipeline.cpp8
-rw-r--r--indra/newview/pipeline.h4
3 files changed, 8 insertions, 8 deletions
diff --git a/indra/newview/llviewerdisplay.cpp b/indra/newview/llviewerdisplay.cpp
index 64f6123f5d..7fc9d5d8e7 100644
--- a/indra/newview/llviewerdisplay.cpp
+++ b/indra/newview/llviewerdisplay.cpp
@@ -1,4 +1,4 @@
-/**
+/**
* @file llviewerdisplay.cpp
* @brief LLViewerDisplay class implementation
*
@@ -1128,7 +1128,7 @@ void render_hud_attachments()
LLSpatialGroup::sNoDelete = TRUE;
LLViewerCamera::sCurCameraID = LLViewerCamera::CAMERA_WORLD;
- gPipeline.updateCull(hud_cam, result);
+ gPipeline.updateCull(hud_cam, result, 0, NULL, true);
gPipeline.toggleRenderType(LLPipeline::RENDER_TYPE_BUMP);
gPipeline.toggleRenderType(LLPipeline::RENDER_TYPE_SIMPLE);
diff --git a/indra/newview/pipeline.cpp b/indra/newview/pipeline.cpp
index a72244929e..63dc3f899e 100644
--- a/indra/newview/pipeline.cpp
+++ b/indra/newview/pipeline.cpp
@@ -1,4 +1,4 @@
-/**
+/**
* @file pipeline.cpp
* @brief Rendering pipeline.
*
@@ -2396,7 +2396,7 @@ bool LLPipeline::getVisibleExtents(LLCamera& camera, LLVector3& min, LLVector3&
static LLTrace::BlockTimerStatHandle FTM_CULL("Object Culling");
-void LLPipeline::updateCull(LLCamera& camera, LLCullResult& result, S32 water_clip, LLPlane* planep)
+void LLPipeline::updateCull(LLCamera& camera, LLCullResult& result, S32 water_clip, LLPlane* planep, bool hud_attachments)
{
static LLCachedControl<bool> use_occlusion(gSavedSettings,"UseOcclusion");
static bool can_use_occlusion = LLGLSLShader::sNoFixedFunction
@@ -2514,9 +2514,9 @@ void LLPipeline::updateCull(LLCamera& camera, LLCullResult& result, S32 water_cl
LLSpatialPartition* part = region->getSpatialPartition(i);
if (part)
{
- if (hasRenderType(part->mDrawableType))
+ if (!hud_attachments ? LLViewerRegion::PARTITION_BRIDGE == i || hasRenderType(part->mDrawableType) : hasRenderType(part->mDrawableType))
{
- part->cull(camera);
+ part->cull(camera);
}
}
}
diff --git a/indra/newview/pipeline.h b/indra/newview/pipeline.h
index 29fe1cbd33..abce1e46a6 100644
--- a/indra/newview/pipeline.h
+++ b/indra/newview/pipeline.h
@@ -1,4 +1,4 @@
-/**
+/**
* @file pipeline.h
* @brief Rendering pipeline definitions
*
@@ -237,7 +237,7 @@ public:
bool visibleObjectsInFrustum(LLCamera& camera);
bool getVisibleExtents(LLCamera& camera, LLVector3 &min, LLVector3& max);
bool getVisiblePointCloud(LLCamera& camera, LLVector3 &min, LLVector3& max, std::vector<LLVector3>& fp, LLVector3 light_dir = LLVector3(0,0,0));
- void updateCull(LLCamera& camera, LLCullResult& result, S32 water_clip = 0, LLPlane* plane = NULL); //if water_clip is 0, ignore water plane, 1, cull to above plane, -1, cull to below plane
+ void updateCull(LLCamera& camera, LLCullResult& result, S32 water_clip = 0, LLPlane* plane = NULL, bool hud_attachments = false); //if water_clip is 0, ignore water plane, 1, cull to above plane, -1, cull to below plane
void createObjects(F32 max_dtime);
void createObject(LLViewerObject* vobj);
void processPartitionQ();