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

游戏引擎

开发平台:

C++ Builder

  1. /** 
  2.  * @file transportF.glsl
  3.  *
  4.  * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
  5.  * $License$
  6.  */
  7. //////////////////////////////////////////////////////////
  8. // The fragment shader for the terrain atmospherics
  9. //////////////////////////////////////////////////////////
  10. vec3 getAdditiveColor();
  11. vec3 getAtmosAttenuation();
  12. uniform sampler2D cloudMap;
  13. uniform vec4 cloud_pos_density1;
  14. vec3 atmosTransport(vec3 light) {
  15. light *= getAtmosAttenuation().r;
  16. light += getAdditiveColor() * 2.0;
  17. return light;
  18. }
  19. vec3 fullbrightAtmosTransport(vec3 light) {
  20. float brightness = dot(light.rgb, vec3(0.33333));
  21. return mix(atmosTransport(light.rgb), light.rgb + getAdditiveColor().rgb, brightness * brightness);
  22. }
  23. vec3 fullbrightShinyAtmosTransport(vec3 light) {
  24. float brightness = dot(light.rgb, vec3(0.33333));
  25. return mix(atmosTransport(light.rgb), (light.rgb + getAdditiveColor().rgb) * (2.0 - brightness), brightness * brightness);
  26. }