addMipsBlur_optimized.frag 1.2 KB

12345678910111213141516171819202122232425262728293031
  1. #version 150
  2. out vec3 a_color;
  3. noperspective in vec2 v_texCoords;
  4. uniform sampler2D u_texture;
  5. uniform int u_mip;
  6. void main ()
  7. {
  8. vec2 tmpvar_1;
  9. tmpvar_1 = (1.0/(vec2(textureSize (u_texture, u_mip))));
  10. float tmpvar_2;
  11. tmpvar_2 = float(u_mip);
  12. a_color = textureLod (u_texture, (v_texCoords + (tmpvar_1 * vec2(-1.0, 1.0))), tmpvar_2).xyz;
  13. a_color = (a_color + (textureLod (u_texture, (v_texCoords +
  14. (tmpvar_1 * vec2(0.0, 1.0))
  15. ), tmpvar_2).xyz * 2.0));
  16. a_color = (a_color + textureLod (u_texture, (v_texCoords + tmpvar_1), tmpvar_2).xyz);
  17. a_color = (a_color + (textureLod (u_texture, (v_texCoords +
  18. (tmpvar_1 * vec2(-1.0, 0.0))
  19. ), tmpvar_2).xyz * 2.0));
  20. a_color = (a_color + (textureLod (u_texture, v_texCoords, tmpvar_2).xyz * 4.0));
  21. a_color = (a_color + (textureLod (u_texture, (v_texCoords +
  22. (tmpvar_1 * vec2(1.0, 0.0))
  23. ), tmpvar_2).xyz * 2.0));
  24. a_color = (a_color + textureLod (u_texture, (v_texCoords - tmpvar_1), tmpvar_2).xyz);
  25. a_color = (a_color + (textureLod (u_texture, (v_texCoords +
  26. (tmpvar_1 * vec2(0.0, -1.0))
  27. ), tmpvar_2).xyz * 2.0));
  28. a_color = (a_color + textureLod (u_texture, (v_texCoords + (tmpvar_1 * vec2(1.0, -1.0))), tmpvar_2).xyz);
  29. a_color = (a_color / 16.0);
  30. }