summaryrefslogtreecommitdiffstats
path: root/tooner_lighting.cginc
diff options
context:
space:
mode:
authoryum <yum.food.vr@gmail.com>2024-08-29 17:44:58 -0700
committeryum <yum.food.vr@gmail.com>2024-08-29 17:44:58 -0700
commitc72069f69f451a4e369f01ac3dac3961740127b5 (patch)
treea463513aa741c7d3a9e2ad2fc7b468c34a99feb4 /tooner_lighting.cginc
parent6074470a44ec25a0fe4da6b96944a3997a69ffc5 (diff)
Add 4 more UV channels
Also make glitter & rim lighting glitter UV channel aware.
Diffstat (limited to 'tooner_lighting.cginc')
-rw-r--r--tooner_lighting.cginc36
1 files changed, 31 insertions, 5 deletions
diff --git a/tooner_lighting.cginc b/tooner_lighting.cginc
index e4f9077..55bf8c7 100644
--- a/tooner_lighting.cginc
+++ b/tooner_lighting.cginc
@@ -179,6 +179,10 @@ v2f vert(appdata v)
o.uv1 = v.uv1;
o.uv2 = v.uv2;
o.uv3 = v.uv3;
+ o.uv4 = v.uv4;
+ o.uv5 = v.uv5;
+ o.uv6 = v.uv6;
+ o.uv7 = v.uv7;
#if defined(LIGHTMAP_ON)
o.lmuv = v.uv1 * unity_LightmapST.xy + unity_LightmapST.zw;
#endif
@@ -418,6 +422,18 @@ float2 get_uv_by_channel(v2f i, uint which_channel) {
case 3:
return i.uv3;
break;
+ case 4:
+ return i.uv4;
+ break;
+ case 5:
+ return i.uv5;
+ break;
+ case 6:
+ return i.uv6;
+ break;
+ case 7:
+ return i.uv7;
+ break;
default:
return 0;
break;
@@ -1472,7 +1488,9 @@ float4 effect(inout v2f i)
}
#endif
#if defined(_RIM_LIGHTING0_GLITTER)
- float rl_glitter = get_glitter(i.uv0.xy, i.worldPos, normal,
+ float rl_glitter = get_glitter(
+ get_uv_by_channel(i, round(_Rim_Lighting0_Glitter_UV_Select)),
+ i.worldPos, normal,
_Rim_Lighting0_Glitter_Density,
_Rim_Lighting0_Glitter_Amount, _Rim_Lighting0_Glitter_Speed,
/*mask=*/1, /*brightness=*/1, /*angle=*/91, /*power=*/1);
@@ -1550,7 +1568,9 @@ float4 effect(inout v2f i)
}
#endif
#if defined(_RIM_LIGHTING1_GLITTER)
- float rl_glitter = get_glitter(i.uv0, i.worldPos, normal,
+ float rl_glitter = get_glitter(
+ get_uv_by_channel(i, round(_Rim_Lighting1_Glitter_UV_Select)),
+ i.worldPos, normal,
_Rim_Lighting1_Glitter_Density,
_Rim_Lighting1_Glitter_Amount, _Rim_Lighting1_Glitter_Speed,
/*mask=*/1, /*brightness=*/1, /*angle=*/91, /*power=*/1);
@@ -1628,7 +1648,9 @@ float4 effect(inout v2f i)
}
#endif
#if defined(_RIM_LIGHTING2_GLITTER)
- float rl_glitter = get_glitter(i.uv0, i.worldPos, normal,
+ float rl_glitter = get_glitter(
+ get_uv_by_channel(i, round(_Rim_Lighting2_Glitter_UV_Select)),
+ i.worldPos, normal,
_Rim_Lighting2_Glitter_Density,
_Rim_Lighting2_Glitter_Amount, _Rim_Lighting2_Glitter_Speed,
/*mask=*/1, /*brightness=*/1, /*angle=*/91, /*power=*/1);
@@ -1706,7 +1728,9 @@ float4 effect(inout v2f i)
}
#endif
#if defined(_RIM_LIGHTING3_GLITTER)
- float rl_glitter = get_glitter(i.uv0, i.worldPos, normal,
+ float rl_glitter = get_glitter(
+ get_uv_by_channel(i, round(_Rim_Lighting3_Glitter_UV_Select)),
+ i.worldPos, normal,
_Rim_Lighting3_Glitter_Density,
_Rim_Lighting3_Glitter_Amount, _Rim_Lighting3_Glitter_Speed,
/*mask=*/1, /*brightness=*/1, /*angle=*/91, /*power=*/1);
@@ -1853,7 +1877,9 @@ float4 effect(inout v2f i)
#if defined(_GLITTER)
float glitter_mask = _Glitter_Mask.SampleBias(linear_repeat_s, i.uv0, _Global_Sample_Bias);
glitter_mask *= min(matcap_overwrite_mask[0], matcap_overwrite_mask[1]);
- float glitter = get_glitter(i.uv0, i.worldPos, normal,
+ float glitter = get_glitter(
+ get_uv_by_channel(i, round(_Glitter_UV_Select)),
+ i.worldPos, normal,
_Glitter_Density, _Glitter_Amount, _Glitter_Speed,
glitter_mask, _Glitter_Brightness, _Glitter_Angle, _Glitter_Power);
result.rgb += glitter * _Glitter_Color;