out vec4 sk_FragColor; | |
uniform vec4 colorGreen; | |
uniform vec4 colorRed; | |
vec4 main() { | |
vec4 value = colorGreen.yyyy * 6.0; | |
ivec4 exp; | |
vec4 result; | |
bvec4 ok; | |
result.x = frexp(value.x, exp.x); | |
ok.x = result.x == 0.75 && exp.x == 3; | |
result.xy = frexp(value.xy, exp.xy); | |
ok.y = result.y == 0.75 && exp.y == 3; | |
result.xyz = frexp(value.xyz, exp.xyz); | |
ok.z = result.z == 0.75 && exp.z == 3; | |
result = frexp(value, exp); | |
ok.w = result.w == 0.75 && exp.w == 3; | |
return all(ok) ? colorGreen : colorRed; | |
} |