diff --git a/assets/voxygen/shaders/fluid-frag/shiny.glsl b/assets/voxygen/shaders/fluid-frag/shiny.glsl index 8d06ee468c..12af11e6f3 100644 --- a/assets/voxygen/shaders/fluid-frag/shiny.glsl +++ b/assets/voxygen/shaders/fluid-frag/shiny.glsl @@ -89,9 +89,9 @@ void main() { 0.1 / slope ); - nmap = mix(vec3(0, 0, 1), normalize(nmap), min(1.0 / pow(frag_dist, 0.75), 1)); + nmap = mix(f_norm, normalize(nmap), min(1.0 / pow(frag_dist, 0.75), 1)); - vec3 norm = f_norm * nmap.z + b_norm * nmap.x + c_norm * nmap.y; + vec3 norm = vec3(0, 0, 1) * nmap.z + b_norm * nmap.x + c_norm * nmap.y; vec3 light, diffuse_light, ambient_light; get_sun_diffuse(norm, time_of_day.x, light, diffuse_light, ambient_light, 0.0); diff --git a/voxygen/src/scene/terrain.rs b/voxygen/src/scene/terrain.rs index 74a2f94852..8ae5b602a2 100644 --- a/voxygen/src/scene/terrain.rs +++ b/voxygen/src/scene/terrain.rs @@ -1483,6 +1483,9 @@ impl Terrain { .as_ref() .map(|model| (model, &chunk.locals)) }) + .collect::>() + .into_iter() + .rev() // Render back-to-front .for_each(|(model, locals)| { renderer.render_fluid_chunk(model, globals, locals, lights, shadows, &self.waves) });