Skip to content

Commit 2bfcd45

Browse files
authored
Fix always waving semitransparent liquid regression
1 parent 636a734 commit 2bfcd45

File tree

2 files changed

+14
-4
lines changed

2 files changed

+14
-4
lines changed

client/shaders/nodes_shader/opengl_fragment.glsl

+3-3
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ centroid varying float nightRatio;
5151
varying highp vec3 eyeVec;
5252

5353
#ifdef ENABLE_DYNAMIC_SHADOWS
54-
#if (defined(ENABLE_WATER_REFLECTIONS) && MATERIAL_WAVING_LIQUID && ENABLE_WAVING_WATER)
54+
#if (defined(ENABLE_WATER_REFLECTIONS) && MATERIAL_WATER_REFLECTIONS && ENABLE_WAVING_WATER)
5555
vec4 perm(vec4 x)
5656
{
5757
return mod(((x * 34.0) + 1.0) * x, 289.0);
@@ -502,7 +502,7 @@ void main(void)
502502
vec3 viewVec = normalize(worldPosition + cameraOffset - cameraPosition);
503503

504504
// Water reflections
505-
#if (defined(ENABLE_WATER_REFLECTIONS) && MATERIAL_WAVING_LIQUID && ENABLE_WAVING_WATER)
505+
#if (defined(ENABLE_WATER_REFLECTIONS) && MATERIAL_WATER_REFLECTIONS && ENABLE_WAVING_WATER)
506506
vec3 wavePos = worldPosition * vec3(2.0, 0.0, 2.0);
507507
float off = animationTimer * WATER_WAVE_SPEED * 10.0;
508508
wavePos.x /= WATER_WAVE_LENGTH * 3.0;
@@ -530,7 +530,7 @@ void main(void)
530530
col.rgb += water_reflect_color * f_adj_shadow_strength * brightness_factor;
531531
#endif
532532

533-
#if (defined(ENABLE_NODE_SPECULAR) && !MATERIAL_WAVING_LIQUID)
533+
#if (defined(ENABLE_NODE_SPECULAR) && !MATERIAL_WATER_REFLECTIONS)
534534
// Apply specular to blocks.
535535
if (dot(v_LightDirection, vNormal) < 0.0) {
536536
float intensity = 2.0 * (1.0 - (base.r * varColor.r));

src/client/shader.cpp

+11-1
Original file line numberDiff line numberDiff line change
@@ -687,13 +687,23 @@ ShaderInfo ShaderSource::generateShader(const std::string &name,
687687
case TILE_MATERIAL_WAVING_LIQUID_TRANSPARENT:
688688
case TILE_MATERIAL_WAVING_LIQUID_OPAQUE:
689689
case TILE_MATERIAL_WAVING_LIQUID_BASIC:
690-
case TILE_MATERIAL_LIQUID_TRANSPARENT:
691690
shaders_header << "#define MATERIAL_WAVING_LIQUID 1\n";
692691
break;
693692
default:
694693
shaders_header << "#define MATERIAL_WAVING_LIQUID 0\n";
695694
break;
696695
}
696+
switch (material_type) {
697+
case TILE_MATERIAL_WAVING_LIQUID_TRANSPARENT:
698+
case TILE_MATERIAL_WAVING_LIQUID_OPAQUE:
699+
case TILE_MATERIAL_WAVING_LIQUID_BASIC:
700+
case TILE_MATERIAL_LIQUID_TRANSPARENT:
701+
shaders_header << "#define MATERIAL_WATER_REFLECTIONS 1\n";
702+
break;
703+
default:
704+
shaders_header << "#define MATERIAL_WATER_REFLECTIONS 0\n";
705+
break;
706+
}
697707

698708
shaders_header << "#define ENABLE_WAVING_LEAVES " << g_settings->getBool("enable_waving_leaves") << "\n";
699709
shaders_header << "#define ENABLE_WAVING_PLANTS " << g_settings->getBool("enable_waving_plants") << "\n";

0 commit comments

Comments
 (0)