From 610b7dc9426176e392b014a7bb310abb32bd0b48 Mon Sep 17 00:00:00 2001 From: Lwmte <3331699+Lwmte@users.noreply.github.com> Date: Mon, 30 Dec 2024 19:12:18 +0100 Subject: [PATCH] Add missing blob shadows for objects --- CHANGELOG.md | 1 + TombEngine/Shaders/InstancedStatics.fx | 1 + TombEngine/Shaders/Items.fx | 1 + TombEngine/Shaders/Statics.fx | 1 + 4 files changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index f2a47de4e..850b4289b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,7 @@ TombEngine releases are located in this repository (alongside with Tomb Editor): * Fixed rare case of not being able to start a new game or exit game from the main menu on very slow GPUs. * Fixed occasional crashes with creatures stuck in a sector with no pathfinding set. * Fixed occasional cases of underwater switch animation not playing, if player spams jump key while pulling the switch. +* Fixed Lara's blob shadows not rendering on moveables and static meshes. * Fixed antialiasing quality not changing after changing it in display settings. * Fixed endless explosion effect for Puna. * Fixed diary pick-up item inventory state not preserved in the savegame. diff --git a/TombEngine/Shaders/InstancedStatics.fx b/TombEngine/Shaders/InstancedStatics.fx index cc421cbab..605fcb2ea 100644 --- a/TombEngine/Shaders/InstancedStatics.fx +++ b/TombEngine/Shaders/InstancedStatics.fx @@ -126,6 +126,7 @@ PixelShaderOutput PS(PixelShaderInput input) StaticLight(input.Color.xyz, tex.xyz, input.FogBulbs.w); color = DoShadow(input.WorldPosition, normal, color, -0.5f); + color = DoBlobShadows(input.WorldPosition, color); output.Color = float4(color * occlusion, tex.w); output.Color = DoFogBulbsForPixel(output.Color, float4(input.FogBulbs.xyz, 1.0f)); diff --git a/TombEngine/Shaders/Items.fx b/TombEngine/Shaders/Items.fx index 05e122f6a..6ded6011f 100644 --- a/TombEngine/Shaders/Items.fx +++ b/TombEngine/Shaders/Items.fx @@ -157,6 +157,7 @@ PixelShaderOutput PS(PixelShaderInput input) float shadowable = step(0.5f, float((NumItemLights & SHADOWABLE_MASK) == SHADOWABLE_MASK)); float3 shadow = DoShadow(input.WorldPosition, normal, color, -0.5f); + shadow = DoBlobShadows(input.WorldPosition, shadow); color = lerp(color, shadow, shadowable); output.Color = saturate(float4(color * occlusion, tex.w)); diff --git a/TombEngine/Shaders/Statics.fx b/TombEngine/Shaders/Statics.fx index 595b6d2c8..6d5215f9e 100644 --- a/TombEngine/Shaders/Statics.fx +++ b/TombEngine/Shaders/Statics.fx @@ -94,6 +94,7 @@ PixelShaderOutput PS(PixelShaderInput input) StaticLight(input.Color.xyz, tex.xyz, input.FogBulbs.w); color = DoShadow(input.WorldPosition, normal, color, -0.5f); + color = DoBlobShadows(input.WorldPosition, color); output.Color = float4(color, tex.w); output.Color = DoFogBulbsForPixel(output.Color, float4(input.FogBulbs.xyz, 1.0f));