summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-x3ner.shader16
-rw-r--r--decal.cginc6
-rwxr-xr-xglobals.cginc2
-rwxr-xr-xpbr.cginc8
4 files changed, 24 insertions, 8 deletions
diff --git a/3ner.shader b/3ner.shader
index 52bf73e..183dec1 100755
--- a/3ner.shader
+++ b/3ner.shader
@@ -90,6 +90,8 @@ Shader "yum_food/3ner"
[HideInInspector] m_start_Decal0_Metallic_Gloss("Metallic Gloss", Float) = 0
[ThryToggle(_DECAL0_METALLIC_GLOSS)] _Decal0_Metallic_Gloss_Enabled("Enable", Float) = 0
_Decal0_Metallic_Gloss("Metallic Gloss", 2D) = "white" {}
+ _Decal0_Metallic("Metallic", Range(0, 1)) = 1
+ _Decal0_Gloss("Gloss", Range(0, 1)) = 1
[HideInInspector] m_end_Decal0_Metallic_Gloss("Metallic Gloss", Float) = 0
//endex
@@ -142,6 +144,8 @@ Shader "yum_food/3ner"
[HideInInspector] m_start_Decal1_Metallic_Gloss("Metallic Gloss", Float) = 0
[ThryToggle(_DECAL1_METALLIC_GLOSS)] _Decal1_Metallic_Gloss_Enabled("Enable", Float) = 0
_Decal1_Metallic_Gloss("Metallic Gloss", 2D) = "white" {}
+ _Decal1_Metallic("Metallic", Range(0, 1)) = 1
+ _Decal1_Gloss("Gloss", Range(0, 1)) = 1
[HideInInspector] m_end_Decal1_Metallic_Gloss("Metallic Gloss", Float) = 0
//endex
@@ -194,6 +198,8 @@ Shader "yum_food/3ner"
[HideInInspector] m_start_Decal2_Metallic_Gloss("Metallic Gloss", Float) = 0
[ThryToggle(_DECAL2_METALLIC_GLOSS)] _Decal2_Metallic_Gloss_Enabled("Enable", Float) = 0
_Decal2_Metallic_Gloss("Metallic Gloss", 2D) = "white" {}
+ _Decal2_Metallic("Metallic", Range(0, 1)) = 1
+ _Decal2_Gloss("Gloss", Range(0, 1)) = 1
[HideInInspector] m_end_Decal2_Metallic_Gloss("Metallic Gloss", Float) = 0
//endex
@@ -246,6 +252,8 @@ Shader "yum_food/3ner"
[HideInInspector] m_start_Decal3_Metallic_Gloss("Metallic Gloss", Float) = 0
[ThryToggle(_DECAL3_METALLIC_GLOSS)] _Decal3_Metallic_Gloss_Enabled("Enable", Float) = 0
_Decal3_Metallic_Gloss("Metallic Gloss", 2D) = "white" {}
+ _Decal3_Metallic("Metallic", Range(0, 1)) = 1
+ _Decal3_Gloss("Gloss", Range(0, 1)) = 1
[HideInInspector] m_end_Decal3_Metallic_Gloss("Metallic Gloss", Float) = 0
//endex
@@ -298,6 +306,8 @@ Shader "yum_food/3ner"
[HideInInspector] m_start_Decal4_Metallic_Gloss("Metallic Gloss", Float) = 0
[ThryToggle(_DECAL4_METALLIC_GLOSS)] _Decal4_Metallic_Gloss_Enabled("Enable", Float) = 0
_Decal4_Metallic_Gloss("Metallic Gloss", 2D) = "white" {}
+ _Decal4_Metallic("Metallic", Range(0, 1)) = 1
+ _Decal4_Gloss("Gloss", Range(0, 1)) = 1
[HideInInspector] m_end_Decal4_Metallic_Gloss("Metallic Gloss", Float) = 0
//endex
@@ -350,6 +360,8 @@ Shader "yum_food/3ner"
[HideInInspector] m_start_Decal5_Metallic_Gloss("Metallic Gloss", Float) = 0
[ThryToggle(_DECAL5_METALLIC_GLOSS)] _Decal5_Metallic_Gloss_Enabled("Enable", Float) = 0
_Decal5_Metallic_Gloss("Metallic Gloss", 2D) = "white" {}
+ _Decal5_Metallic("Metallic", Range(0, 1)) = 1
+ _Decal5_Gloss("Gloss", Range(0, 1)) = 1
[HideInInspector] m_end_Decal5_Metallic_Gloss("Metallic Gloss", Float) = 0
//endex
@@ -402,6 +414,8 @@ Shader "yum_food/3ner"
[HideInInspector] m_start_Decal6_Metallic_Gloss("Metallic Gloss", Float) = 0
[ThryToggle(_DECAL6_METALLIC_GLOSS)] _Decal6_Metallic_Gloss_Enabled("Enable", Float) = 0
_Decal6_Metallic_Gloss("Metallic Gloss", 2D) = "white" {}
+ _Decal6_Metallic("Metallic", Range(0, 1)) = 1
+ _Decal6_Gloss("Gloss", Range(0, 1)) = 1
[HideInInspector] m_end_Decal6_Metallic_Gloss("Metallic Gloss", Float) = 0
//endex
@@ -454,6 +468,8 @@ Shader "yum_food/3ner"
[HideInInspector] m_start_Decal7_Metallic_Gloss("Metallic Gloss", Float) = 0
[ThryToggle(_DECAL7_METALLIC_GLOSS)] _Decal7_Metallic_Gloss_Enabled("Enable", Float) = 0
_Decal7_Metallic_Gloss("Metallic Gloss", 2D) = "white" {}
+ _Decal7_Metallic("Metallic", Range(0, 1)) = 1
+ _Decal7_Gloss("Gloss", Range(0, 1)) = 1
[HideInInspector] m_end_Decal7_Metallic_Gloss("Metallic Gloss", Float) = 0
//endex
diff --git a/decal.cginc b/decal.cginc
index bfd4bf5..9203d5f 100644
--- a/decal.cginc
+++ b/decal.cginc
@@ -66,10 +66,8 @@ float2 decal_rotate(float2 uv, float rotation) {
} \
if (_Decal##N##_Metallic_Gloss_Enabled) { \
float4 mg = decal_sample(_Decal##N##_Metallic_Gloss, uv, _Decal##N##_UV_Mode); \
- pbr.metallic = lerp(pbr.metallic, mg.r, albedo.a); \
- pbr.smoothness = lerp(pbr.smoothness, mg.a, albedo.a); \
- pbr.roughness_perceptual = clamp(1 - pbr.smoothness, MIN_PERCEPTUAL_ROUGHNESS, 1); \
- pbr.roughness = clamp(pbr.roughness_perceptual * pbr.roughness_perceptual, MIN_ROUGHNESS, 1); \
+ pbr.metallic = lerp(pbr.metallic, mg.r * _Decal##N##_Metallic, albedo.a); \
+ pbr.smoothness = lerp(pbr.smoothness, mg.a * _Decal##N##_Gloss, albedo.a); \
} \
if (_Decal##N##_Normal_Enabled) { \
float3 dn = UnpackNormal(decal_sample(_Decal##N##_Normal, uv, _Decal##N##_UV_Mode)); \
diff --git a/globals.cginc b/globals.cginc
index f07e27f..0de9812 100755
--- a/globals.cginc
+++ b/globals.cginc
@@ -271,6 +271,8 @@ float _Parallax_Heightmap_Ray_Marching_Steps;
float _Decal##N##_Metallic_Gloss_Enabled; \
texture2D _Decal##N##_Metallic_Gloss; \
float4 _Decal##N##_Metallic_Gloss_ST; \
+ float _Decal##N##_Metallic; \
+ float _Decal##N##_Gloss; \
float _Decal##N##_Normal_Enabled; \
texture2D _Decal##N##_Normal; \
float _Decal##N##_Normal_Scale;
diff --git a/pbr.cginc b/pbr.cginc
index 0846f8f..ab84c73 100755
--- a/pbr.cginc
+++ b/pbr.cginc
@@ -176,6 +176,10 @@ Pbr getPbr(v2f i) {
normal_tangent = blendNormalsHill12(normal_tangent, detail_normal);
#endif
+ float4 metallic_gloss = _MetallicGlossMap.Sample(aniso4_trilinear_repeat_s, uv_parallax * _MetallicGlossMap_ST.xy);
+ pbr.smoothness = metallic_gloss.a * _Glossiness;
+ pbr.metallic = metallic_gloss.r * _Metallic;
+
applyDecals(i, pbr, normal_tangent);
pbr.normal = normalize(mul(normal_tangent, pbr.tbn));
@@ -187,10 +191,6 @@ Pbr getPbr(v2f i) {
pbr.bent_normal = normalize(mul(bent_ts, pbr.tbn));
#endif
- float4 metallic_gloss = _MetallicGlossMap.Sample(aniso4_trilinear_repeat_s, uv_parallax * _MetallicGlossMap_ST.xy);
- pbr.smoothness = metallic_gloss.a * _Glossiness;
- pbr.metallic = metallic_gloss.r * _Metallic;
-
#if defined(_CLEARCOAT)
pbr.cc_roughness = _Clearcoat_Roughness;
pbr.cc_roughness_perceptual = sqrt(pbr.cc_roughness);