glowExtractF.glsl
上传用户:king477883
上传日期:2021-03-01
资源大小:9553k
文件大小:1k
源码类别:

游戏引擎

开发平台:

C++ Builder

  1. /** 
  2.  * @file glowExtractF.glsl
  3.  *
  4.  * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
  5.  * $License$
  6.  */
  7. #extension GL_ARB_texture_rectangle : enable
  8. uniform sampler2DRect diffuseMap;
  9. uniform float minLuminance;
  10. uniform float maxExtractAlpha;
  11. uniform vec3 lumWeights;
  12. uniform vec3 warmthWeights;
  13. uniform float warmthAmount;
  14. void main()
  15. {
  16. vec4 col = texture2DRect(diffuseMap, gl_TexCoord[0].xy);
  17. /// CALCULATING LUMINANCE (Using NTSC lum weights)
  18. /// http://en.wikipedia.org/wiki/Luma_%28video%29
  19. float lum = smoothstep(minLuminance, minLuminance+1.0, dot(col.rgb, lumWeights ) );
  20. float warmth = smoothstep(minLuminance, minLuminance+1.0, max(col.r * warmthWeights.r, max(col.g * warmthWeights.g, col.b * warmthWeights.b)) ); 
  21. gl_FragColor.rgb = col.rgb; 
  22. gl_FragColor.a = max(col.a, mix(lum, warmth, warmthAmount) * maxExtractAlpha);
  23. }