diff --git a/assets/voxygen/shaders/figure-vert.glsl b/assets/voxygen/shaders/figure-vert.glsl
index 01261fb948..18492b71d1 100644
--- a/assets/voxygen/shaders/figure-vert.glsl
+++ b/assets/voxygen/shaders/figure-vert.glsl
@@ -43,5 +43,5 @@ void main() {
 	).xyz);
 
 	gl_Position = all_mat * vec4(f_pos, 1);
-	gl_Position.z = 1.0 / (1.0 - gl_Position.z - 10.0);
+	gl_Position.z = -100.0 / (gl_Position.z + 500.0);
 }
diff --git a/assets/voxygen/shaders/fluid-vert.glsl b/assets/voxygen/shaders/fluid-vert.glsl
index 44ca08f3ca..98ee1f9203 100644
--- a/assets/voxygen/shaders/fluid-vert.glsl
+++ b/assets/voxygen/shaders/fluid-vert.glsl
@@ -40,5 +40,5 @@ void main() {
     gl_Position =
 		all_mat *
 		vec4(f_pos, 1);
-	gl_Position.z = 1.0 / (1.0 - gl_Position.z - 10.0);
+	gl_Position.z = -100.0 / (gl_Position.z + 500.0);
 }
diff --git a/assets/voxygen/shaders/sprite-vert.glsl b/assets/voxygen/shaders/sprite-vert.glsl
index ed3f84ea86..8117b656a9 100644
--- a/assets/voxygen/shaders/sprite-vert.glsl
+++ b/assets/voxygen/shaders/sprite-vert.glsl
@@ -52,5 +52,5 @@ void main() {
 	gl_Position =
 		all_mat *
 		vec4(f_pos, 1);
-	gl_Position.z = 1.0 / (1.0 - gl_Position.z - 10.0);
+	gl_Position.z = -100.0 / (gl_Position.z + 500.0);
 }
diff --git a/assets/voxygen/shaders/terrain-vert.glsl b/assets/voxygen/shaders/terrain-vert.glsl
index fedaafb9c1..510692ce52 100644
--- a/assets/voxygen/shaders/terrain-vert.glsl
+++ b/assets/voxygen/shaders/terrain-vert.glsl
@@ -32,5 +32,5 @@ void main() {
 	gl_Position =
 		all_mat *
 		vec4(f_pos, 1);
-	gl_Position.z = 1.0 / (1.0 - gl_Position.z - 10.0);
+	gl_Position.z = -100.0 / (gl_Position.z + 500.0);
 }