• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1uniform half4 N, I, NRef;
2uniform half4 colorGreen, colorRed;
3
4half4 main(float2 xy) {
5
6    const half4 constN    = half4(1, 2, 3, 4);
7    const half4 constI    = half4(1, 1, -100, 1);
8    const half4 constNRef = half4(1);
9
10    half4 expectedPos =  half4(1, 2, 3, 4);
11    half4 expectedNeg = -half4(1, 2, 3, 4);
12
13    return (faceforward(N.x,         I.x,         NRef.x        ) == expectedNeg.x    &&
14            faceforward(N.xy,        I.xy,        NRef.xy       ) == expectedNeg.xy   &&
15            faceforward(N.xyz,       I.xyz,       NRef.xyz      ) == expectedPos.xyz  &&
16            faceforward(N.xyzw,      I.xyzw,      NRef.xyzw     ) == expectedPos.xyzw &&
17            faceforward(constN.x,    constI.x,    constNRef.x   ) == expectedNeg.x    &&
18            faceforward(constN.xy,   constI.xy,   constNRef.xy  ) == expectedNeg.xy   &&
19            faceforward(constN.xyz,  constI.xyz,  constNRef.xyz ) == expectedPos.xyz  &&
20            faceforward(constN.xyzw, constI.xyzw, constNRef.xyzw) == expectedPos.xyzw) ? colorGreen
21                                                                                       : colorRed;
22}
23