From cf9bc03ee95f0390dcd28e25d5d5feb24225a369 Mon Sep 17 00:00:00 2001 From: Vladislav Belov Date: Thu, 9 Jan 2025 01:48:56 +0100 Subject: [PATCH] Adds a temporary hack for grass lighting. The hack uses per-vertex lighting for translucent objects. In the future we need to use a separate shader. --- .../public/art/materials/basic_trans_wind_grain_norm_spec.xml | 2 +- binaries/data/mods/public/shaders/glsl/model_common.fs | 2 +- 2 files changed, 2 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 cd4e988718..e9bc74f840 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 @@ -11,5 +11,5 @@ - + diff --git a/binaries/data/mods/public/shaders/glsl/model_common.fs b/binaries/data/mods/public/shaders/glsl/model_common.fs index 3157fa4834..0ade538814 100644 --- a/binaries/data/mods/public/shaders/glsl/model_common.fs +++ b/binaries/data/mods/public/shaders/glsl/model_common.fs @@ -84,7 +84,7 @@ void main() #if USE_INSTANCING && USE_NORMAL_MAP normal = calculateNormal(normal, SAMPLE_2D(GET_DRAW_TEXTURE_2D(normTex), coord).rgb, tbn, effectSettings.x); - vec3 sundiffuse = max(dot(-sunDir, normal), 0.0) * sunColor; + vec3 sundiffuse = mix(max(dot(-sunDir, normal), 0.0) * sunColor, v_lighting.rgb, effectSettings.w); #else vec3 sundiffuse = v_lighting.rgb; #endif