| uniform half4 colorGreen, colorRed; |
| |
| half4 main(float2 coords) { |
| float4 value = colorGreen.gggg * 2.5; |
| float4 whole, fraction; |
| bool4 ok; |
| |
| // 2.5 equals 2 + 0.5. |
| fraction.x = modf(value.x, whole.x); |
| ok.x = whole.x == 2 && fraction.x == 0.5; |
| fraction.xy = modf(value.xy, whole.xy); |
| ok.y = whole.y == 2 && fraction.y == 0.5; |
| fraction.xyz = modf(value.xyz, whole.xyz); |
| ok.z = whole.z == 2 && fraction.z == 0.5; |
| fraction.xyzw = modf(value.xyzw, whole.xyzw); |
| ok.w = whole.w == 2 && fraction.w == 0.5; |
| |
| return all(ok) ? colorGreen : colorRed; |
| } |