diff options
| -rw-r--r-- | 2ner.shader | 16 | ||||
| -rw-r--r-- | decals.cginc | 12 |
2 files changed, 12 insertions, 16 deletions
diff --git a/2ner.shader b/2ner.shader index 4420ac0..558109d 100644 --- a/2ner.shader +++ b/2ner.shader @@ -425,7 +425,7 @@ Shader "yum_food/2ner" //ifex _Decal0_SDF_SSN_Enabled==0 [HideInInspector] m_start_Decal0_SSN("Screen space normals", Float) = 0 [ThryToggle(_DECAL0_SDF_SSN)] _Decal0_SDF_SSN_Enabled("Enable", Float) = 0 - _Decal0_SDF_SSN_Strength("Strength", Float) = 0.1 + _Decal0_SDF_SSN_Strength("Strength", Range(0, 10)) = 1 [HideInInspector] m_end_Decal0_SSN("Screen space normals", Float) = 0 //endex //ifex _Decal0_CMYK_Warping_Planes_Enabled==0 @@ -510,7 +510,7 @@ Shader "yum_food/2ner" //ifex _Decal1_SDF_SSN_Enabled==0 [HideInInspector] m_start_Decal1_SSN("Screen space normals", Float) = 0 [ThryToggle(_DECAL1_SDF_SSN)] _Decal1_SDF_SSN_Enabled("Enable", Float) = 0 - _Decal1_SDF_SSN_Strength("Strength", Float) = 0.1 + _Decal1_SDF_SSN_Strength("Strength", Range(0, 10)) = 1 [HideInInspector] m_end_Decal1_SSN("Screen space normals", Float) = 0 //endex //ifex _Decal1_CMYK_Warping_Planes_Enabled==0 @@ -595,7 +595,7 @@ Shader "yum_food/2ner" //ifex _Decal2_SDF_SSN_Enabled==0 [HideInInspector] m_start_Decal2_SSN("Screen space normals", Float) = 0 [ThryToggle(_DECAL2_SDF_SSN)] _Decal2_SDF_SSN_Enabled("Enable", Float) = 0 - _Decal2_SDF_SSN_Strength("Strength", Float) = 0.1 + _Decal2_SDF_SSN_Strength("Strength", Range(0, 10)) = 1 [HideInInspector] m_end_Decal2_SSN("Screen space normals", Float) = 0 //endex //ifex _Decal2_CMYK_Warping_Planes_Enabled==0 @@ -680,7 +680,7 @@ Shader "yum_food/2ner" //ifex _Decal3_SDF_SSN_Enabled==0 [HideInInspector] m_start_Decal3_SSN("Screen space normals", Float) = 0 [ThryToggle(_DECAL3_SDF_SSN)] _Decal3_SDF_SSN_Enabled("Enable", Float) = 0 - _Decal3_SDF_SSN_Strength("Strength", Float) = 0.1 + _Decal3_SDF_SSN_Strength("Strength", Range(0, 10)) = 1 [HideInInspector] m_end_Decal3_SSN("Screen space normals", Float) = 0 //endex //ifex _Decal3_CMYK_Warping_Planes_Enabled==0 @@ -765,7 +765,7 @@ Shader "yum_food/2ner" //ifex _Decal4_SDF_SSN_Enabled==0 [HideInInspector] m_start_Decal4_SSN("Screen space normals", Float) = 0 [ThryToggle(_DECAL4_SDF_SSN)] _Decal4_SDF_SSN_Enabled("Enable", Float) = 0 - _Decal4_SDF_SSN_Strength("Strength", Float) = 0.1 + _Decal4_SDF_SSN_Strength("Strength", Range(0, 10)) = 1 [HideInInspector] m_end_Decal4_SSN("Screen space normals", Float) = 0 //endex //ifex _Decal4_CMYK_Warping_Planes_Enabled==0 @@ -850,7 +850,7 @@ Shader "yum_food/2ner" //ifex _Decal5_SDF_SSN_Enabled==0 [HideInInspector] m_start_Decal5_SSN("Screen space normals", Float) = 0 [ThryToggle(_DECAL5_SDF_SSN)] _Decal5_SDF_SSN_Enabled("Enable", Float) = 0 - _Decal5_SDF_SSN_Strength("Strength", Float) = 0.1 + _Decal5_SDF_SSN_Strength("Strength", Range(0, 10)) = 1 [HideInInspector] m_end_Decal5_SSN("Screen space normals", Float) = 0 //endex //ifex _Decal5_CMYK_Warping_Planes_Enabled==0 @@ -935,7 +935,7 @@ Shader "yum_food/2ner" //ifex _Decal6_SDF_SSN_Enabled==0 [HideInInspector] m_start_Decal6_SSN("Screen space normals", Float) = 0 [ThryToggle(_DECAL6_SDF_SSN)] _Decal6_SDF_SSN_Enabled("Enable", Float) = 0 - _Decal6_SDF_SSN_Strength("Strength", Float) = 0.1 + _Decal6_SDF_SSN_Strength("Strength", Range(0, 10)) = 1 [HideInInspector] m_end_Decal6_SSN("Screen space normals", Float) = 0 //endex //ifex _Decal6_CMYK_Warping_Planes_Enabled==0 @@ -1020,7 +1020,7 @@ Shader "yum_food/2ner" //ifex _Decal7_SDF_SSN_Enabled==0 [HideInInspector] m_start_Decal7_SSN("Screen space normals", Float) = 0 [ThryToggle(_DECAL7_SDF_SSN)] _Decal7_SDF_SSN_Enabled("Enable", Float) = 0 - _Decal7_SDF_SSN_Strength("Strength", Float) = 0.1 + _Decal7_SDF_SSN_Strength("Strength", Range(0, 10)) = 1 [HideInInspector] m_end_Decal7_SSN("Screen space normals", Float) = 0 //endex //ifex _Decal7_CMYK_Warping_Planes_Enabled==0 diff --git a/decals.cginc b/decals.cginc index 4161b2c..bb4a0bd 100644 --- a/decals.cginc +++ b/decals.cginc @@ -157,7 +157,7 @@ float4 getCmykWarpingPlanesColor(DecalParams params, float2 uv) { }
// Calculate normal vector from an SDF using screen-space derivatives.
-float3 applyDecalSdfSsn(DecalParams params, float2 decal_uv, float4 decal_albedo) {
+float3 calculateSdfSsn(DecalParams params, float2 decal_uv, float4 decal_albedo) {
float sdf_val = params.mainTex.SampleBias(trilinear_aniso4_repeat_s, decal_uv, params.mip_bias).r;
sdf_val = params.sdf_invert ? 1 - sdf_val : sdf_val;
@@ -169,12 +169,8 @@ float3 applyDecalSdfSsn(DecalParams params, float2 decal_uv, float4 decal_albedo float det = uv_dx.x * uv_dy.y - uv_dx.y * uv_dy.x;
float2 sdf_grad_uv;
- if (abs(det) < 1e-6) {
- sdf_grad_uv = float2(0,0);
- } else {
- sdf_grad_uv.x = (sdf_dx * uv_dy.y - sdf_dy * uv_dx.y) / det;
- sdf_grad_uv.y = (sdf_dy * uv_dx.x - sdf_dx * uv_dy.x) / det;
- }
+ sdf_grad_uv.x = (sdf_dx * uv_dy.y - sdf_dy * uv_dx.y) / det;
+ sdf_grad_uv.y = (sdf_dy * uv_dx.x - sdf_dx * uv_dy.x) / det;
float2 scaled_grad = sdf_grad_uv * params.sdf_ssn_strength * decal_albedo.a * params.opacity;
@@ -267,7 +263,7 @@ float3 applyDecalSdfSsn(DecalParams params, float2 decal_uv, float4 decal_albedo #define APPLY_DECAL_SDF_SSN_ON(i, albedo, normal_tangent, metallic, smoothness, emission, params) \
{ \
- float3 sdf_normal_ts = applyDecalSdfSsn(params, decal_uv, decal_albedo); \
+ float3 sdf_normal_ts = calculateSdfSsn(params, decal_uv, decal_albedo); \
normal_tangent = blendNormalsHill12(normal_tangent, sdf_normal_ts); \
}
|
