BloomUpscale.ankiprog 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. <!--
  2. Copyright (C) 2009-2018, Panagiotis Christopoulos Charitos and contributors.
  3. All rights reserved.
  4. Code licensed under the BSD License.
  5. http://www.anki3d.org/LICENSE
  6. -->
  7. <shaderProgram>
  8. <shaders>
  9. <shader type="vert">
  10. <source><![CDATA[
  11. #include "shaders/QuadVert.glsl"
  12. ]]></source>
  13. </shader>
  14. <shader type="frag">
  15. <inputs>
  16. <input name="TEX_SIZE" type="vec2" const="1"/>
  17. </inputs>
  18. <source><![CDATA[
  19. #include "shaders/Common.glsl"
  20. layout(ANKI_TEX_BINDING(0, 0)) uniform mediump sampler2D u_tex;
  21. layout(location = 0) in vec2 in_texCoord;
  22. layout(location = 0) out vec3 out_color;
  23. void main()
  24. {
  25. const vec2 TEXEL_SIZE = 1.0 / TEX_SIZE;
  26. const float MIPMAP = 0.0;
  27. out_color = textureLod(u_tex, in_texCoord, MIPMAP).rgb;
  28. out_color += textureLod(u_tex, in_texCoord + TEXEL_SIZE, MIPMAP).rgb;
  29. out_color += textureLod(u_tex, in_texCoord - TEXEL_SIZE, MIPMAP).rgb;
  30. out_color += textureLod(u_tex, in_texCoord + vec2(TEXEL_SIZE.x, -TEXEL_SIZE.y), MIPMAP).rgb;
  31. out_color += textureLod(u_tex, in_texCoord + vec2(-TEXEL_SIZE.x, TEXEL_SIZE.y), MIPMAP).rgb;
  32. out_color /= 5.0;
  33. }
  34. ]]></source>
  35. </shader>
  36. </shaders>
  37. </shaderProgram>