blur_optimized.frag 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. #version 150
  2. noperspective in vec2 v_texCoords;
  3. uniform sampler2D u_ssaoInput;
  4. out float fragColor;
  5. void main ()
  6. {
  7. float result_1;
  8. vec2 texelSize_2;
  9. texelSize_2 = (1.0/(vec2(textureSize (u_ssaoInput, 0))));
  10. vec2 tmpvar_3;
  11. tmpvar_3 = (vec2(-2.0, -2.0) * texelSize_2);
  12. vec2 P_4;
  13. P_4 = (v_texCoords + tmpvar_3);
  14. result_1 = textureLod (u_ssaoInput, P_4, 0.0).x;
  15. vec2 tmpvar_5;
  16. tmpvar_5 = (vec2(-1.0, -2.0) * texelSize_2);
  17. vec2 P_6;
  18. P_6 = (v_texCoords + tmpvar_5);
  19. result_1 = (result_1 + textureLod (u_ssaoInput, P_6, 0.0).x);
  20. vec2 tmpvar_7;
  21. tmpvar_7 = (vec2(0.0, -2.0) * texelSize_2);
  22. vec2 P_8;
  23. P_8 = (v_texCoords + tmpvar_7);
  24. result_1 = (result_1 + textureLod (u_ssaoInput, P_8, 0.0).x);
  25. vec2 tmpvar_9;
  26. tmpvar_9 = (vec2(1.0, -2.0) * texelSize_2);
  27. vec2 P_10;
  28. P_10 = (v_texCoords + tmpvar_9);
  29. result_1 = (result_1 + textureLod (u_ssaoInput, P_10, 0.0).x);
  30. vec2 tmpvar_11;
  31. tmpvar_11 = (vec2(-2.0, -1.0) * texelSize_2);
  32. vec2 P_12;
  33. P_12 = (v_texCoords + tmpvar_11);
  34. result_1 = (result_1 + textureLod (u_ssaoInput, P_12, 0.0).x);
  35. vec2 tmpvar_13;
  36. tmpvar_13 = -(texelSize_2);
  37. vec2 P_14;
  38. P_14 = (v_texCoords + tmpvar_13);
  39. result_1 = (result_1 + textureLod (u_ssaoInput, P_14, 0.0).x);
  40. vec2 tmpvar_15;
  41. tmpvar_15 = (vec2(0.0, -1.0) * texelSize_2);
  42. vec2 P_16;
  43. P_16 = (v_texCoords + tmpvar_15);
  44. result_1 = (result_1 + textureLod (u_ssaoInput, P_16, 0.0).x);
  45. vec2 tmpvar_17;
  46. tmpvar_17 = (vec2(1.0, -1.0) * texelSize_2);
  47. vec2 P_18;
  48. P_18 = (v_texCoords + tmpvar_17);
  49. result_1 = (result_1 + textureLod (u_ssaoInput, P_18, 0.0).x);
  50. vec2 tmpvar_19;
  51. tmpvar_19 = (vec2(-2.0, 0.0) * texelSize_2);
  52. vec2 P_20;
  53. P_20 = (v_texCoords + tmpvar_19);
  54. result_1 = (result_1 + textureLod (u_ssaoInput, P_20, 0.0).x);
  55. vec2 tmpvar_21;
  56. tmpvar_21 = (vec2(-1.0, 0.0) * texelSize_2);
  57. vec2 P_22;
  58. P_22 = (v_texCoords + tmpvar_21);
  59. result_1 = (result_1 + textureLod (u_ssaoInput, P_22, 0.0).x);
  60. result_1 = (result_1 + textureLod (u_ssaoInput, v_texCoords, 0.0).x);
  61. vec2 tmpvar_23;
  62. tmpvar_23 = (vec2(1.0, 0.0) * texelSize_2);
  63. vec2 P_24;
  64. P_24 = (v_texCoords + tmpvar_23);
  65. result_1 = (result_1 + textureLod (u_ssaoInput, P_24, 0.0).x);
  66. vec2 tmpvar_25;
  67. tmpvar_25 = (vec2(-2.0, 1.0) * texelSize_2);
  68. vec2 P_26;
  69. P_26 = (v_texCoords + tmpvar_25);
  70. result_1 = (result_1 + textureLod (u_ssaoInput, P_26, 0.0).x);
  71. vec2 tmpvar_27;
  72. tmpvar_27 = (vec2(-1.0, 1.0) * texelSize_2);
  73. vec2 P_28;
  74. P_28 = (v_texCoords + tmpvar_27);
  75. result_1 = (result_1 + textureLod (u_ssaoInput, P_28, 0.0).x);
  76. vec2 tmpvar_29;
  77. tmpvar_29 = (vec2(0.0, 1.0) * texelSize_2);
  78. vec2 P_30;
  79. P_30 = (v_texCoords + tmpvar_29);
  80. result_1 = (result_1 + textureLod (u_ssaoInput, P_30, 0.0).x);
  81. vec2 P_31;
  82. P_31 = (v_texCoords + texelSize_2);
  83. result_1 = (result_1 + textureLod (u_ssaoInput, P_31, 0.0).x);
  84. fragColor = (result_1 / 16.0);
  85. }