diff --git a/binaries/data/mods/public/art/meshes/test/waterfall.dae b/binaries/data/mods/public/art/meshes/test/waterfall.dae
index 134f6d74f8..2273cf8fac 100644
--- a/binaries/data/mods/public/art/meshes/test/waterfall.dae
+++ b/binaries/data/mods/public/art/meshes/test/waterfall.dae
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:f229c312e9900c3229d27d1906f5048057b4e69de9024c28705bd61c9cad1971
-size 4057
+oid sha256:b347b1cce1355c6567cd4a9dc796abcd7c2ffd5d50126d25ebb876aee6848203
+size 6825
diff --git a/binaries/data/mods/public/shaders/effects/model_waterfall.xml b/binaries/data/mods/public/shaders/effects/model_waterfall.xml
index b787321cd7..5043c3dbdc 100644
--- a/binaries/data/mods/public/shaders/effects/model_waterfall.xml
+++ b/binaries/data/mods/public/shaders/effects/model_waterfall.xml
@@ -9,7 +9,7 @@
-
+
diff --git a/binaries/data/mods/public/shaders/glsl/model_waterfall.fs b/binaries/data/mods/public/shaders/glsl/model_waterfall.fs
index da499da599..499b8fe59e 100644
--- a/binaries/data/mods/public/shaders/glsl/model_waterfall.fs
+++ b/binaries/data/mods/public/shaders/glsl/model_waterfall.fs
@@ -31,7 +31,7 @@ varying vec4 v_shadow;
varying vec2 v_los;
varying vec3 v_half;
varying vec3 v_normal;
-
+varying float v_transp;
varying vec3 v_lighting;
float get_shadow()
@@ -66,6 +66,11 @@ void main()
//vec4 texdiffuse = textureGrad(baseTex, vec3(fract(v_tex.xy), v_tex.z), dFdx(v_tex.xy), dFdy(v_tex.xy));
vec4 texdiffuse = texture2D(baseTex, fract(v_tex.xy));
+ if (texdiffuse.a < 0.25)
+ discard;
+
+ texdiffuse.a *= v_transp;
+
vec3 specular = sunColor * specularColor * pow(max(0.0, dot(normalize(v_normal), v_half)), specularPower);
vec3 color = (texdiffuse.rgb * v_lighting + specular) * get_shadow();
diff --git a/binaries/data/mods/public/shaders/glsl/model_waterfall.vs b/binaries/data/mods/public/shaders/glsl/model_waterfall.vs
index 04ae40c300..085db36acc 100644
--- a/binaries/data/mods/public/shaders/glsl/model_waterfall.vs
+++ b/binaries/data/mods/public/shaders/glsl/model_waterfall.vs
@@ -24,7 +24,7 @@ uniform vec2 translation;
attribute vec3 a_vertex;
attribute vec3 a_normal;
attribute vec2 a_uv0;
-
+attribute vec2 a_uv1;
varying vec4 worldPos;
varying vec4 v_tex;
@@ -32,7 +32,7 @@ varying vec4 v_shadow;
varying vec2 v_los;
varying vec3 v_half;
varying vec3 v_normal;
-
+varying float v_transp;
varying vec3 v_lighting;
@@ -41,6 +41,7 @@ void main()
worldPos = instancingTransform * vec4(a_vertex, 1.0);
v_tex.xy = a_uv0 + sim_time * translation;
+ v_transp = a_uv1.x;
#if USE_SHADOW
v_shadow = shadowTransform * worldPos;
diff --git a/binaries/data/mods/public/shaders/glsl/model_waterfall.xml b/binaries/data/mods/public/shaders/glsl/model_waterfall.xml
index d7c6799689..d8f2665677 100644
--- a/binaries/data/mods/public/shaders/glsl/model_waterfall.xml
+++ b/binaries/data/mods/public/shaders/glsl/model_waterfall.xml
@@ -5,11 +5,11 @@
-
+
-
+