diff options
author | ruslantproductengine <ruslantproductengine@lindenlab.com> | 2019-08-09 20:46:38 +0300 |
---|---|---|
committer | ruslantproductengine <ruslantproductengine@lindenlab.com> | 2019-08-09 20:46:38 +0300 |
commit | 26a2e4ba1e69fafac350ae2f1dd9be2ad8f4c0f6 (patch) | |
tree | a33b7e3e6568077b27407b9171290f7838933648 | |
parent | cb49f2a79534212e9da83ff0ff7afaf05687daf2 (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.cpp | 4 | ||||
-rw-r--r-- | indra/newview/pipeline.cpp | 8 | ||||
-rw-r--r-- | indra/newview/pipeline.h | 4 |
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(); |