summaryrefslogtreecommitdiffstats
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
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
-rw-r--r--audiolink.cginc2
-rw-r--r--feature_macros.cginc2
-rw-r--r--interpolators.cginc1
-rw-r--r--tooner_lighting.cginc29
4 files changed, 22 insertions, 12 deletions
diff --git a/audiolink.cginc b/audiolink.cginc
index 1147744..f1732e8 100644
--- a/audiolink.cginc
+++ b/audiolink.cginc
@@ -1,7 +1,7 @@
#ifndef __AUDIOLINK
#define __AUDIOLINK
-#if defined (_GIMMICK_QUANTIZE_LOCATION_AUDIOLINK)
+#if defined (_GIMMICK_QUANTIZE_LOCATION_AUDIOLINK) || defined(_GIMMICK_AL_CHROMA_00)
#include "Packages/com.llealloo.audiolink/Runtime/Shaders/AudioLink.cginc"
diff --git a/feature_macros.cginc b/feature_macros.cginc
index ed082ae..4c7bc5a 100644
--- a/feature_macros.cginc
+++ b/feature_macros.cginc
@@ -2,7 +2,6 @@
#define __FEATURE_MACROS_INC
#define EXPERIMENT__CUSTOM_DEPTH
-#define _OPTIMIZE_INTERPOLATORS
#pragma shader_feature_local _ _BASECOLOR_MAP
#pragma shader_feature_local _ _NORMAL_MAP
@@ -184,6 +183,7 @@
#pragma shader_feature_local _ _GIMMICK_GERSTNER_WATER
#pragma shader_feature_local _ _GIMMICK_GERSTNER_WATER_OCTAVE_1
#pragma shader_feature_local _ _GIMMICK_GERSTNER_WATER_COLOR_RAMP
+#pragma shader_feature_local _ _OPTIMIZE_INTERPOLATORS
#endif // __FEATURE_MACROS_INC
diff --git a/interpolators.cginc b/interpolators.cginc
index 709b29b..4955415 100644
--- a/interpolators.cginc
+++ b/interpolators.cginc
@@ -1,6 +1,5 @@
#include "AutoLight.cginc"
#include "feature_macros.cginc"
-#define _OPTIMIZE_INTERPOLATORS
#ifndef __INTERPOLATORS_INC
#define __INTERPOLATORS_INC
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)