summaryrefslogtreecommitdiffstats
path: root/tooner_lighting.cginc
diff options
context:
space:
mode:
authoryum <yum.food.vr@gmail.com>2024-08-28 14:29:23 -0700
committeryum <yum.food.vr@gmail.com>2024-08-28 14:29:23 -0700
commit699da7b756aec0d361c4a6d84fa41e8183ef1d12 (patch)
tree39cdae51faea62904ac0a330074a3deb66484af0 /tooner_lighting.cginc
parent6eaf7c8ec43d4d6ce5d2c67e9ef032f182fbfa25 (diff)
Add second HSV slot
Helps with animation.
Diffstat (limited to 'tooner_lighting.cginc')
-rw-r--r--tooner_lighting.cginc55
1 files changed, 38 insertions, 17 deletions
diff --git a/tooner_lighting.cginc b/tooner_lighting.cginc
index a2a3269..7d8ec72 100644
--- a/tooner_lighting.cginc
+++ b/tooner_lighting.cginc
@@ -1768,24 +1768,45 @@ float4 effect(inout v2f i)
}
#endif
-#if defined(_HSV)
- // Do hue shift in perceptually uniform color space so it doesn't look like
- // shit.
- float hsv_mask = _HSV_Mask.SampleBias(linear_repeat_s, i.uv0, _Global_Sample_Bias);
- if (_HSV_Mask_Invert) {
- hsv_mask = 1 - hsv_mask;
+#if defined(_HSV0)
+ {
+ float hsv_mask = _HSV0_Mask.SampleBias(linear_repeat_s, i.uv0, _Global_Sample_Bias);
+ if (_HSV0_Mask_Invert) {
+ hsv_mask = 1 - hsv_mask;
+ }
+ if (hsv_mask > 0.01 &&
+ (_HSV0_Hue_Shift > 1E-6 ||
+ abs(_HSV0_Sat_Shift) > 1E-6 ||
+ abs(_HSV0_Val_Shift) > 1E-6)) {
+ float3 c = albedo.rgb;
+ c = RGBtoHSV(c);
+ c += float3(_HSV0_Hue_Shift, _HSV0_Sat_Shift, _HSV0_Val_Shift);
+ c.x = glsl_mod(c.x, 1.0);
+ c.yz = saturate(c.yz);
+ c = HSVtoRGB(c);
+ albedo.rgb = c;
+ }
}
- if (hsv_mask > 0.01 &&
- (_HSV_Hue_Shift > 1E-6 ||
- abs(_HSV_Sat_Shift) > 1E-6 ||
- abs(_HSV_Val_Shift) > 1E-6)) {
- float3 c = albedo.rgb;
- c = RGBtoHSV(c);
- c += float3(_HSV_Hue_Shift, _HSV_Sat_Shift, _HSV_Val_Shift);
- c.x = glsl_mod(c.x, 1.0);
- c.yz = saturate(c.yz);
- c = HSVtoRGB(c);
- albedo.rgb = c;
+#endif
+
+#if defined(_HSV1)
+ {
+ float hsv_mask = _HSV1_Mask.SampleBias(linear_repeat_s, i.uv0, _Global_Sample_Bias);
+ if (_HSV1_Mask_Invert) {
+ hsv_mask = 1 - hsv_mask;
+ }
+ if (hsv_mask > 0.01 &&
+ (_HSV1_Hue_Shift > 1E-6 ||
+ abs(_HSV1_Sat_Shift) > 1E-6 ||
+ abs(_HSV1_Val_Shift) > 1E-6)) {
+ float3 c = albedo.rgb;
+ c = RGBtoHSV(c);
+ c += float3(_HSV1_Hue_Shift, _HSV1_Sat_Shift, _HSV1_Val_Shift);
+ c.x = glsl_mod(c.x, 1.0);
+ c.yz = saturate(c.yz);
+ c = HSVtoRGB(c);
+ albedo.rgb = c;
+ }
}
#endif