uniform float opacity; | |
uniform bool invert_color; | |
uniform sampler2D tex; | |
void main() { | |
vec4 c = texture2D(tex, gl_TexCoord[0]); | |
float eps = 0.004f; | |
float eps1 = 1.0f / 255.0f; | |
if (invert_color) | |
c = vec4(vec3(c.a, c.a, c.a) - vec3(c), c.a); | |
if((c.r > 0.2343+eps1-eps && c.r < 0.2343+eps1+eps && | |
c.g > 0.2343+eps1-eps && c.g < 0.2343+eps1+eps && | |
c.b > 0.2343+eps1-eps && c.b < 0.2343+eps1+eps) | |
) | |
{ } | |
else { c *= opacity; } | |
gl_FragColor = c; | |
} |
uniform float opacity; | |
uniform bool invert_color; | |
uniform sampler2D tex; | |
void main() { | |
vec4 c = texture2D(tex, gl_TexCoord[0]); | |
float eps = 0.004f; | |
float eps1 = 1.0f / 255.0f; | |
if (invert_color) | |
c = vec4(vec3(c.a, c.a, c.a) - vec3(c), c.a); | |
// Some Greybird Background Colors: 0xF4F4F4 (Menu bk), 0xFEFEFE (Textbox bk), 0xCECECE (Grey bk) | |
if((c.r > 0.807+eps1-eps && c.r < 0.807+eps1+eps && | |
c.g > 0.807+eps1-eps && c.g < 0.807+eps1+eps && | |
c.b > 0.807+eps1-eps && c.b < 0.807+eps1+eps) || | |
(c.r > 0.953+eps1-eps && c.r < 0.953+eps1+eps && | |
c.g > 0.953+eps1-eps && c.g < 0.953+eps1+eps && | |
c.b > 0.953+eps1-eps && c.b < 0.953+eps1+eps) || | |
(c.r > 0.988+eps1-eps && c.r < 0.988+eps1+eps && | |
c.g > 0.988+eps1-eps && c.g < 0.988+eps1+eps && | |
c.b > 0.988+eps1-eps && c.b < 0.988+eps1+eps) | |
) | |
{ c *= opacity; } | |
else { } | |
gl_FragColor = c; | |
} |
1
quadpixels OP 注意:
其中的颜色值是截图量出来然后写到自定义Shader里的。 所用的主题是Greybird,前景色是0x3C3C3C = (0.234, 0.234, 0.234);背景色有三种,0xF4F4F4,0xFCFCFC,0xCECECE,按同样的方法转换就可以了。 |
2
jialiang2015 2015-05-12 18:46:49 +08:00
翻了翻,这似乎是development版本中新增的功能(我一直在用v0.1_beta2……- -)
|