summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoryum <yum.food.vr@gmail.com>2025-03-17 19:35:50 -0700
committeryum <yum.food.vr@gmail.com>2025-03-17 19:35:50 -0700
commitee3db7ea6f80e31e31958848b5138e2a5c848af5 (patch)
tree46d3a08a1d94ead2bc3f1bb028c2588737e6ea1f
parent1f96ed7dd57831f0d4c817dacebb1ecd2dfcca9f (diff)
finish converting decals to static branching with shitty hacks
-rw-r--r--2ner.shader16
-rw-r--r--decals.cginc80
-rw-r--r--features.cginc10
3 files changed, 57 insertions, 49 deletions
diff --git a/2ner.shader b/2ner.shader
index 4a20161..6d8a289 100644
--- a/2ner.shader
+++ b/2ner.shader
@@ -299,8 +299,8 @@ Shader "yum_food/2ner"
_Decal0_Opacity("Opacity", Range(0, 1)) = 1.0
_Decal0_Angle("Angle", Range(0, 1)) = 0.0
_Decal0_UV_Channel("UV channel", Range(0, 1)) = 0
- [ThryWideEnum(Clamp, 0, Tiling, 1)]_Decal0_Tiling_Mode("Tiling mode", Int) = 0
- [ThryWideEnum(AlphaBlend, 0, Replace, 1)]_Decal0_Alpha_Blend_Mode("Alpha blend mode", Int) = 0
+ [ThryToggle(_DECAL0_TILING_MODE)] _Decal0_Tiling_Mode("Tiling mode", Float) = 0
+ [ThryToggle(_DECAL0_REPLACE_ALPHA)] _Decal0_Replace_Alpha_Mode("Replace alpha", Float) = 0
//ifex _Decal0_Normal_Enabled==0
[HideInInspector] m_start_Decal0_Normal("Normal", Float) = 0
[ThryToggle(_DECAL0_NORMAL)] _Decal0_Normal_Enabled("Enable", Float) = 0
@@ -341,8 +341,8 @@ Shader "yum_food/2ner"
_Decal1_Opacity("Opacity", Range(0, 1)) = 1.0
_Decal1_Angle("Angle", Range(0, 1)) = 0.0
_Decal1_UV_Channel("UV channel", Range(0, 1)) = 0
- [ThryWideEnum(Clamp, 0, Tiling, 1)]_Decal1_Tiling_Mode("Tiling mode", Int) = 0
- [ThryWideEnum(AlphaBlend, 0, Replace, 1)]_Decal1_Alpha_Blend_Mode("Alpha blend mode", Int) = 0
+ [ThryToggle(_DECAL1_TILING_MODE)] _Decal1_Tiling_Mode("Tiling mode", Float) = 0
+ [ThryToggle(_DECAL1_REPLACE_ALPHA)] _Decal1_Replace_Alpha_Mode("Replace alpha", Float) = 0
//ifex _Decal1_Normal_Enabled==0
[HideInInspector] m_start_Decal1_Normal("Normal", Float) = 0
[ThryToggle(_DECAL1_NORMAL)] _Decal1_Normal_Enabled("Enable", Float) = 0
@@ -383,8 +383,8 @@ Shader "yum_food/2ner"
_Decal2_Opacity("Opacity", Range(0, 1)) = 1.0
_Decal2_Angle("Angle", Range(0, 1)) = 0.0
_Decal2_UV_Channel("UV channel", Range(0, 1)) = 0
- [ThryWideEnum(Clamp, 0, Tiling, 1)]_Decal2_Tiling_Mode("Tiling mode", Int) = 0
- [ThryWideEnum(AlphaBlend, 0, Replace, 1)]_Decal2_Alpha_Blend_Mode("Alpha blend mode", Int) = 0
+ [ThryToggle(_DECAL2_TILING_MODE)] _Decal2_Tiling_Mode("Tiling mode", Float) = 0
+ [ThryToggle(_DECAL2_REPLACE_ALPHA)] _Decal2_Replace_Alpha_Mode("Replace alpha", Float) = 0
//ifex _Decal2_Normal_Enabled==0
[HideInInspector] m_start_Decal2_Normal("Normal", Float) = 0
[ThryToggle(_DECAL2_NORMAL)] _Decal2_Normal_Enabled("Enable", Float) = 0
@@ -425,8 +425,8 @@ Shader "yum_food/2ner"
_Decal3_Opacity("Opacity", Range(0, 1)) = 1.0
_Decal3_Angle("Angle", Range(0, 1)) = 0.0
_Decal3_UV_Channel("UV channel", Range(0, 1)) = 0
- [ThryWideEnum(Clamp, 0, Tiling, 1)]_Decal3_Tiling_Mode("Tiling mode", Int) = 0
- [ThryWideEnum(AlphaBlend, 0, Replace, 1)]_Decal3_Alpha_Blend_Mode("Alpha blend mode", Int) = 0
+ [ThryToggle(_DECAL3_TILING_MODE)] _Decal3_Tiling_Mode("Tiling mode", Float) = 0
+ [ThryToggle(_DECAL3_REPLACE_ALPHA)] _Decal3_Replace_Alpha_Mode("Replace alpha", Float) = 0
//ifex _Decal3_Normal_Enabled==0
[HideInInspector] m_start_Decal3_Normal("Normal", Float) = 0
[ThryToggle(_DECAL3_NORMAL)] _Decal3_Normal_Enabled("Enable", Float) = 0
diff --git a/decals.cginc b/decals.cginc
index bf09b6c..c120c79 100644
--- a/decals.cginc
+++ b/decals.cginc
@@ -130,21 +130,21 @@ void applyDecals(in v2f i, inout float4 albedo, inout float3 normal_tangent, ino
#else
APPLY_DECAL_SEC01_SDF_OFF(i, albedo, normal_tangent, metallic, smoothness, decal);
#endif
- if (decal.tiling_mode == DECAL_TILING_MODE_CLAMP) {
- APPLY_DECAL_SEC02_CLAMP_ON(i, albedo, normal_tangent, metallic, smoothness, decal);
- } else {
- APPLY_DECAL_SEC02_CLAMP_OFF(i, albedo, normal_tangent, metallic, smoothness, decal);
- }
+ #if defined(_DECAL0_TILING_MODE)
+ APPLY_DECAL_SEC02_CLAMP_OFF(i, albedo, normal_tangent, metallic, smoothness, decal);
+ #else
+ APPLY_DECAL_SEC02_CLAMP_ON(i, albedo, normal_tangent, metallic, smoothness, decal);
+ #endif
#if defined(_DECAL0_MASK)
APPLY_DECAL_SEC03_MASK_ON(i, albedo, normal_tangent, metallic, smoothness, decal);
#else
APPLY_DECAL_SEC03_MASK_OFF(i, albedo, normal_tangent, metallic, smoothness, decal);
#endif
- if (decal.alpha_blend_mode == DECAL_ALPHA_BLEND_MODE_ALPHA_BLEND) {
- APPLY_DECAL_SEC04_BLEND_MODE_ALPHA_BLEND(i, albedo, normal_tangent, metallic, smoothness, decal);
- } else {
- APPLY_DECAL_SEC04_BLEND_MODE_REPLACE(i, albedo, normal_tangent, metallic, smoothness, decal);
- }
+ #if defined(_DECAL0_REPLACE_ALPHA)
+ APPLY_DECAL_SEC04_BLEND_MODE_REPLACE(i, albedo, normal_tangent, metallic, smoothness, decal);
+ #else
+ APPLY_DECAL_SEC04_BLEND_MODE_ALPHA_BLEND(i, albedo, normal_tangent, metallic, smoothness, decal);
+ #endif
#if defined(_DECAL0_NORMAL)
APPLY_DECAL_SEC05_NORMAL_ON(i, albedo, normal_tangent, metallic, smoothness, decal);
#else
@@ -166,21 +166,21 @@ void applyDecals(in v2f i, inout float4 albedo, inout float3 normal_tangent, ino
#else
APPLY_DECAL_SEC01_SDF_OFF(i, albedo, normal_tangent, metallic, smoothness, decal);
#endif
- if (decal.tiling_mode == DECAL_TILING_MODE_CLAMP) {
- APPLY_DECAL_SEC02_CLAMP_ON(i, albedo, normal_tangent, metallic, smoothness, decal);
- } else {
- APPLY_DECAL_SEC02_CLAMP_OFF(i, albedo, normal_tangent, metallic, smoothness, decal);
- }
+ #if defined(_DECAL1_TILING_MODE)
+ APPLY_DECAL_SEC02_CLAMP_OFF(i, albedo, normal_tangent, metallic, smoothness, decal);
+ #else
+ APPLY_DECAL_SEC02_CLAMP_ON(i, albedo, normal_tangent, metallic, smoothness, decal);
+ #endif
#if defined(_DECAL1_MASK)
APPLY_DECAL_SEC03_MASK_ON(i, albedo, normal_tangent, metallic, smoothness, decal);
#else
APPLY_DECAL_SEC03_MASK_OFF(i, albedo, normal_tangent, metallic, smoothness, decal);
#endif
- if (decal.alpha_blend_mode == DECAL_ALPHA_BLEND_MODE_ALPHA_BLEND) {
- APPLY_DECAL_SEC04_BLEND_MODE_ALPHA_BLEND(i, albedo, normal_tangent, metallic, smoothness, decal);
- } else {
- APPLY_DECAL_SEC04_BLEND_MODE_REPLACE(i, albedo, normal_tangent, metallic, smoothness, decal);
- }
+ #if defined(_DECAL1_REPLACE_ALPHA)
+ APPLY_DECAL_SEC04_BLEND_MODE_REPLACE(i, albedo, normal_tangent, metallic, smoothness, decal);
+ #else
+ APPLY_DECAL_SEC04_BLEND_MODE_ALPHA_BLEND(i, albedo, normal_tangent, metallic, smoothness, decal);
+ #endif
#if defined(_DECAL1_NORMAL)
APPLY_DECAL_SEC05_NORMAL_ON(i, albedo, normal_tangent, metallic, smoothness, decal);
#else
@@ -202,21 +202,21 @@ void applyDecals(in v2f i, inout float4 albedo, inout float3 normal_tangent, ino
#else
APPLY_DECAL_SEC01_SDF_OFF(i, albedo, normal_tangent, metallic, smoothness, decal);
#endif
- if (decal.tiling_mode == DECAL_TILING_MODE_CLAMP) {
- APPLY_DECAL_SEC02_CLAMP_ON(i, albedo, normal_tangent, metallic, smoothness, decal);
- } else {
- APPLY_DECAL_SEC02_CLAMP_OFF(i, albedo, normal_tangent, metallic, smoothness, decal);
- }
+ #if defined(_DECAL2_TILING_MODE)
+ APPLY_DECAL_SEC02_CLAMP_OFF(i, albedo, normal_tangent, metallic, smoothness, decal);
+ #else
+ APPLY_DECAL_SEC02_CLAMP_ON(i, albedo, normal_tangent, metallic, smoothness, decal);
+ #endif
#if defined(_DECAL2_MASK)
APPLY_DECAL_SEC03_MASK_ON(i, albedo, normal_tangent, metallic, smoothness, decal);
#else
APPLY_DECAL_SEC03_MASK_OFF(i, albedo, normal_tangent, metallic, smoothness, decal);
#endif
- if (decal.alpha_blend_mode == DECAL_ALPHA_BLEND_MODE_ALPHA_BLEND) {
- APPLY_DECAL_SEC04_BLEND_MODE_ALPHA_BLEND(i, albedo, normal_tangent, metallic, smoothness, decal);
- } else {
- APPLY_DECAL_SEC04_BLEND_MODE_REPLACE(i, albedo, normal_tangent, metallic, smoothness, decal);
- }
+ #if defined(_DECAL2_REPLACE_ALPHA)
+ APPLY_DECAL_SEC04_BLEND_MODE_REPLACE(i, albedo, normal_tangent, metallic, smoothness, decal);
+ #else
+ APPLY_DECAL_SEC04_BLEND_MODE_ALPHA_BLEND(i, albedo, normal_tangent, metallic, smoothness, decal);
+ #endif
#if defined(_DECAL2_NORMAL)
APPLY_DECAL_SEC05_NORMAL_ON(i, albedo, normal_tangent, metallic, smoothness, decal);
#else
@@ -238,21 +238,21 @@ void applyDecals(in v2f i, inout float4 albedo, inout float3 normal_tangent, ino
#else
APPLY_DECAL_SEC01_SDF_OFF(i, albedo, normal_tangent, metallic, smoothness, decal);
#endif
- if (decal.tiling_mode == DECAL_TILING_MODE_CLAMP) {
- APPLY_DECAL_SEC02_CLAMP_ON(i, albedo, normal_tangent, metallic, smoothness, decal);
- } else {
- APPLY_DECAL_SEC02_CLAMP_OFF(i, albedo, normal_tangent, metallic, smoothness, decal);
- }
+ #if defined(_DECAL3_TILING_MODE)
+ APPLY_DECAL_SEC02_CLAMP_OFF(i, albedo, normal_tangent, metallic, smoothness, decal);
+ #else
+ APPLY_DECAL_SEC02_CLAMP_ON(i, albedo, normal_tangent, metallic, smoothness, decal);
+ #endif
#if defined(_DECAL3_MASK)
APPLY_DECAL_SEC03_MASK_ON(i, albedo, normal_tangent, metallic, smoothness, decal);
#else
APPLY_DECAL_SEC03_MASK_OFF(i, albedo, normal_tangent, metallic, smoothness, decal);
#endif
- if (decal.alpha_blend_mode == DECAL_ALPHA_BLEND_MODE_ALPHA_BLEND) {
- APPLY_DECAL_SEC04_BLEND_MODE_ALPHA_BLEND(i, albedo, normal_tangent, metallic, smoothness, decal);
- } else {
- APPLY_DECAL_SEC04_BLEND_MODE_REPLACE(i, albedo, normal_tangent, metallic, smoothness, decal);
- }
+ #if defined(_DECAL3_REPLACE_ALPHA)
+ APPLY_DECAL_SEC04_BLEND_MODE_REPLACE(i, albedo, normal_tangent, metallic, smoothness, decal);
+ #else
+ APPLY_DECAL_SEC04_BLEND_MODE_ALPHA_BLEND(i, albedo, normal_tangent, metallic, smoothness, decal);
+ #endif
#if defined(_DECAL3_NORMAL)
APPLY_DECAL_SEC05_NORMAL_ON(i, albedo, normal_tangent, metallic, smoothness, decal);
#else
diff --git a/features.cginc b/features.cginc
index 9a0d838..d263ca8 100644
--- a/features.cginc
+++ b/features.cginc
@@ -113,6 +113,8 @@
#pragma shader_feature_local _DECAL0_REFLECTIONS
#pragma shader_feature_local _DECAL0_SDF
#pragma shader_feature_local _DECAL0_MASK
+#pragma shader_feature_local _DECAL0_TILING_MODE
+#pragma shader_feature_local _DECAL0_REPLACE_ALPHA
//endex
//ifex _Decal1_Enabled==0
#pragma shader_feature_local _DECAL1
@@ -120,6 +122,8 @@
#pragma shader_feature_local _DECAL1_REFLECTIONS
#pragma shader_feature_local _DECAL1_SDF
#pragma shader_feature_local _DECAL1_MASK
+#pragma shader_feature_local _DECAL1_TILING_MODE
+#pragma shader_feature_local _DECAL1_REPLACE_ALPHA
//endex
//ifex _Decal2_Enabled==0
#pragma shader_feature_local _DECAL2
@@ -127,6 +131,8 @@
#pragma shader_feature_local _DECAL2_REFLECTIONS
#pragma shader_feature_local _DECAL2_SDF
#pragma shader_feature_local _DECAL2_MASK
+#pragma shader_feature_local _DECAL2_TILING_MODE
+#pragma shader_feature_local _DECAL2_REPLACE_ALPHA
//endex
//ifex _Decal3_Enabled==0
#pragma shader_feature_local _DECAL3
@@ -134,7 +140,9 @@
#pragma shader_feature_local _DECAL3_REFLECTIONS
#pragma shader_feature_local _DECAL3_SDF
#pragma shader_feature_local _DECAL3_MASK
-
+#pragma shader_feature_local _DECAL3_TILING_MODE
+#pragma shader_feature_local _DECAL3_REPLACE_ALPHA
+//endex
//ifex _Vertex_Domain_Warping_Enabled==0
#pragma shader_feature_local _VERTEX_DOMAIN_WARPING
//endex