• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#version 450
2
3flat in int   i1;
4flat in ivec2 i2;
5flat in ivec3 i3;
6flat in ivec4 i4;
7
8flat in uint  u1;
9flat in uvec2 u2;
10flat in uvec3 u3;
11flat in uvec4 u4;
12
13in float f1;
14in vec2  f2;
15in vec3  f3;
16in vec4  f4;
17
18out vec4 fragColor;
19
20void main()
21{
22	ivec4 idata = ivec4(0);
23	idata.x     += floatBitsToInt(f1);
24	idata.xy    += floatBitsToInt(f2);
25	idata.xyz   += floatBitsToInt(f3);
26	idata       += floatBitsToInt(f4);
27
28	uvec4 udata = uvec4(0);
29	udata.x     += floatBitsToUint(f1);
30	udata.xy    += floatBitsToUint(f2);
31	udata.xyz   += floatBitsToUint(f3);
32	udata       += floatBitsToUint(f4);
33
34	vec4 fdata = vec4(0.0);
35	fdata.x     += intBitsToFloat(i1);
36	fdata.xy    += intBitsToFloat(i2);
37	fdata.xyz   += intBitsToFloat(i3);
38	fdata       += intBitsToFloat(i4);
39    fdata.x     += uintBitsToFloat(u1);
40	fdata.xy    += uintBitsToFloat(u2);
41	fdata.xyz   += uintBitsToFloat(u3);
42	fdata       += uintBitsToFloat(u4);
43
44    fragColor = (idata == udata) ? fdata : fdata + vec4(0.2);
45}