diff --git a/engine/src/core-effects/Common/MatDefs/Water/Water.frag b/engine/src/core-effects/Common/MatDefs/Water/Water.frag index fd51f16fe..ab752606d 100644 --- a/engine/src/core-effects/Common/MatDefs/Water/Water.frag +++ b/engine/src/core-effects/Common/MatDefs/Water/Water.frag @@ -164,6 +164,7 @@ vec4 underWater(){ vec3 refraction = color2; #ifdef ENABLE_REFRACTION texC = texCoord.xy *sin (fresnel+1.0); + texC = clamp(texC,0.0,1.0); refraction = texture2D(m_Texture, texC).rgb; #endif diff --git a/engine/src/core-effects/Common/MatDefs/Water/Water15.frag b/engine/src/core-effects/Common/MatDefs/Water/Water15.frag index c6b2d81aa..2a26d1558 100644 --- a/engine/src/core-effects/Common/MatDefs/Water/Water15.frag +++ b/engine/src/core-effects/Common/MatDefs/Water/Water15.frag @@ -161,6 +161,7 @@ vec4 underWater(int sampleNum){ vec3 refraction = color2; #ifdef ENABLE_REFRACTION texC = texCoord.xy *sin (fresnel+1.0); + texC = clamp(texC,0.0,1.0); #ifdef RESOLVE_MS ivec2 iTexC = ivec2(texC * textureSize(m_Texture)); refraction = texelFetch(m_Texture, iTexC, sampleNum).rgb; @@ -349,7 +350,7 @@ vec4 main_multiSample(int sampleNum){ // texC = texCoord.xy+ m_ReflectionDisplace * normal.x; texC = texCoord.xy; texC += sin(m_Time*1.8 + 3.0 * abs(position.y))* (refractionScale * min(depth2, 1.0)); - texC = clamp(texC,0.0,1.0); + texC = clamp(texC,vec2(0.0),vec2(0.999)); #ifdef RESOLVE_MS ivec2 iTexC = ivec2(texC * textureSize(m_Texture)); refraction = texelFetch(m_Texture, iTexC, sampleNum).rgb;