diff options
| author | yum <yum.food.vr@gmail.com> | 2024-10-28 12:31:15 -0700 |
|---|---|---|
| committer | yum <yum.food.vr@gmail.com> | 2024-10-28 12:31:15 -0700 |
| commit | 9a492f33c29c8564bcec17edef0a6591518ca9d4 (patch) | |
| tree | 108156c028127dc41c8383d596f540de419c70e4 | |
| parent | 8d9d6e374a3dfb5d639034dbd9bb6310c329f147 (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.cginc | 2 | ||||
| -rw-r--r-- | feature_macros.cginc | 2 | ||||
| -rw-r--r-- | interpolators.cginc | 1 | ||||
| -rw-r--r-- | tooner_lighting.cginc | 29 |
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) |
