summaryrefslogtreecommitdiff
path: root/client
diff options
context:
space:
mode:
authorRealBadAngel <maciej.kasatkin@o2.pl>2014-08-16 14:02:50 +0200
committerRealBadAngel <maciej.kasatkin@o2.pl>2014-08-16 14:48:52 +0200
commitbf91d623c8fc1fede7b600d1b0f4be1bc6b37c44 (patch)
tree1af91342a7a58b0ed115e7d0f3687beadafdb5ee /client
parent0a57b5b553e80e158e28594866f3c83514baf388 (diff)
downloadminetest-bf91d623c8fc1fede7b600d1b0f4be1bc6b37c44.tar.gz
minetest-bf91d623c8fc1fede7b600d1b0f4be1bc6b37c44.tar.bz2
minetest-bf91d623c8fc1fede7b600d1b0f4be1bc6b37c44.zip
Let lighting be done only CPU side. Remove finalColorBlend implementation from shaders.
Diffstat (limited to 'client')
-rw-r--r--client/shaders/nodes_shader/opengl_vertex.glsl28
-rw-r--r--client/shaders/water_surface_shader/opengl_vertex.glsl28
2 files changed, 2 insertions, 54 deletions
diff --git a/client/shaders/nodes_shader/opengl_vertex.glsl b/client/shaders/nodes_shader/opengl_vertex.glsl
index 28d3e8ed8..36d29c1e5 100644
--- a/client/shaders/nodes_shader/opengl_vertex.glsl
+++ b/client/shaders/nodes_shader/opengl_vertex.glsl
@@ -97,31 +97,5 @@ void main(void)
eyeVec = (gl_ModelViewMatrix * gl_Vertex).xyz;
tsEyeVec = eyeVec * tbnMatrix;
- vec4 color;
- float day = gl_Color.r;
- float night = gl_Color.g;
- float light_source = gl_Color.b;
-
- float rg = mix(night, day, dayNightRatio);
- rg += light_source * 2.5; // Make light sources brighter
- float b = rg;
-
- // Moonlight is blue
- b += (day - night) / 13.0;
- rg -= (day - night) / 23.0;
-
- // Emphase blue a bit in darker places
- // See C++ implementation in mapblock_mesh.cpp finalColorBlend()
- b += max(0.0, (1.0 - abs(b - 0.13)/0.17) * 0.025);
-
- // Artificial light is yellow-ish
- // See C++ implementation in mapblock_mesh.cpp finalColorBlend()
- rg += max(0.0, (1.0 - abs(rg - 0.85)/0.15) * 0.065);
-
- color.r = rg;
- color.g = rg;
- color.b = b;
-
- color.a = gl_Color.a;
- gl_FrontColor = gl_BackColor = clamp(color,0.0,1.0);
+ gl_FrontColor = gl_BackColor = gl_Color;
}
diff --git a/client/shaders/water_surface_shader/opengl_vertex.glsl b/client/shaders/water_surface_shader/opengl_vertex.glsl
index 03b682d1b..36d29c1e5 100644
--- a/client/shaders/water_surface_shader/opengl_vertex.glsl
+++ b/client/shaders/water_surface_shader/opengl_vertex.glsl
@@ -97,31 +97,5 @@ void main(void)
eyeVec = (gl_ModelViewMatrix * gl_Vertex).xyz;
tsEyeVec = eyeVec * tbnMatrix;
- vec4 color;
- float day = gl_Color.r;
- float night = gl_Color.g;
- float light_source = gl_Color.b;
-
- float rg = mix(night, day, dayNightRatio);
- rg += light_source * 2.5; // Make light sources brighter
- float b = rg;
-
- // Moonlight is blue
- b += (day - night) / 13.0;
- rg -= (day - night) / 13.0;
-
- // Emphase blue a bit in darker places
- // See C++ implementation in mapblock_mesh.cpp finalColorBlend()
- b += max(0.0, (1.0 - abs(b - 0.13)/0.17) * 0.025);
-
- // Artificial light is yellow-ish
- // See C++ implementation in mapblock_mesh.cpp finalColorBlend()
- rg += max(0.0, (1.0 - abs(rg - 0.85)/0.15) * 0.065);
-
- color.r = rg;
- color.g = rg;
- color.b = b;
-
- color.a = gl_Color.a;
- gl_FrontColor = gl_BackColor = clamp(color,0.0,1.0);
+ gl_FrontColor = gl_BackColor = gl_Color;
}