From 4fbe948be78f83a557cbd70911697211b2c71e7d Mon Sep 17 00:00:00 2001 From: vladislavbelov Date: Sun, 12 Mar 2023 12:00:21 +0000 Subject: [PATCH] Fixes grass with normal and specular textures. Tested By: Langbart, marder, wowgetoffyourcellphone Differential Revision: https://code.wildfiregames.com/D4968 This was SVN commit r27575. --- .../public/art/materials/basic_trans_wind_grain_norm_spec.xml | 2 ++ binaries/data/mods/public/shaders/glsl/model_common.fs | 2 +- binaries/data/mods/public/shaders/glsl/terrain_common.fs | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/binaries/data/mods/public/art/materials/basic_trans_wind_grain_norm_spec.xml b/binaries/data/mods/public/art/materials/basic_trans_wind_grain_norm_spec.xml index 52069f8f89..cd4e988718 100644 --- a/binaries/data/mods/public/art/materials/basic_trans_wind_grain_norm_spec.xml +++ b/binaries/data/mods/public/art/materials/basic_trans_wind_grain_norm_spec.xml @@ -10,4 +10,6 @@ + + diff --git a/binaries/data/mods/public/shaders/glsl/model_common.fs b/binaries/data/mods/public/shaders/glsl/model_common.fs index bfbcf8ae5c..91e6f8d893 100644 --- a/binaries/data/mods/public/shaders/glsl/model_common.fs +++ b/binaries/data/mods/public/shaders/glsl/model_common.fs @@ -104,7 +104,7 @@ void main() 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 diff --git a/binaries/data/mods/public/shaders/glsl/terrain_common.fs b/binaries/data/mods/public/shaders/glsl/terrain_common.fs index e2cab3b40a..f274c9404d 100644 --- a/binaries/data/mods/public/shaders/glsl/terrain_common.fs +++ b/binaries/data/mods/public/shaders/glsl/terrain_common.fs @@ -114,7 +114,7 @@ void main() 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;