diff --git a/src/shaders/water.glsl b/src/shaders/water.glsl index d02c291..e165548 100644 --- a/src/shaders/water.glsl +++ b/src/shaders/water.glsl @@ -165,6 +165,7 @@ uniform sampler2D sNormal; vec4 caustics() { float rOldArea = length(dFdx(vOldPos.xyz)) * length(dFdy(vOldPos.xyz)); float rNewArea = length(dFdx(vNewPos.xyz)) * length(dFdy(vNewPos.xyz)); + rNewArea = max(rNewArea, 0.00002); float value = clamp(rOldArea / rNewArea * 0.2, 0.0, 1.0) * vOldPos.w; return vec4(value, 0.0, 0.0, 0.0); }