Skip to content

Commit 3305010

Browse files
committed
ShaginGrademapMainLIght can put channel mask into alpha channel now.
1 parent c359284 commit 3305010

File tree

1 file changed

+12
-3
lines changed

1 file changed

+12
-3
lines changed

com.unity.toonshader/Runtime/HDRP/Shaders/ShadingGrademapMainLight.hlsl

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,9 @@
1111
# endif
1212
#endif
1313

14-
float3 UTS_MainLightShadingGrademap(LightLoopContext lightLoopContext, FragInputs input, int mainLightIndex, out float inverseClipping, out float channelAlpha)
14+
float3 UTS_MainLightShadingGrademap(LightLoopContext lightLoopContext, FragInputs input, int mainLightIndex, out float inverseClipping, out float channelOutAlpha)
1515
{
16-
channelAlpha = 1.0f;
16+
channelOutAlpha = 1.0f;
1717

1818
uint2 tileIndex = uint2(input.positionSS.xy) / GetTileSize();
1919
inverseClipping = 0;
@@ -103,6 +103,7 @@ float3 UTS_MainLightShadingGrademap(LightLoopContext lightLoopContext, FragInput
103103
float3 Set_LightColor = lightColor.rgb;
104104

105105
float3 Set_BaseColor = lerp((_BaseColor.rgb * _MainTex_var.rgb), ((_BaseColor.rgb * _MainTex_var.rgb) * Set_LightColor), _Is_LightColor_Base);
106+
float Set_BaseColorAlpha = _BaseColorVisible;
106107
float3 clippingColor = float3(1.0f, 1.0f, 1.0f);
107108
#ifdef _IS_CLIPPING_MATTE
108109
if (_ClippingMatteMode == 1)
@@ -163,6 +164,7 @@ float3 UTS_MainLightShadingGrademap(LightLoopContext lightLoopContext, FragInput
163164
_Is_LightColor_1st_Shade_var = lerp(_Is_LightColor_1st_Shade_var, overridingColor, maskEnabled);
164165
_Is_LightColor_1st_Shade_var = lerp(_Is_LightColor_1st_Shade_var, Set_BaseColor, 1.0f - _FirstShadeVisible);
165166
}
167+
float Set_1st_ShadeAlpha = _FirstShadeVisible;
166168
#endif //#ifdef UTS_LAYER_VISIBILITY
167169
float3 _BaseColor_var = lerp(Set_BaseColor, _Is_LightColor_1st_Shade_var, Set_FinalShadowMask);
168170
//v.2.0.5
@@ -180,11 +182,15 @@ float3 UTS_MainLightShadingGrademap(LightLoopContext lightLoopContext, FragInput
180182
float3 _Is_LightColor_2nd_Shade_var = lerp((_2nd_ShadeMap_var.rgb * _2nd_ShadeColor.rgb), ((_2nd_ShadeMap_var.rgb * _2nd_ShadeColor.rgb) * Set_LightColor), _Is_LightColor_2nd_Shade);
181183
_Is_LightColor_2nd_Shade_var = lerp(_Is_LightColor_2nd_Shade_var, overridingColor, maskEnabled);
182184
_Is_LightColor_2nd_Shade_var = lerp(_Is_LightColor_2nd_Shade_var, Set_BaseColor, 1.0f - _SecondShadeVisible);
185+
float Set_2nd_ShadeAlpha = _SecondShadeVisible;
183186
Set_FinalBaseColor =
184187
lerp(_BaseColor_var,
185188
lerp(_Is_LightColor_1st_Shade_var, _Is_LightColor_2nd_Shade_var
186189
, Set_ShadeShadowMask)
187190
, Set_FinalShadowMask);
191+
channelOutAlpha =
192+
lerp(Set_BaseColorAlpha, lerp(Set_1st_ShadeAlpha, Set_2nd_ShadeAlpha, Set_ShadeShadowMask),Set_FinalShadowMask);
193+
188194
}
189195

190196
#else
@@ -246,6 +252,7 @@ float3 UTS_MainLightShadingGrademap(LightLoopContext lightLoopContext, FragInput
246252
if (any(addColor))
247253
{
248254
Set_HighColor = lerp(Set_HighColor, overridingColor, maskEnabled);
255+
channelOutAlpha = _HighlightVisible;
249256
}
250257
}
251258
#else
@@ -270,13 +277,14 @@ float3 UTS_MainLightShadingGrademap(LightLoopContext lightLoopContext, FragInput
270277

271278
float4 overridingRimColor = lerp(_RimLightMaskColor, float4(_RimLightMaskColor.w, _RimLightMaskColor.w, _RimLightMaskColor.w, 1.0f), _ComposerMaskMode);
272279
float maskRimEnabled = max(_RimLightOverridden, _ComposerMaskMode);
273-
280+
float Set_RimLightAlpha = _RimLightVisible;
274281
float3 Set_RimLight = (saturate((_Set_RimLightMask_var.g + _Tweak_RimLightMaskLevel)) * lerp(_LightDirection_MaskOn_var, (_LightDirection_MaskOn_var + (lerp(_Ap_RimLightColor.rgb, (_Ap_RimLightColor.rgb * Set_LightColor), _Is_LightColor_Ap_RimLight) * saturate((lerp((0.0 + ((_ApRimLightPower_var - _RimLight_InsideMask) * (1.0 - 0.0)) / (1.0 - _RimLight_InsideMask)), step(_RimLight_InsideMask, _ApRimLightPower_var), _Ap_RimLight_FeatherOff) - (saturate(_VertHalfLambert_var) + _Tweak_LightDirection_MaskLevel))))), _Add_Antipodean_RimLight));
275282
Set_RimLight *= _RimLightVisible;
276283
float3 _RimLight_var = lerp(Set_HighColor, (Set_HighColor + Set_RimLight), _RimLight);
277284
if (any(Set_RimLight) * maskRimEnabled)
278285
{
279286
_RimLight_var = overridingRimColor;
287+
channelOutAlpha = Set_RimLightAlpha;
280288
}
281289

282290
#else
@@ -389,6 +397,7 @@ float3 UTS_MainLightShadingGrademap(LightLoopContext lightLoopContext, FragInput
389397
if (any(Set_AngelRing) * maskEnabled)
390398
{
391399
finalColor = lerp(finalColor, lerp(overridingColor.xyz, ((finalColor * (1.0 - Set_ARtexAlpha)) + Set_AngelRingWithAlpha), _ARSampler_AlphaOn), _AngelRing);// Final Composition before Emissive
400+
channelOutAlpha = _AngelRingVisible;
392401
}
393402
}
394403
# else

0 commit comments

Comments
 (0)