summaryrefslogtreecommitdiff
path: root/indra/newview/app_settings/shaders/class1/deferred/diffuseAlphaMaskIndexedF.glsl
diff options
context:
space:
mode:
authorDave Parks <davep@lindenlab.com>2011-07-29 17:46:16 -0500
committerDave Parks <davep@lindenlab.com>2011-07-29 17:46:16 -0500
commit8ec39da3468f53af85d0cd4d4d9c54a72d6b8152 (patch)
tree6e8b4c25cbc7411bf6d6e76af852a600debf8838 /indra/newview/app_settings/shaders/class1/deferred/diffuseAlphaMaskIndexedF.glsl
parente16eb4ae4a73125bc4e74fc667aa99110ac77c29 (diff)
SH-2181 Fix for alpha flickering when basic shaders enabled (don't use glAlphaFunc when shaders are available).
Reviewed by Leslie
Diffstat (limited to 'indra/newview/app_settings/shaders/class1/deferred/diffuseAlphaMaskIndexedF.glsl')
-rw-r--r--indra/newview/app_settings/shaders/class1/deferred/diffuseAlphaMaskIndexedF.glsl26
1 files changed, 26 insertions, 0 deletions
diff --git a/indra/newview/app_settings/shaders/class1/deferred/diffuseAlphaMaskIndexedF.glsl b/indra/newview/app_settings/shaders/class1/deferred/diffuseAlphaMaskIndexedF.glsl
new file mode 100644
index 0000000000..0671cb94bd
--- /dev/null
+++ b/indra/newview/app_settings/shaders/class1/deferred/diffuseAlphaMaskIndexedF.glsl
@@ -0,0 +1,26 @@
+/**
+ * @file diffuseAlphaMaskIndexedF.glsl
+ *
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * $/LicenseInfo$
+ */
+
+varying vec3 vary_normal;
+
+uniform float minimum_alpha;
+uniform float maximum_alpha;
+
+void main()
+{
+ vec4 col = diffuseLookup(gl_TexCoord[0].xy) * gl_Color;
+
+ if (col.a < minimum_alpha || col.a > maximum_alpha)
+ {
+ discard;
+ }
+
+ gl_FragData[0] = vec4(col.rgb, 0.0);
+ gl_FragData[1] = vec4(0,0,0,0);
+ vec3 nvn = normalize(vary_normal);
+ gl_FragData[2] = vec4(nvn.xy * 0.5 + 0.5, nvn.z, 0.0);
+}