• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1uniform half4 I, N;
2uniform half4 colorGreen, colorRed;
3
4half4 main(float2 xy) {
5    const half4 constI    = half4(1, -2, 3, -4);
6    const half4 constN    = half4(-5, 6, -7, 8);
7
8    half  expectedX    = half (-49);
9    half2 expectedXY   = half2(-169, 202);
10    half3 expectedXYZ  = half3(-379, 454, -529);
11    half4 expectedXYZW = half4(-699, 838, -977, 1116);
12
13    return (reflect(I.x,         N.x        ) == expectedX    &&
14            reflect(I.xy,        N.xy       ) == expectedXY   &&
15            reflect(I.xyz,       N.xyz      ) == expectedXYZ  &&
16            reflect(I.xyzw,      N.xyzw     ) == expectedXYZW &&
17            reflect(constI.x,    constN.x   ) == expectedX    &&
18            reflect(constI.xy,   constN.xy  ) == expectedXY   &&
19            reflect(constI.xyz,  constN.xyz ) == expectedXYZ  &&
20            reflect(constI.xyzw, constN.xyzw) == expectedXYZW) ? colorGreen
21                                                               : colorRed;
22}
23