summaryrefslogtreecommitdiffstats
path: root/tooner_lighting.cginc
diff options
context:
space:
mode:
authoryum <yum.food.vr@gmail.com>2024-10-28 12:31:15 -0700
committeryum <yum.food.vr@gmail.com>2024-10-28 12:31:15 -0700
commit9a492f33c29c8564bcec17edef0a6591518ca9d4 (patch)
tree108156c028127dc41c8383d596f540de419c70e4 /tooner_lighting.cginc
parent8d9d6e374a3dfb5d639034dbd9bb6310c329f147 (diff)
Bugfixes
* rl polar mask now works without quantization * optimize_interpolators is now a local feature (no ui yet) * `audiolink chroma` feature causes audiolink to import
Diffstat (limited to 'tooner_lighting.cginc')
-rw-r--r--tooner_lighting.cginc29
1 files changed, 20 insertions, 9 deletions
diff --git a/tooner_lighting.cginc b/tooner_lighting.cginc
index 4206cef..c0bc46e 100644
--- a/tooner_lighting.cginc
+++ b/tooner_lighting.cginc
@@ -1739,7 +1739,6 @@ float4 effect(inout v2f i, out float depth)
(cam_refl.z + 1) * (cam_refl.z + 1));
rl_uv = cam_refl.xy / m + 0.5;
}
- float theta = atan2(rl_uv.y - 0.5, rl_uv.x - 0.5);
float rl = length(rl_uv - 0.5);
rl = pow(2, -_Rim_Lighting0_Power * abs(rl - _Rim_Lighting0_Center));
float q = _Rim_Lighting0_Quantization;
@@ -1768,11 +1767,15 @@ float4 effect(inout v2f i, out float depth)
#endif
#if defined(_RIM_LIGHTING0_POLAR_MASK)
if (_Rim_Lighting0_PolarMask_Enabled) {
+ float theta = atan2(rl_uv.y - 0.5, rl_uv.x - 0.5);
float pmask_theta = _Rim_Lighting0_PolarMask_Theta;
float pmask_pow = _Rim_Lighting0_PolarMask_Power;
float d = glsl_mod((theta - pmask_theta) - PI, 2 * PI) - PI;
float f = abs(1.0 / (1.0 + pow(abs(d), pmask_pow)));
- matcap_mask *= floor(f * _Rim_Lighting0_Quantization) / _Rim_Lighting0_Quantization;
+ if (_Rim_Lighting0_Quantization > 0) {
+ f = floor(f * _Rim_Lighting0_Quantization) / _Rim_Lighting0_Quantization;
+ }
+ matcap_mask *= f;
}
#endif
#if defined(_RIM_LIGHTING0_GLITTER)
@@ -1838,7 +1841,6 @@ float4 effect(inout v2f i, out float depth)
(cam_refl.z + 1) * (cam_refl.z + 1));
rl_uv = cam_refl.xy / m + 0.5;
}
- float theta = atan2(rl_uv.y - 0.5, rl_uv.x - 0.5);
float rl = length(rl_uv - 0.5);
rl = pow(2, -_Rim_Lighting1_Power * abs(rl - _Rim_Lighting1_Center));
float q = _Rim_Lighting1_Quantization;
@@ -1867,11 +1869,15 @@ float4 effect(inout v2f i, out float depth)
#endif
#if defined(_RIM_LIGHTING1_POLAR_MASK)
if (_Rim_Lighting1_PolarMask_Enabled) {
+ float theta = atan2(rl_uv.y - 0.5, rl_uv.x - 0.5);
float pmask_theta = _Rim_Lighting1_PolarMask_Theta;
float pmask_pow = _Rim_Lighting1_PolarMask_Power;
float d = glsl_mod((theta - pmask_theta) - PI, 2 * PI) - PI;
float f = abs(1.0 / (1.0 + pow(abs(d), pmask_pow)));
- matcap_mask *= floor(f * _Rim_Lighting1_Quantization) / _Rim_Lighting1_Quantization;
+ if (_Rim_Lighting1_Quantization > 0) {
+ f = floor(f * _Rim_Lighting1_Quantization) / _Rim_Lighting1_Quantization;
+ }
+ matcap_mask *= f;
}
#endif
#if defined(_RIM_LIGHTING1_GLITTER)
@@ -1937,7 +1943,6 @@ float4 effect(inout v2f i, out float depth)
(cam_refl.z + 1) * (cam_refl.z + 1));
rl_uv = cam_refl.xy / m + 0.5;
}
- float theta = atan2(rl_uv.y - 0.5, rl_uv.x - 0.5);
float rl = length(rl_uv - 0.5);
rl = pow(2, -_Rim_Lighting2_Power * abs(rl - _Rim_Lighting2_Center));
float q = _Rim_Lighting2_Quantization;
@@ -1966,11 +1971,15 @@ float4 effect(inout v2f i, out float depth)
#endif
#if defined(_RIM_LIGHTING2_POLAR_MASK)
if (_Rim_Lighting2_PolarMask_Enabled) {
+ float theta = atan2(rl_uv.y - 0.5, rl_uv.x - 0.5);
float pmask_theta = _Rim_Lighting2_PolarMask_Theta;
float pmask_pow = _Rim_Lighting2_PolarMask_Power;
float d = glsl_mod((theta - pmask_theta) - PI, 2 * PI) - PI;
float f = abs(1.0 / (1.0 + pow(abs(d), pmask_pow)));
- matcap_mask *= floor(f * _Rim_Lighting2_Quantization) / _Rim_Lighting2_Quantization;
+ if (_Rim_Lighting2_Quantization > 0) {
+ f = floor(f * _Rim_Lighting2_Quantization) / _Rim_Lighting2_Quantization;
+ }
+ matcap_mask *= f;
}
#endif
#if defined(_RIM_LIGHTING2_GLITTER)
@@ -2036,7 +2045,6 @@ float4 effect(inout v2f i, out float depth)
(cam_refl.z + 1) * (cam_refl.z + 1));
rl_uv = cam_refl.xy / m + 0.5;
}
- float theta = atan2(rl_uv.y - 0.5, rl_uv.x - 0.5);
float rl = length(rl_uv - 0.5);
rl = pow(2, -_Rim_Lighting3_Power * abs(rl - _Rim_Lighting3_Center));
float q = _Rim_Lighting3_Quantization;
@@ -2065,12 +2073,15 @@ float4 effect(inout v2f i, out float depth)
#endif
#if defined(_RIM_LIGHTING3_POLAR_MASK)
if (_Rim_Lighting3_PolarMask_Enabled) {
+ float theta = atan2(rl_uv.y - 0.5, rl_uv.x - 0.5);
float pmask_theta = _Rim_Lighting3_PolarMask_Theta;
float pmask_pow = _Rim_Lighting3_PolarMask_Power;
float d = glsl_mod((theta - pmask_theta) - PI, 2 * PI) - PI;
- float d = glsl_mod((theta - pmask_theta) - PI, 2 * PI) - PI;
float f = abs(1.0 / (1.0 + pow(abs(d), pmask_pow)));
- matcap_mask *= floor(f * _Rim_Lighting3_Quantization) / _Rim_Lighting3_Quantization;
+ if (_Rim_Lighting3_Quantization > 0) {
+ f = floor(f * _Rim_Lighting3_Quantization) / _Rim_Lighting3_Quantization;
+ }
+ matcap_mask *= f;
}
#endif
#if defined(_RIM_LIGHTING3_GLITTER)