summaryrefslogtreecommitdiff
path: root/indra/newview/app_settings/shaders/class1/lighting/lightFullbrightShinyWaterF.glsl
diff options
context:
space:
mode:
authorDave Parks <davep@lindenlab.com>2011-09-29 19:32:56 -0500
committerDave Parks <davep@lindenlab.com>2011-09-29 19:32:56 -0500
commit7238714634e72dacc4b09c1c4ee98b16fb0c91fe (patch)
tree89500aeb877bcf5b3d00f0c96ec0f0321834de1e /indra/newview/app_settings/shaders/class1/lighting/lightFullbrightShinyWaterF.glsl
parent973fefc8d9014f6389b4c3f9633ce398fdf5399e (diff)
SH-2507 Potential fix for basic shaders causing objects to disappear with some drivers (prune shader tree of unused shaders while we're at it)
Diffstat (limited to 'indra/newview/app_settings/shaders/class1/lighting/lightFullbrightShinyWaterF.glsl')
-rw-r--r--indra/newview/app_settings/shaders/class1/lighting/lightFullbrightShinyWaterF.glsl27
1 files changed, 21 insertions, 6 deletions
diff --git a/indra/newview/app_settings/shaders/class1/lighting/lightFullbrightShinyWaterF.glsl b/indra/newview/app_settings/shaders/class1/lighting/lightFullbrightShinyWaterF.glsl
index bd67e2659e..c10cde98e0 100644
--- a/indra/newview/app_settings/shaders/class1/lighting/lightFullbrightShinyWaterF.glsl
+++ b/indra/newview/app_settings/shaders/class1/lighting/lightFullbrightShinyWaterF.glsl
@@ -21,18 +21,33 @@
* Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
-
+
#ifdef DEFINE_GL_FRAGCOLOR
out vec4 gl_FragColor;
-#endif
+#endif
+VARYING vec4 vertex_color;
+VARYING vec2 vary_texcoord0;
+VARYING vec3 vary_texcoord1;
-uniform sampler2D diffuseMap;
uniform samplerCube environmentMap;
-VARYING vec2 vary_texcoord0;
+vec3 fullbrightShinyAtmosTransport(vec3 light);
+vec3 fullbrightScaleSoftClip(vec3 light);
+vec4 applyWaterFog(vec4 color);
-void fullbright_shiny_lighting_water()
+void fullbright_shiny_lighting_water()
{
- gl_FragColor = texture2D(diffuseMap, vary_texcoord0.xy);
+ vec4 color = diffuseLookup(vary_texcoord0.xy);
+ color.rgb *= vertex_color.rgb;
+
+ vec3 envColor = textureCube(environmentMap, vary_texcoord1.xyz).rgb;
+ color.rgb = mix(color.rgb, envColor.rgb, vertex_color.a);
+
+ color.rgb = fullbrightShinyAtmosTransport(color.rgb);
+ color.rgb = fullbrightScaleSoftClip(color.rgb);
+ color.a = max(color.a, vertex_color.a);
+
+ gl_FragColor = applyWaterFog(color);
}
+