SL-19835 Followup -- fix for emissive alpha objects blocking water rendering
parent
3305fbe1cf
commit
47be24e467
|
|
@ -353,24 +353,6 @@ void main()
|
|||
|
||||
float glare = 0.0;
|
||||
|
||||
#if 0 //wrong implementation
|
||||
if (glossiness > 0.0) // specular reflection
|
||||
{
|
||||
float sa = dot(normalize(refnormpersp), light_dir.xyz);
|
||||
vec3 dumbshiny = sunlit_linear * shadow * (texture(lightFunc, vec2(sa, glossiness)).r);
|
||||
|
||||
// add the two types of shiny together
|
||||
vec3 spec_contrib = dumbshiny * spec.rgb;
|
||||
bloom = dot(spec_contrib, spec_contrib) / 6;
|
||||
|
||||
glare = max(spec_contrib.r, spec_contrib.g);
|
||||
glare = max(glare, spec_contrib.b);
|
||||
|
||||
color += spec_contrib;
|
||||
|
||||
applyGlossEnv(color, glossenv, spec, pos.xyz, norm.xyz);
|
||||
}
|
||||
#else //right implementation ported from pointLightF.glsl
|
||||
if (glossiness > 0.0)
|
||||
{
|
||||
vec3 lv = light_dir.xyz;
|
||||
|
|
@ -395,7 +377,6 @@ void main()
|
|||
// add radiance map
|
||||
applyGlossEnv(color, glossenv, spec, pos.xyz, norm.xyz);
|
||||
}
|
||||
#endif
|
||||
|
||||
color = mix(color.rgb, legacy_adjust_fullbright(diffcol.rgb), emissive);
|
||||
|
||||
|
|
|
|||
|
|
@ -649,8 +649,6 @@ void LLDrawPoolAlpha::renderAlpha(U32 mask, bool depth_only, bool rigged)
|
|||
bool is_particle_or_hud_particle = group->getSpatialPartition()->mPartitionType == LLViewerRegion::PARTITION_PARTICLE
|
||||
|| group->getSpatialPartition()->mPartitionType == LLViewerRegion::PARTITION_HUD_PARTICLE;
|
||||
|
||||
bool draw_glow_for_this_partition = mShaderLevel > 0; // no shaders = no glow.
|
||||
|
||||
bool disable_cull = is_particle_or_hud_particle;
|
||||
LLGLDisable cull(disable_cull ? GL_CULL_FACE : 0);
|
||||
|
||||
|
|
@ -818,7 +816,7 @@ void LLDrawPoolAlpha::renderAlpha(U32 mask, bool depth_only, bool rigged)
|
|||
}
|
||||
|
||||
// If this alpha mesh has glow, then draw it a second time to add the destination-alpha (=glow). Interleaving these state-changing calls is expensive, but glow must be drawn Z-sorted with alpha.
|
||||
if (draw_glow_for_this_partition &&
|
||||
if (getType() != LLDrawPool::POOL_ALPHA_PRE_WATER &&
|
||||
params.mVertexBuffer->hasDataType(LLVertexBuffer::TYPE_EMISSIVE))
|
||||
{
|
||||
if (params.mAvatar != nullptr)
|
||||
|
|
|
|||
Loading…
Reference in New Issue