| uniform half4 I, N; |
| uniform half4 colorGreen, colorRed; |
| |
| half4 main(float2 xy) { |
| const half4 constI = half4(1, -2, 3, -4); |
| const half4 constN = half4(-5, 6, -7, 8); |
| |
| half expectedX = half (-49); |
| half2 expectedXY = half2(-169, 202); |
| half3 expectedXYZ = half3(-379, 454, -529); |
| half4 expectedXYZW = half4(-699, 838, -977, 1116); |
| |
| return (reflect(I.x, N.x ) == expectedX && |
| reflect(I.xy, N.xy ) == expectedXY && |
| reflect(I.xyz, N.xyz ) == expectedXYZ && |
| reflect(I.xyzw, N.xyzw ) == expectedXYZW && |
| reflect(constI.x, constN.x ) == expectedX && |
| reflect(constI.xy, constN.xy ) == expectedXY && |
| reflect(constI.xyz, constN.xyz ) == expectedXYZ && |
| reflect(constI.xyzw, constN.xyzw) == expectedXYZW) ? colorGreen |
| : colorRed; |
| } |