2233//[email protected] (Universal RP/HDRP) 44
5- float3 UTS_MainLight (LightLoopContext lightLoopContext, FragInputs input, int mainLightIndex, out float inverseClipping, out float channelAlpha )
5+ float3 UTS_MainLight (LightLoopContext lightLoopContext, FragInputs input, int mainLightIndex, out float inverseClipping, out float channelOutAlpha )
66{
7- channelAlpha = 1.0f ;
7+ channelOutAlpha = 1.0f ;
88 uint2 tileIndex = uint2 (input.positionSS.xy) / GetTileSize ();
99 inverseClipping = 0 ;
1010 // input.positionSS is SV_Position
@@ -115,6 +115,7 @@ float3 UTS_MainLight(LightLoopContext lightLoopContext, FragInputs input, int ma
115115 float maskEnabled = max (_BaseColorOverridden, _ComposerMaskMode);
116116 Set_BaseColor = lerp (Set_BaseColor, overridingColor, maskEnabled);
117117 Set_BaseColor *= _BaseColorVisible;
118+ float Set_BaseColorAlpha = _BaseColorVisible;
118119#endif //#ifdef UTS_LAYER_VISIBILITY
119120 //v.2.0.5
120121 float4 _1st_ShadeMap_var = lerp (tex2D (_1st_ShadeMap, TRANSFORM_TEX (Set_UV0, _1st_ShadeMap)), _MainTex_var, _Use_BaseAs1st);
@@ -133,6 +134,7 @@ float3 UTS_MainLight(LightLoopContext lightLoopContext, FragInputs input, int ma
133134 Set_1st_ShadeColor = lerp (Set_1st_ShadeColor, overridingColor.xyz, maskEnabled);
134135 Set_1st_ShadeColor = lerp (Set_1st_ShadeColor, Set_BaseColor, 1.0f - _FirstShadeVisible);
135136 }
137+ float Set_1st_ShadeAlpha = _FirstShadeVisible;
136138#endif //#ifdef UTS_LAYER_VISIBILITY
137139 //v.2.0.5
138140 float4 _2nd_ShadeMap_var = lerp (tex2D (_2nd_ShadeMap, TRANSFORM_TEX (Set_UV0, _2nd_ShadeMap)), _1st_ShadeMap_var, _Use_1stAs2nd);
@@ -170,8 +172,10 @@ float3 UTS_MainLight(LightLoopContext lightLoopContext, FragInputs input, int ma
170172 Set_2nd_ShadeColor = lerp (Set_2nd_ShadeColor, overridingColor.xyz, maskEnabled);
171173 Set_2nd_ShadeColor = lerp (Set_2nd_ShadeColor, Set_BaseColor, 1.0f - _SecondShadeVisible);
172174 }
175+ float Set_2nd_ShadeAlpha = _SecondShadeVisible;
173176#endif //#ifdef UTS_LAYER_VISIBILITY
174177 float3 Set_FinalBaseColor = lerp (Set_BaseColor, lerp (Set_1st_ShadeColor, Set_2nd_ShadeColor, saturate ((1.0 + ((_HalfLambert_var - (_ShadeColor_Step - _2ndColorFeatherForMask)) * ((1.0 - _Set_2nd_ShadePosition_var.rgb).r - 1.0 )) / (_ShadeColor_Step - (_ShadeColor_Step - _2ndColorFeatherForMask))))), Set_FinalShadowMask); // Final Color
178+ channelOutAlpha = lerp (Set_BaseColorAlpha, lerp (Set_1st_ShadeAlpha, Set_2nd_ShadeAlpha, saturate ((1.0 + ((_HalfLambert_var - (_ShadeColor_Step - _2ndColorFeatherForMask)) * ((1.0 - _Set_2nd_ShadePosition_var.rgb).r - 1.0 )) / (_ShadeColor_Step - (_ShadeColor_Step - _2ndColorFeatherForMask))))), Set_FinalShadowMask);
175179#ifdef _SYNTHESIZED_TEXTURE
176180 float4 _Set_HighColorMask_var = tex2D (_HighColor_TexSynthesized, TRANSFORM_TEX (Set_UV0, _HighColor_TexSynthesized)).aaaa;
177181#else
@@ -213,6 +217,7 @@ float3 UTS_MainLight(LightLoopContext lightLoopContext, FragInputs input, int ma
213217 if (any (addColor))
214218 {
215219 Set_HighColor = lerp (Set_HighColor, overridingColor.xyz, maskEnabled);
220+ channelOutAlpha = _HighlightVisible;
216221 }
217222 }
218223
@@ -234,13 +239,14 @@ float3 UTS_MainLight(LightLoopContext lightLoopContext, FragInputs input, int ma
234239#ifdef UTS_LAYER_VISIBILITY
235240 float4 overridingRimColor = lerp (_RimLightMaskColor, float4 (_RimLightMaskColor.w, _RimLightMaskColor.w, _RimLightMaskColor.w, 1.0f ), _ComposerMaskMode);
236241 float maskRimEnabled = max (_RimLightOverridden, _ComposerMaskMode);
237-
242+ float Set_RimLightAlpha = _RimLightVisible;
238243 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));
239244 Set_RimLight *= _RimLightVisible;
240245 float3 _RimLight_var = lerp (Set_HighColor, (Set_HighColor + Set_RimLight), _RimLight);
241246 if (any (Set_RimLight) * maskRimEnabled)
242247 {
243248 _RimLight_var = overridingRimColor.xyz;
249+ channelOutAlpha = Set_RimLightAlpha;
244250 }
245251#else
246252 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));
0 commit comments