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