-----------\r
\r
o Added support for chroma keying.\r
+ o Fixed bug where MIXER CONTRAST set to < 1 can cause transparency issues.\r
\r
Consumers\r
---------\r
+ flash producer /buffer [buffered] [buffer size]\r
+ image producer /file/path [file path]\r
\r
+\r
CasparCG 2.0.3 Stable (w.r.t 2.0.3 Alpha)\r
=========================================\r
\r
"\n ** http://irrlicht.sourceforge.net/phpBB2/viewtopic.php?t=21057 "\r
"\n */ "\r
"\n "\r
- "\n vec3 ContrastSaturationBrightness(vec3 color, float brt, float sat, float con) "\r
+ "\n vec3 ContrastSaturationBrightness(vec4 color, float brt, float sat, float con) "\r
"\n { "\r
"\n const float AvgLumR = 0.5; "\r
"\n const float AvgLumG = 0.5; "\r
"\n const float AvgLumB = 0.5; "\r
"\n "\r
"\n const vec3 LumCoeff = vec3(0.2125, 0.7154, 0.0721); "\r
+ "\n bool demultiply_remultiply = con < 1.0; "\r
+ "\n "\r
+ "\n if (demultiply_remultiply && color.a > 0.0) "\r
+ "\n color.rgb /= color.a; "\r
"\n "\r
"\n vec3 AvgLumin = vec3(AvgLumR, AvgLumG, AvgLumB); "\r
- "\n vec3 brtColor = color * brt; "\r
+ "\n vec3 brtColor = color.rgb * brt; "\r
"\n vec3 intensity = vec3(dot(brtColor, LumCoeff)); "\r
"\n vec3 satColor = mix(intensity, brtColor, sat); "\r
"\n vec3 conColor = mix(AvgLumin, satColor, con); "\r
+ "\n "\r
+ "\n if (demultiply_remultiply) "\r
+ "\n conColor.rgb *= color.a; "\r
+ "\n "\r
"\n return conColor; "\r
"\n } "\r
"\n "\r
" if(levels) \n"\r
" color.rgb = LevelsControl(color.rgb, min_input, max_input, gamma, min_output, max_output); \n"\r
" if(csb) \n"\r
- " color.rgb = ContrastSaturationBrightness(color.rgb, brt, sat, con); \n"\r
+ " color.rgb = ContrastSaturationBrightness(color, brt, sat, con); \n"\r
" if(has_local_key) \n"\r
" color *= texture2D(local_key, gl_TexCoord[1].st).r; \n"\r
" if(has_layer_key) \n"\r