hdr_tonemap_util.glsl
上传用户:xhbjoy
上传日期:2014-10-07
资源大小:38068k
文件大小:1k
源码类别:

游戏引擎

开发平台:

Visual C++

  1. const float MIDDLE_GREY = 0.72;
  2. const float FUDGE = 0.001;
  3. const float L_WHITE = 1.5;
  4. /** Tone mapping function 
  5. @note Only affects rgb, not a
  6. @param inColour The HDR colour
  7. @param lum The scene lumninence 
  8. @returns Tone mapped colour
  9. */
  10. vec4 toneMap(in vec4 inColour, in float lum)
  11. {
  12. // From Reinhard et al
  13. // "Photographic Tone Reproduction for Digital Images"
  14. // Initial luminence scaling (equation 2)
  15.     inColour.rgb *= MIDDLE_GREY / (FUDGE + lum);
  16. // Control white out (equation 4 nom)
  17.     inColour.rgb *= (1.0 + inColour.rgb / L_WHITE);
  18. // Final mapping (equation 4 denom)
  19. inColour.rgb /= (1.0 + inColour.rgb);
  20. return inColour;
  21. }