From 613b2c7a62ba4b3291ea32bbcca5cd6a5c6b4c24 Mon Sep 17 00:00:00 2001 From: notargs Date: Wed, 26 Apr 2023 13:57:12 +0900 Subject: [PATCH] =?UTF-8?q?=E3=82=B3=E3=83=B3=E3=83=91=E3=82=A4=E3=83=AB?= =?UTF-8?q?=E3=81=8C=E9=80=9A=E3=82=8B=E7=8A=B6=E6=85=8B=E3=81=AB=E3=81=BE?= =?UTF-8?q?=E3=81=A7=E6=8C=81=E3=81=A3=E3=81=A6=E3=81=84=E3=81=A3=E3=81=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...vrmc_materials_mtoon_forward_fragment.hlsl | 9 ++++++++ .../vrmc_materials_mtoon_lighting_mtoon.hlsl | 21 +++++++++++++++++++ 2 files changed, 30 insertions(+) diff --git a/Assets/VRMShaders/VRM10/MToon10/Resources/VRM10/vrmc_materials_mtoon_forward_fragment.hlsl b/Assets/VRMShaders/VRM10/MToon10/Resources/VRM10/vrmc_materials_mtoon_forward_fragment.hlsl index 3198ba4b7..639874e0d 100644 --- a/Assets/VRMShaders/VRM10/MToon10/Resources/VRM10/vrmc_materials_mtoon_forward_fragment.hlsl +++ b/Assets/VRMShaders/VRM10/MToon10/Resources/VRM10/vrmc_materials_mtoon_forward_fragment.hlsl @@ -31,7 +31,11 @@ half4 MToonFragment(const FragmentInput fragmentInput) : SV_Target const float2 uv = GetMToonGeometry_Uv(input.uv); // Get LitColor with Alpha + #ifdef MTOON_URP + const half4 litColor = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv) * _Color; + #else const half4 litColor = UNITY_SAMPLE_TEX2D(_MainTex, uv) * _Color; + #endif // Alpha Test const half alpha = GetMToonGeometry_Alpha(litColor); @@ -52,7 +56,12 @@ half4 MToonFragment(const FragmentInput fragmentInput) : SV_Target half4 col = GetMToonLighting(unityLighting, mtoonInput); // Apply Fog + #ifdef MTOON_URP + float fogCoord = input.fogFactorAndVertexLight.x; + col.rgb = MixFog(col.rgb, fogCoord); + #else UNITY_APPLY_FOG(fragmentInput.varyings.fogCoord, col); + #endif return col; } diff --git a/Assets/VRMShaders/VRM10/MToon10/Resources/VRM10/vrmc_materials_mtoon_lighting_mtoon.hlsl b/Assets/VRMShaders/VRM10/MToon10/Resources/VRM10/vrmc_materials_mtoon_lighting_mtoon.hlsl index 6b6559236..11a5053a8 100644 --- a/Assets/VRMShaders/VRM10/MToon10/Resources/VRM10/vrmc_materials_mtoon_lighting_mtoon.hlsl +++ b/Assets/VRMShaders/VRM10/MToon10/Resources/VRM10/vrmc_materials_mtoon_lighting_mtoon.hlsl @@ -25,7 +25,11 @@ inline half GetMToonLighting_Reflectance_ShadingShift(const MToonInput input) { if (MToon_IsParameterMapOn()) { + #ifdef MTOON_URP + return SAMPLE_TEXTURE2D(_ShadingShiftTex, sampler_ShadingShiftTex, input.uv).r * _ShadingShiftTexScale + _ShadingShiftFactor; + #else return UNITY_SAMPLE_TEX2D(_ShadingShiftTex, input.uv).r * _ShadingShiftTexScale + _ShadingShiftFactor; + #endif } else { @@ -83,7 +87,11 @@ inline half GetMToonLighting_Shadow(const UnityLighting lighting, const half dot inline half3 GetMToonLighting_DirectLighting(const UnityLighting unityLight, const MToonInput input, const half shade, const half shadow) { + #ifdef MTOON_URP + const half3 shadeColor = SAMPLE_TEXTURE2D(_ShadeTex, sampler_ShadeTex, input.uv).rgb * _ShadeColor.rgb; + #else const half3 shadeColor = UNITY_SAMPLE_TEX2D(_ShadeTex, input.uv).rgb * _ShadeColor.rgb; + #endif const half3 albedo = lerp(shadeColor, input.litColor, shade); return albedo * unityLight.directLightColor * shadow; @@ -107,7 +115,11 @@ inline half3 GetMToonLighting_Emissive(const MToonInput input) { if (MToon_IsEmissiveMapOn()) { + #ifdef MTOON_URP + return SAMPLE_TEXTURE2D(_EmissionMap, sampler_EmissionMap, input.uv).rgb * _EmissionColor.rgb; + #else return UNITY_SAMPLE_TEX2D(_EmissionMap, input.uv).rgb * _EmissionColor.rgb; + #endif } else { @@ -129,7 +141,12 @@ inline half3 GetMToonLighting_Rim_Matcap(const MToonInput input) const half3 matcapRightAxisWS = normalize(cross(input.viewDirWS, worldUpWS)); const half3 matcapUpAxisWS = normalize(cross(matcapRightAxisWS, input.viewDirWS)); const half2 matcapUv = float2(dot(matcapRightAxisWS, input.normalWS), dot(matcapUpAxisWS, input.normalWS)) * 0.5 + 0.5; + + #ifdef MTOON_URP + return _MatcapColor.rgb * SAMPLE_TEXTURE2D(_MatcapTex, sampler_MatcapTex, matcapUv).rgb; + #else return _MatcapColor.rgb * UNITY_SAMPLE_TEX2D(_MatcapTex, matcapUv).rgb; + #endif } else { @@ -157,7 +174,11 @@ inline half3 GetMToonLighting_Rim(const UnityLighting unityLight, const MToonInp if (MToon_IsRimMapOn()) { + #ifdef MTOON_URP + return (matcapFactor + parametricRimFactor) * rimLightingFactor * SAMPLE_TEXTURE2D(_RimTex, sampler_RimTex, input.uv).rgb; + #else return (matcapFactor + parametricRimFactor) * rimLightingFactor * UNITY_SAMPLE_TEX2D(_RimTex, input.uv).rgb; + #endif } else {