diff --git a/Shader/LitParticles_2SP.shader b/Shader/LitParticles_2SP.shader index 6365b79..9d2c336 100644 --- a/Shader/LitParticles_2SP.shader +++ b/Shader/LitParticles_2SP.shader @@ -116,7 +116,7 @@ Shader "DeMuenu/World/Hoppou/Particles/LitParticles_2SP" float4 ShadowCasterMult_1 = 1; float4 ShadowCasterMult_2 = 1; - if (shadowCastingEnabled) + if ((((_Udon_ShadowMapIndex[LightCounter] > 0.5) && (_Udon_ShadowMapIndex[LightCounter] < 1.5) && (_EnableShadowCasting > 0.5)) || (_Udon_ShadowMapIndex[LightCounter] > 2.5)) && _EnableShadowCasting) { half smIndex = _Udon_ShadowMapIndex[LightCounter]; if ((smIndex > 0.5 && smIndex < 1.5) || smIndex > 2.5) diff --git a/Shader/Standard_2SP.shader b/Shader/Standard_2SP.shader index 7945607..8d5ef3f 100644 --- a/Shader/Standard_2SP.shader +++ b/Shader/Standard_2SP.shader @@ -143,7 +143,14 @@ Shader "DeMuenu/World/Hoppou/Standard_2SP" float4 ShadowCasterMult_1 = 1; float4 ShadowCasterMult_2 = 1; - if (shadowCastingEnabled) + if ((((_Udon_ShadowMapIndex[LightCounter] > 0.5) && (_Udon_ShadowMapIndex[LightCounter] < 1.5) && (_EnableShadowCasting > 0.5)) || (_Udon_ShadowMapIndex[LightCounter] > 2.5)) && _EnableShadowCasting) { + float4 sc1 = SampleShadowcasterPlaneWS_Basis( + _Udon_LightPositions[LightCounter].xyz, i.worldPos, + _Udon_Plane_Origin_1.xyz, _Udon_Plane_Uinv_1.xyz, _Udon_Plane_Vinv_1.xyz, _Udon_Plane_Normal_1.xyz, + _Udon_shadowCasterTex_1, _Udon_OutSideColor_1, _Udon_shadowCasterColor_1, _BlurPixels, _Udon_shadowCasterTex_1_TexelSize.xy); + ShadowCasterMult_1 = max(sc1, _Udon_MinBrightnessShadow_1); + } + if (_Udon_ShadowMapIndex[LightCounter] > 1.5 && (_EnableShadowCasting > 0.5)) { half smIndex = _Udon_ShadowMapIndex[LightCounter]; if ((smIndex > 0.5 && smIndex < 1.5) || smIndex > 2.5) diff --git a/Shader/Standard_Lightmap_2SP.shader b/Shader/Standard_Lightmap_2SP.shader index c13071c..568f44f 100644 --- a/Shader/Standard_Lightmap_2SP.shader +++ b/Shader/Standard_Lightmap_2SP.shader @@ -155,7 +155,15 @@ Shader "DeMuenu/World/Hoppou/Standard_Lightmap_2SP" float4 ShadowCasterMult_1 = 1; float4 ShadowCasterMult_2 = 1; - if (shadowCastingEnabled) + if ((((_Udon_ShadowMapIndex[LightCounter] > 0.5) && (_Udon_ShadowMapIndex[LightCounter] < 1.5) && (_EnableShadowCasting > 0.5)) || (_Udon_ShadowMapIndex[LightCounter] > 2.5)) && _EnableShadowCasting) + { + float4 sc1 = SampleShadowcasterPlaneWS_Basis( + _Udon_LightPositions[LightCounter].xyz, i.worldPos, + _Udon_Plane_Origin_1.xyz, _Udon_Plane_Uinv_1.xyz, _Udon_Plane_Vinv_1.xyz, _Udon_Plane_Normal_1.xyz, + _Udon_shadowCasterTex_1, _Udon_OutSideColor_1, _Udon_shadowCasterColor_1, _BlurPixels, _Udon_shadowCasterTex_1_TexelSize.xy); + ShadowCasterMult_1 = max(sc1, _Udon_MinBrightnessShadow_1); + } + if (_Udon_ShadowMapIndex[LightCounter] > 1.5 && (_EnableShadowCasting > 0.5)) { half smIndex = _Udon_ShadowMapIndex[LightCounter]; if ((smIndex > 0.5 && smIndex < 1.5) || smIndex > 2.5) diff --git a/Shader/Water_2SP.shader b/Shader/Water_2SP.shader index c38fc8b..af30ce4 100644 --- a/Shader/Water_2SP.shader +++ b/Shader/Water_2SP.shader @@ -186,7 +186,7 @@ Shader "DeMuenu/World/Hoppou/WaterFlat_2SP" float4 ShadowCasterMult_1 = 1; float4 ShadowCasterMult_2 = 1; - if (shadowCastingEnabled) + if ((((_Udon_ShadowMapIndex[LightCounter] > 0.5) && (_Udon_ShadowMapIndex[LightCounter] < 1.5) && (_EnableShadowCasting > 0.5)) || (_Udon_ShadowMapIndex[LightCounter] > 2.5)) && _EnableShadowCasting) { half smIndex = _Udon_ShadowMapIndex[LightCounter]; if ((smIndex > 0.5 && smIndex < 1.5) || smIndex > 2.5) @@ -216,7 +216,6 @@ Shader "DeMuenu/World/Hoppou/WaterFlat_2SP" //dmax = dmax + contrib * float4(LightColor, 1); // accumulate light contributions - } //dmax.xyz = min(dmax * dIntensity, 1.0);