diff options
author | Graham Linden <graham@lindenlab.com> | 2019-06-10 14:54:47 -0700 |
---|---|---|
committer | Graham Linden <graham@lindenlab.com> | 2019-06-10 14:54:47 -0700 |
commit | c15baecbfbc9baffdeb6ec53b7e4090470514657 (patch) | |
tree | 2b78b844174ff68a8228108730b7136df6d68422 /indra/newview/pipeline.cpp | |
parent | 6d90dd996ed4381726a2c1666c0ea3af0984c7af (diff) |
SL-11370
Modify culling logic to exclude objects correctly in < Mid graphics.
Diffstat (limited to 'indra/newview/pipeline.cpp')
-rw-r--r-- | indra/newview/pipeline.cpp | 25 |
1 files changed, 18 insertions, 7 deletions
diff --git a/indra/newview/pipeline.cpp b/indra/newview/pipeline.cpp index 7e819c0a52..d4c25a4ebc 100644 --- a/indra/newview/pipeline.cpp +++ b/indra/newview/pipeline.cpp @@ -9360,8 +9360,6 @@ void LLPipeline::generateWaterReflection(LLCamera& camera_in) updateCull(camera, mSky); stateSort(camera, mSky); - gPipeline.grabReferences(mSky); - renderGeom(camera, TRUE); gPipeline.popRenderTypeMask(); @@ -9395,7 +9393,6 @@ void LLPipeline::generateWaterReflection(LLCamera& camera_in) LLGLDisable cull(GL_CULL_FACE); updateCull(camera, mReflectedObjects, -water_clip, &plane); stateSort(camera, mReflectedObjects); - gPipeline.grabReferences(mReflectedObjects); renderGeom(camera); } @@ -9472,11 +9469,25 @@ void LLPipeline::generateWaterReflection(LLCamera& camera_in) clip_plane.disable(); } - updateCull(camera, mRefractedObjects, water_clip, &plane); - stateSort(camera, mRefractedObjects); - gPipeline.grabReferences(mRefractedObjects); + if (detail > 0) + { + if (detail < 4) + { + clearRenderTypeMask(LLPipeline::RENDER_TYPE_PARTICLES, END_RENDER_TYPES); + if (detail < 3) + { + clearRenderTypeMask(LLPipeline::RENDER_TYPE_AVATAR, END_RENDER_TYPES); + if (detail < 2) + { + clearRenderTypeMask(LLPipeline::RENDER_TYPE_VOLUME, END_RENDER_TYPES); + } + } + } - renderGeom(camera); + updateCull(camera, mRefractedObjects, water_clip, &plane); + stateSort(camera, mRefractedObjects); + renderGeom(camera); + } if (LLGLSLShader::sNoFixedFunction) { |