Skip to content

Commit 61b080b

Browse files
committed
Added channelAlpha parameter to each light functions.
1 parent cbb5413 commit 61b080b

File tree

5 files changed

+19
-16
lines changed

5 files changed

+19
-16
lines changed

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22
33
//[email protected] (Universal RP/HDRP)
44

5-
float3 UTS_MainLight(LightLoopContext lightLoopContext, FragInputs input, int mainLightIndex, out float inverseClipping)
5+
float3 UTS_MainLight(LightLoopContext lightLoopContext, FragInputs input, int mainLightIndex, out float inverseClipping, out float channelAlpha)
66
{
7-
7+
channelAlpha = 1.0f;
88
uint2 tileIndex = uint2(input.positionSS.xy) / GetTileSize();
99
inverseClipping = 0;
1010
// input.positionSS is SV_Position

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,9 @@
33
//[email protected] (Universal RP/HDRP)
44

55
float3 UTS_OtherLights(FragInputs input, float3 i_normalDir,
6-
float3 additionalLightColor, float3 lightDirection, float notDirectional)
6+
float3 additionalLightColor, float3 lightDirection, float notDirectional, out float channelAlpha)
77
{
8+
channelAlpha = 1.0f;
89
#ifdef _IS_CLIPPING_MATTE
910
if (_ClippingMatteMode != 0)
1011
{

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

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -203,10 +203,10 @@ void Frag(PackedVaryingsToPS packedInput,
203203
// Initialize the contactShadow and contactShadowFade fields
204204
InitContactShadow(posInput, context);
205205

206-
float3 i_normalDir = surfaceData.normalWS;
207-
206+
float3 i_normalDir = surfaceData.normalWS;
208207

209208

209+
float channelAlpha = 0.0f;
210210
float3 finalColor = float3(0.0f, 0.0f, 0.0f);
211211
if (featureFlags & LIGHTFEATUREFLAGS_DIRECTIONAL)
212212
{
@@ -275,16 +275,16 @@ void Frag(PackedVaryingsToPS packedInput,
275275
if ( mainLightIndex >= 0)
276276
{
277277
#if defined(_SHADINGGRADEMAP)
278-
finalColor = UTS_MainLightShadingGrademap(context, input, mainLightIndex, inverseClipping);
278+
finalColor = UTS_MainLightShadingGrademap(context, input, mainLightIndex, inverseClipping, channelAlpha);
279279
#else
280-
finalColor = UTS_MainLight(context, input, mainLightIndex, inverseClipping);
280+
finalColor = UTS_MainLight(context, input, mainLightIndex, inverseClipping, channelAlpha);
281281
#endif
282282
}
283283

284284

285285

286286
int i = 0; // Declare once to avoid the D3D11 compiler warning.
287-
287+
float channelAlpha = 0.0f;
288288
for (i = 0; i < (int)_DirectionalLightCount; ++i)
289289
{
290290
if (IsMatchingLightLayer(_DirectionalLightDatas[i].lightLayers, builtinData.renderingLayers))
@@ -295,11 +295,12 @@ void Frag(PackedVaryingsToPS packedInput,
295295
float3 lightColor = _DirectionalLightDatas[i].color;
296296
float3 lightDirection = -_DirectionalLightDatas[i].forward;
297297
float notDirectional = 0.0f;
298+
298299
#if defined(_SHADINGGRADEMAP)
299-
float3 additionalLightColor = UTS_OtherLightsShadingGrademap(input, i_normalDir, lightColor, lightDirection, notDirectional);
300+
float3 additionalLightColor = UTS_OtherLightsShadingGrademap(input, i_normalDir, lightColor, lightDirection, notDirectional, channelAlpha);
300301

301302
#else
302-
float3 additionalLightColor = UTS_OtherLights(input, i_normalDir, lightColor, lightDirection, notDirectional);
303+
float3 additionalLightColor = UTS_OtherLights(input, i_normalDir, lightColor, lightDirection, notDirectional, channelAlpha);
303304
#endif
304305
finalColor += additionalLightColor;
305306
}
@@ -476,7 +477,7 @@ void Frag(PackedVaryingsToPS packedInput,
476477

477478
uint v_lightListOffset = 0;
478479
uint v_lightIdx = lightStart;
479-
480+
float channelAlpha = 0.0f;
480481
[loop]
481482
while (v_lightListOffset < lightCount)
482483
{
@@ -506,9 +507,9 @@ void Frag(PackedVaryingsToPS packedInput,
506507
if (IsMatchingLightLayer(s_lightData.lightLayers, builtinData.renderingLayers))
507508
{
508509
#if defined(_SHADINGGRADEMAP)
509-
float3 pointLightColor = UTS_OtherLightsShadingGrademap(input, i_normalDir, additionalLightColor, lightDirection, notDirectional);
510+
float3 pointLightColor = UTS_OtherLightsShadingGrademap(input, i_normalDir, additionalLightColor, lightDirection, notDirectional, channelAlpha);
510511
#else
511-
float3 pointLightColor = UTS_OtherLights(input, i_normalDir, additionalLightColor, lightDirection, notDirectional);
512+
float3 pointLightColor = UTS_OtherLights(input, i_normalDir, additionalLightColor, lightDirection, notDirectional, channelAlpha);
512513
#endif
513514
finalColor += pointLightColor;
514515
}

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

Lines changed: 2 additions & 2 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)
14+
float3 UTS_MainLightShadingGrademap(LightLoopContext lightLoopContext, FragInputs input, int mainLightIndex, out float inverseClipping, out float channelAlpha)
1515
{
16-
16+
channelAlpha = 1.0f;
1717

1818
uint2 tileIndex = uint2(input.positionSS.xy) / GetTileSize();
1919
inverseClipping = 0;

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,9 @@
33
//[email protected] (Universal RP/HDRP)
44

55
float3 UTS_OtherLightsShadingGrademap(FragInputs input, float3 i_normalDir,
6-
float3 additionalLightColor, float3 lightDirection, float notDirectional)
6+
float3 additionalLightColor, float3 lightDirection, float notDirectional, out float channelAlpha)
77
{
8+
channelAlpha = 0.0f;
89
#ifdef _IS_CLIPPING_MATTE
910
if (_ClippingMatteMode != 0)
1011
{

0 commit comments

Comments
 (0)