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
meow-7.2.2
ruslantproductengine 2019-08-09 20:46:38 +03:00
parent cb49f2a795
commit 26a2e4ba1e
3 changed files with 8 additions and 8 deletions

View File

@ -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);

View File

@ -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);
}
}
}

View File

@ -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();