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

游戏引擎

开发平台:

Visual C++

  1. uniform sampler2D inRTT;
  2. varying vec2 uv;
  3. void main(void)
  4. {
  5.     vec4 accum = vec4(0.0, 0.0, 0.0, 0.0);
  6. vec4 LUMINENCE_FACTOR  = vec4(0.27, 0.67, 0.06, 0.0);
  7. // Approximate ratio from viewport to texture
  8. vec2 texelSize = vec2(0.005, 0.005);
  9.     // Get colour from source
  10.     accum += texture2D(inRTT, uv + texelSize * vec2(-0.5, -0.5));
  11.     accum += texture2D(inRTT, uv + texelSize * vec2(-0.5, 0.5));
  12.     accum += texture2D(inRTT, uv + texelSize * vec2(0.5, 0.5));
  13.     accum += texture2D(inRTT, uv + texelSize * vec2(0.5, -0.5));
  14.     
  15. // Adjust the accumulated amount by lum factor
  16. float lum = dot(accum, LUMINENCE_FACTOR);
  17. // take average of 4 samples
  18. lum *= 0.25;
  19. gl_FragColor = vec4(lum, lum, lum, 1.0);
  20. }