summaryrefslogtreecommitdiff
path: root/assets/shaders/Chunk_VS.glsl
diff options
context:
space:
mode:
authorTyler Murphy <tylerm@tylerm.dev>2023-04-17 12:12:01 -0400
committerTyler Murphy <tylerm@tylerm.dev>2023-04-17 12:12:01 -0400
commit180aad05decc7eefa87e4e45d6747c48f40e5361 (patch)
tree51545197f7c94b4022acab880772c9f4fc65db0e /assets/shaders/Chunk_VS.glsl
downloadminecraftjava-180aad05decc7eefa87e4e45d6747c48f40e5361.tar.gz
minecraftjava-180aad05decc7eefa87e4e45d6747c48f40e5361.tar.bz2
minecraftjava-180aad05decc7eefa87e4e45d6747c48f40e5361.zip
Diffstat (limited to 'assets/shaders/Chunk_VS.glsl')
-rwxr-xr-xassets/shaders/Chunk_VS.glsl35
1 files changed, 35 insertions, 0 deletions
diff --git a/assets/shaders/Chunk_VS.glsl b/assets/shaders/Chunk_VS.glsl
new file mode 100755
index 0000000..6c5e3dc
--- /dev/null
+++ b/assets/shaders/Chunk_VS.glsl
@@ -0,0 +1,35 @@
+#version 130
+
+in vec3 position;
+in vec2 textureCoordinates;
+in float baseLightingValue;
+in float layer;
+
+out vec2 pass_textureCoordinates;
+out float pass_baseLightingValue;
+out float pass_layer;
+out float visibility;
+
+uniform mat4 transformationMatrix;
+uniform mat4 projectionMatrix;
+uniform mat4 viewMatrix;
+uniform vec3 playerPosition;
+uniform int renderDistance;
+
+const float density = 0.5;
+const float gradient = 1.5;
+
+void main(void){
+ vec4 worldPosition = transformationMatrix * vec4(position,1.0);
+ gl_Position = projectionMatrix * viewMatrix * worldPosition;
+ pass_textureCoordinates = textureCoordinates;
+ pass_layer = layer;
+ pass_baseLightingValue = baseLightingValue;
+
+ float distance = sqrt(pow(worldPosition.x - playerPosition.x, 2)+ pow(worldPosition.z - playerPosition.z,2));
+ visibility = 1;
+ if(distance / 16 > renderDistance-2){
+ visibility = 1-(distance - (16*(renderDistance-2)))/16.0;
+ }
+ visibility = clamp(visibility,0.0,1.0);
+}