123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- #version 450
- flat in int i1;
- flat in ivec2 i2;
- flat in ivec3 i3;
- flat in ivec4 i4;
- flat in uint u1;
- flat in uvec2 u2;
- flat in uvec3 u3;
- flat in uvec4 u4;
- in float f1;
- in vec2 f2;
- in vec3 f3;
- in vec4 f4;
- out vec4 fragColor;
- void main()
- {
- ivec4 idata = ivec4(0);
- idata.x += floatBitsToInt(f1);
- idata.xy += floatBitsToInt(f2);
- idata.xyz += floatBitsToInt(f3);
- idata += floatBitsToInt(f4);
- uvec4 udata = uvec4(0);
- udata.x += floatBitsToUint(f1);
- udata.xy += floatBitsToUint(f2);
- udata.xyz += floatBitsToUint(f3);
- udata += floatBitsToUint(f4);
- vec4 fdata = vec4(0.0);
- fdata.x += intBitsToFloat(i1);
- fdata.xy += intBitsToFloat(i2);
- fdata.xyz += intBitsToFloat(i3);
- fdata += intBitsToFloat(i4);
- fdata.x += uintBitsToFloat(u1);
- fdata.xy += uintBitsToFloat(u2);
- fdata.xyz += uintBitsToFloat(u3);
- fdata += uintBitsToFloat(u4);
- fragColor = (idata == udata) ? fdata : fdata + vec4(0.2);
- }
|