spv.bitCast.frag 1020 B

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