diff options
Diffstat (limited to 'intern/opencolorio/ocio_impl_glsl.cc')
-rw-r--r-- | intern/opencolorio/ocio_impl_glsl.cc | 19 |
1 files changed, 8 insertions, 11 deletions
diff --git a/intern/opencolorio/ocio_impl_glsl.cc b/intern/opencolorio/ocio_impl_glsl.cc index 0c96a000b9e..3dbf7c9f7cb 100644 --- a/intern/opencolorio/ocio_impl_glsl.cc +++ b/intern/opencolorio/ocio_impl_glsl.cc @@ -92,18 +92,15 @@ static const char *g_fragShaderText = "" "void main()\n" "{\n" " vec4 col = texture2D(tex1, gl_TexCoord[0].st);\n" -" if (predivide == false || col[3] == 1.0 || col[3] == 0.0) {\n" -" gl_FragColor = OCIODisplay(col, tex2);\n" -" } else {\n" -" float alpha = col[3];\n" -" float inv_alpha = 1.0 / alpha;\n" +" float inv_alpha = 1.0;" +" if (predivide == false || col[3] <= 0.0 || col[3] >= 1.0) {\n" +" float inv_alpha = 1.0 / col[3];\n" +"}\n" +" col[0] *= inv_alpha;\n" +" col[1] *= inv_alpha;\n" +" col[2] *= inv_alpha;\n" "\n" -" col[0] *= inv_alpha;\n" -" col[1] *= inv_alpha;\n" -" col[2] *= inv_alpha;\n" -"\n" -" gl_FragColor = OCIODisplay(col, tex2);\n" -" }\n" +" gl_FragColor = OCIODisplay(col, tex2);\n" "\n" "}\n"; |