types.frag 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. #version 130
  2. uniform bool u_b;
  3. uniform bvec2 u_b2;
  4. uniform bvec3 u_b3;
  5. uniform bvec4 u_b4;
  6. uniform int u_i;
  7. uniform ivec2 u_i2;
  8. uniform ivec3 u_i3;
  9. uniform ivec4 u_i4;
  10. uniform float u_f;
  11. uniform vec2 u_f2;
  12. uniform vec3 u_f3;
  13. uniform vec4 u_f4;
  14. uniform bool i_b;
  15. uniform bvec2 i_b2;
  16. uniform bvec3 i_b3;
  17. uniform bvec4 i_b4;
  18. flat in int i_i;
  19. flat in ivec2 i_i2;
  20. flat in ivec3 i_i3;
  21. flat in ivec4 i_i4;
  22. in float i_f;
  23. in vec2 i_f2;
  24. in vec3 i_f3;
  25. in vec4 i_f4;
  26. void main()
  27. {
  28. bool b = u_b && i_b;
  29. bvec2 b2 = bvec2(u_b2.x && i_b2.x && u_b2.y && i_b2.y);
  30. bvec3 b3 = bvec3(u_b3.x && i_b3.x && u_b3.y && i_b3.y && u_b3.z && i_b3.z);
  31. bvec4 b4 = bvec4(u_b4.x && i_b4.x && u_b4.y && i_b4.y && u_b4.z && i_b4.z && u_b4.w && i_b4.w);
  32. int i = u_i + i_i;
  33. ivec2 i2 = u_i2 + i_i2;
  34. ivec3 i3 = u_i3 + i_i3;
  35. ivec4 i4 = u_i4 + i_i4;
  36. float f = u_f + i_f;
  37. vec2 f2 = u_f2 + i_f2;
  38. vec3 f3 = u_f3 + i_f3;
  39. vec4 f4 = u_f4 + i_f4;
  40. gl_FragColor =
  41. b ||
  42. b2.x ||
  43. b2.y ||
  44. b3.x ||
  45. b3.y ||
  46. b3.z ||
  47. b4.x ||
  48. b4.y ||
  49. b4.z ||
  50. b4.w ? vec4(
  51. i +
  52. i2.x +
  53. i2.y +
  54. i3.x +
  55. i3.y +
  56. i3.z +
  57. i4.x +
  58. i4.y +
  59. i4.z +
  60. i4.w +
  61. f +
  62. f2.x +
  63. f2.y +
  64. f3.x +
  65. f3.y +
  66. f3.z +
  67. f4.x +
  68. f4.y +
  69. f4.z +
  70. f4.w) : vec4(1.0);
  71. }