Merged in euclid_SL-12784 (pull request #35)

SL-12784 disambiguate vertex_color.a of 0
meow-7.2.2
Dave Houlton 2020-03-13 21:09:24 +00:00
commit 0ac71ec5e3
1 changed files with 10 additions and 1 deletions

View File

@ -217,7 +217,16 @@ void main()
vec2 pos_screen = vary_texcoord0.xy;
vec4 diffuse_srgb = texture2D(diffuseMap, vary_texcoord0.xy);
diffuse_srgb *= vertex_color;
diffuse_srgb.rgb *= vertex_color.rgb;
// For some reason the Transparency slider sets vertex_color.a to 0.0 both for
// fully opaque and for fully transparent objects. This code assumes the 0 alpha
// is always from the opaque end of the scale. TODO: Remove the conditional once
// the root cause of the slider ambiguity is fixed.
if (vertex_color.a > 0.0)
{
diffuse_srgb.a *= vertex_color.a;
}
vec4 diffuse_linear = vec4(srgb_to_linear(diffuse_srgb.rgb), diffuse_srgb.a);
#if (DIFFUSE_ALPHA_MODE == DIFFUSE_ALPHA_MODE_MASK)