This glsl shader works for OCIO with alpha. OSX iMac with ATI.

There's no logical reason I can find... but I commit it because many others have
the same error, so we can check.
This commit is contained in:
Ton Roosendaal 2013-04-28 10:46:18 +00:00
parent 24a4e195cd
commit e355abebee

@ -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";