Index: binaries/data/mods/public/art/materials/basic_trans_wind_grain_norm_spec.xml =================================================================== --- binaries/data/mods/public/art/materials/basic_trans_wind_grain_norm_spec.xml +++ binaries/data/mods/public/art/materials/basic_trans_wind_grain_norm_spec.xml @@ -10,4 +10,6 @@ + + Index: binaries/data/mods/public/shaders/glsl/model_common.fs =================================================================== --- binaries/data/mods/public/shaders/glsl/model_common.fs +++ binaries/data/mods/public/shaders/glsl/model_common.fs @@ -104,7 +104,7 @@ specCol = specularColor; specPow = specularPower; #endif - specular.rgb = sunColor * specCol * pow(max(0.0, dot(normalize(normal), v_half)), specPow); + specular.rgb = sunColor * specCol * pow(max(0.001, dot(normalize(normal), v_half)), specPow); #endif #if (USE_INSTANCING || USE_GPU_SKINNING) && USE_AO Index: binaries/data/mods/public/shaders/glsl/terrain_common.fs =================================================================== --- binaries/data/mods/public/shaders/glsl/terrain_common.fs +++ binaries/data/mods/public/shaders/glsl/terrain_common.fs @@ -114,7 +114,7 @@ specCol = s.rgb; specular.a = s.a; specPow = effectSettings.y; - specular.rgb = sunColor * specCol * pow(max(0.0, dot(normalize(normal), v_half)), specPow); + specular.rgb = sunColor * specCol * pow(max(0.001, dot(normalize(normal), v_half)), specPow); #endif vec3 color = (texdiffuse * sundiffuse + specular.rgb) * getShadowOnLandscape() + texdiffuse * ambient;