SL-18983 Fix for alpha HUDs not rendering.
parent
6f136d403b
commit
4694a46f7b
|
|
@ -115,8 +115,18 @@ static void prepare_alpha_shader(LLGLSLShader* shader, bool textureGamma, bool d
|
|||
}
|
||||
shader->uniform1i(LLShaderMgr::NO_ATMO, (LLPipeline::sRenderingHUDs) ? 1 : 0);
|
||||
shader->uniform1f(LLShaderMgr::DISPLAY_GAMMA, (gamma > 0.1f) ? 1.0f / gamma : (1.0f / 2.2f));
|
||||
shader->uniform1f(waterSign, water_sign);
|
||||
shader->uniform4fv(LLShaderMgr::WATER_WATERPLANE, 1, LLDrawPoolAlpha::sWaterPlane.mV);
|
||||
|
||||
if (LLPipeline::sRenderingHUDs)
|
||||
{ // for HUD attachments, only the pre-water pass is executed and we never want to clip anything
|
||||
LLVector4 near_clip(0, 0, -1, 0);
|
||||
shader->uniform1f(waterSign, 1.f);
|
||||
shader->uniform4fv(LLShaderMgr::WATER_WATERPLANE, 1, near_clip.mV);
|
||||
}
|
||||
else
|
||||
{
|
||||
shader->uniform1f(waterSign, water_sign);
|
||||
shader->uniform4fv(LLShaderMgr::WATER_WATERPLANE, 1, LLDrawPoolAlpha::sWaterPlane.mV);
|
||||
}
|
||||
|
||||
if (LLPipeline::sImpostorRender)
|
||||
{
|
||||
|
|
@ -605,18 +615,21 @@ void LLDrawPoolAlpha::renderAlpha(U32 mask, bool depth_only, bool rigged)
|
|||
LLSpatialBridge* bridge = group->getSpatialPartition()->asBridge();
|
||||
const LLVector4a* ext = bridge ? bridge->getSpatialExtents() : group->getExtents();
|
||||
|
||||
if (above_water)
|
||||
{ // reject any spatial groups that have no part above water
|
||||
if (ext[1].getF32ptr()[2] < water_height)
|
||||
{
|
||||
continue;
|
||||
if (!LLPipeline::sRenderingHUDs) // ignore above/below water for HUD render
|
||||
{
|
||||
if (above_water)
|
||||
{ // reject any spatial groups that have no part above water
|
||||
if (ext[1].getF32ptr()[2] < water_height)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{ // reject any spatial groups that he no part below water
|
||||
if (ext[0].getF32ptr()[2] > water_height)
|
||||
{
|
||||
continue;
|
||||
else
|
||||
{ // reject any spatial groups that he no part below water
|
||||
if (ext[0].getF32ptr()[2] > water_height)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1158,7 +1158,6 @@ void render_hud_attachments()
|
|||
gPipeline.toggleRenderType(LLPipeline::RENDER_TYPE_VOLUME);
|
||||
gPipeline.toggleRenderType(LLPipeline::RENDER_TYPE_ALPHA);
|
||||
gPipeline.toggleRenderType(LLPipeline::RENDER_TYPE_ALPHA_PRE_WATER);
|
||||
gPipeline.toggleRenderType(LLPipeline::RENDER_TYPE_ALPHA_POST_WATER);
|
||||
gPipeline.toggleRenderType(LLPipeline::RENDER_TYPE_ALPHA_MASK);
|
||||
gPipeline.toggleRenderType(LLPipeline::RENDER_TYPE_FULLBRIGHT_ALPHA_MASK);
|
||||
gPipeline.toggleRenderType(LLPipeline::RENDER_TYPE_FULLBRIGHT);
|
||||
|
|
|
|||
Loading…
Reference in New Issue