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

游戏引擎

开发平台:

C++ Builder

  1. /** 
  2.  * @file WLSkyF.glsl
  3.  *
  4.  * Copyright (c) 2005-$CurrentYear$, Linden Research, Inc.
  5.  * $License$
  6.  */
  7. /////////////////////////////////////////////////////////////////////////
  8. // The fragment shader for the sky
  9. /////////////////////////////////////////////////////////////////////////
  10. varying vec4 vary_HazeColor;
  11. uniform sampler2D cloud_noise_texture;
  12. uniform vec4 gamma;
  13. /// Soft clips the light with a gamma correction
  14. vec3 scaleSoftClip(vec3 light) {
  15. //soft clip effect:
  16. light = 1. - clamp(light, vec3(0.), vec3(1.));
  17. light = 1. - pow(light, gamma.xxx);
  18. return light;
  19. }
  20. void main()
  21. {
  22. // Potential Fill-rate optimization.  Add cloud calculation 
  23. // back in and output alpha of 0 (so that alpha culling kills 
  24. // the fragment) if the sky wouldn't show up because the clouds 
  25. // are fully opaque.
  26. vec4 color;
  27. color = vary_HazeColor;
  28. color *= 2.;
  29. /// Gamma correct for WL (soft clip effect).
  30. gl_FragColor.rgb = scaleSoftClip(color.rgb);
  31. gl_FragColor.a = 1.0;
  32. }