fs_hdr_lumavg.sc 1.4 KB

123456789101112131415161718192021222324252627282930313233
  1. $input v_texcoord0
  2. /*
  3. * Copyright 2011-2025 Branimir Karadzic. All rights reserved.
  4. * License: https://github.com/bkaradzic/bgfx/blob/master/LICENSE
  5. */
  6. #include "common.sh"
  7. SAMPLER2D(s_texColor, 0);
  8. void main()
  9. {
  10. float sum;
  11. sum = decodeRE8(texture2D(s_texColor, v_texcoord0+u_offset[ 0].xy) );
  12. sum += decodeRE8(texture2D(s_texColor, v_texcoord0+u_offset[ 1].xy) );
  13. sum += decodeRE8(texture2D(s_texColor, v_texcoord0+u_offset[ 2].xy) );
  14. sum += decodeRE8(texture2D(s_texColor, v_texcoord0+u_offset[ 3].xy) );
  15. sum += decodeRE8(texture2D(s_texColor, v_texcoord0+u_offset[ 4].xy) );
  16. sum += decodeRE8(texture2D(s_texColor, v_texcoord0+u_offset[ 5].xy) );
  17. sum += decodeRE8(texture2D(s_texColor, v_texcoord0+u_offset[ 6].xy) );
  18. sum += decodeRE8(texture2D(s_texColor, v_texcoord0+u_offset[ 7].xy) );
  19. sum += decodeRE8(texture2D(s_texColor, v_texcoord0+u_offset[ 8].xy) );
  20. sum += decodeRE8(texture2D(s_texColor, v_texcoord0+u_offset[ 9].xy) );
  21. sum += decodeRE8(texture2D(s_texColor, v_texcoord0+u_offset[10].xy) );
  22. sum += decodeRE8(texture2D(s_texColor, v_texcoord0+u_offset[11].xy) );
  23. sum += decodeRE8(texture2D(s_texColor, v_texcoord0+u_offset[12].xy) );
  24. sum += decodeRE8(texture2D(s_texColor, v_texcoord0+u_offset[13].xy) );
  25. sum += decodeRE8(texture2D(s_texColor, v_texcoord0+u_offset[14].xy) );
  26. sum += decodeRE8(texture2D(s_texColor, v_texcoord0+u_offset[15].xy) );
  27. float avg = sum/16.0;
  28. gl_FragColor = encodeRE8(avg);
  29. }