summaryrefslogtreecommitdiff
path: root/shaders/tree_fragment.glsl
diff options
context:
space:
mode:
Diffstat (limited to 'shaders/tree_fragment.glsl')
-rw-r--r--shaders/tree_fragment.glsl22
1 files changed, 22 insertions, 0 deletions
diff --git a/shaders/tree_fragment.glsl b/shaders/tree_fragment.glsl
new file mode 100644
index 0000000..382ab4e
--- /dev/null
+++ b/shaders/tree_fragment.glsl
@@ -0,0 +1,22 @@
+#version 120
+
+uniform sampler2D tex;
+uniform vec3 player_pos;
+varying vec3 normal, pos;
+
+void foggify(vec3 player_pos, vec3 pos);
+
+void main() {
+ vec4 color = texture2D(tex, gl_TexCoord[0].st);
+
+ if(color.a < 0.7)
+ discard;
+
+ gl_FragColor = color;
+ float n = clamp(dot(normal, vec3(0, 0, 1)) + .5, .3, 1);
+ gl_FragColor.rgb *= n;
+
+ foggify(player_pos, pos);
+}
+
+/* vim: set syn=glsl: */