From 17715403aff8ba1889c9e1ef473fe9319b87d1d2 Mon Sep 17 00:00:00 2001 From: Jon Bergli Heier Date: Sat, 7 May 2011 17:53:37 +0200 Subject: Use chunk-relative coordinates in nodes. --- shaders/terrain_vertex.glsl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'shaders') diff --git a/shaders/terrain_vertex.glsl b/shaders/terrain_vertex.glsl index 5fcd17b..27da83f 100644 --- a/shaders/terrain_vertex.glsl +++ b/shaders/terrain_vertex.glsl @@ -1,11 +1,12 @@ #version 120 varying vec3 normal, light_pos, pos; +uniform vec2 chunk_pos; void main() { normal = gl_Normal; light_pos = vec3(0, 1, 0); - pos = gl_Vertex.xyz; + pos = gl_Vertex.xyz + vec3(chunk_pos.x, 0, chunk_pos.y); gl_TexCoord[0] = gl_MultiTexCoord0; gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex; -- cgit v1.2.3 From 7d93cab1eb1629b068858a68ac5e5840fe84a83a Mon Sep 17 00:00:00 2001 From: Jon Bergli Heier Date: Tue, 10 May 2011 15:40:02 +0200 Subject: Added fog and implemented a simple skybox. --- shaders/terrain_fragment.glsl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'shaders') diff --git a/shaders/terrain_fragment.glsl b/shaders/terrain_fragment.glsl index 0925c6b..c3f0d46 100644 --- a/shaders/terrain_fragment.glsl +++ b/shaders/terrain_fragment.glsl @@ -4,7 +4,7 @@ varying vec3 normal, light_pos, pos; uniform sampler2D tex[3]; uniform sampler2D marktex; -uniform vec3 selpos; +uniform vec3 selpos, player_pos; uniform bool show_sel; void main() { @@ -27,6 +27,7 @@ void main() { vec2 st = vec2((pos.x + 1 - selpos.x) / 2, (pos.z + 1 - selpos.z) / 2); gl_FragColor += texture2D(marktex, st); } + gl_FragColor = mix(gl_FragColor, gl_Fog.color, pow(length(player_pos - pos), 2) / 10000); } /* vim: set syn=glsl: */ -- cgit v1.2.3