diff --git a/src/renderer/gl_engine/tvgGlShaderSrc.cpp b/src/renderer/gl_engine/tvgGlShaderSrc.cpp index 368d66c5..e123cfb6 100644 --- a/src/renderer/gl_engine/tvgGlShaderSrc.cpp +++ b/src/renderer/gl_engine/tvgGlShaderSrc.cpp @@ -436,7 +436,7 @@ const char* MASK_LUMA_FRAG_SHADER = TVG_COMPOSE_SHADER( maskColor = vec4(maskColor.rgb / maskColor.a, maskColor.a); \n } \n \n - FragColor = srcColor * (0.299 * maskColor.r + 0.587 * maskColor.g + 0.114 * maskColor.b) * maskColor.a; \n + FragColor = srcColor * dot(maskColor.rgb, vec3(0.2125, 0.7154, 0.0721)) * maskColor.a; \n } \n ); @@ -450,7 +450,7 @@ const char* MASK_INV_LUMA_FRAG_SHADER = TVG_COMPOSE_SHADER( { \n vec4 srcColor = texture(uSrcTexture, vUV); \n vec4 maskColor = texture(uMaskTexture, vUV); \n - float luma = (0.299 * maskColor.r + 0.587 * maskColor.g + 0.114 * maskColor.b); \n + float luma = dot(maskColor.rgb, vec3(0.2125, 0.7154, 0.0721)); \n FragColor = srcColor * (1.0 - luma); \n } \n );