25 lines
549 B
GLSL
25 lines
549 B
GLSL
#pragma BLENDER_REQUIRE(common_colormanagement_lib.glsl)
|
|
|
|
void main()
|
|
{
|
|
vec2 uvs_clamped = clamp(uvs, 0.0, 1.0);
|
|
vec4 tex_color;
|
|
tex_color = texture_read_as_linearrgb(imgTexture, imgPremultiplied, uvs_clamped);
|
|
|
|
fragColor = tex_color * ucolor;
|
|
|
|
if (!imgAlphaBlend) {
|
|
/* Arbitrary discard anything below 5% opacity.
|
|
* Note that this could be exposed to the User. */
|
|
if (tex_color.a < 0.05) {
|
|
discard;
|
|
}
|
|
else {
|
|
fragColor.a = 1.0;
|
|
}
|
|
}
|
|
|
|
/* Pre-multiplied blending. */
|
|
fragColor.rgb *= fragColor.a;
|
|
}
|