summaryrefslogtreecommitdiffstats
path: root/tooner_lighting.cginc
diff options
context:
space:
mode:
authoryum <yum.food.vr@gmail.com>2024-05-27 21:42:06 -0700
committeryum <yum.food.vr@gmail.com>2024-05-27 21:42:06 -0700
commit47eb460bf49d4512f52eecffa5696eb761a08f83 (patch)
treeec79ae609eb51f579fb0e09e57b6304274f9dbe4 /tooner_lighting.cginc
parentc9af3d5c85836588f7e82bcbb172bb21251427bf (diff)
Use _MainTex and _Color
Also remove multipliers from gradient-based mipmap sampling.
Diffstat (limited to 'tooner_lighting.cginc')
-rw-r--r--tooner_lighting.cginc41
1 files changed, 14 insertions, 27 deletions
diff --git a/tooner_lighting.cginc b/tooner_lighting.cginc
index 2c66964..40e67bc 100644
--- a/tooner_lighting.cginc
+++ b/tooner_lighting.cginc
@@ -543,41 +543,28 @@ void applyOverlayNormal(inout float3 raw_normal, PbrOverlay ov, v2f i, float idd
// Use UVs to smoothly blend between fully detailed normals when close up and
// flat normals when far away. If we don't do this, then we see moire effects
// on e.g. striped normal maps.
- //float3 raw_normal = UnpackScaleNormal(_PBR_Overlay0_NormalTex.SampleGrad(linear_repeat_s, i.uv, iddx/2, iddy/2), _PBR_Overlay0_Tex_NormalStr);
- raw_normal_2 = UnpackScaleNormal(_PBR_Overlay0_NormalTex.SampleGrad(linear_repeat_s, UV_SCOFF(i.uv, _PBR_Overlay0_NormalTex_ST), iddx/2, iddy/2), _PBR_Overlay0_Tex_NormalStr * ov.ov0_mask);
+ raw_normal_2 = UnpackScaleNormal(_PBR_Overlay0_NormalTex.SampleGrad(linear_repeat_s, UV_SCOFF(i.uv, _PBR_Overlay0_NormalTex_ST), iddx, iddy), _PBR_Overlay0_Tex_NormalStr * ov.ov0_mask);
raw_normal = BlendNormals(
raw_normal,
raw_normal_2);
#endif // _PBR_OVERLAY0 && _PBR_OVERLAY0_NORMAL_MAP
#if defined(_PBR_OVERLAY1) && defined(_PBR_OVERLAY1_NORMAL_MAP)
- // Use UVs to smoothly blend between fully detailed normals when close up and
- // flat normals when far away. If we don't do this, then we see moire effects
- // on e.g. striped normal maps.
- //float3 raw_normal = UnpackScaleNormal(_PBR_Overlay1_NormalTex.SampleGrad(linear_repeat_s, i.uv, iddx/2, iddy/2), _PBR_Overlay1_Tex_NormalStr);
- raw_normal_2 = UnpackScaleNormal(_PBR_Overlay1_NormalTex.SampleGrad(linear_repeat_s, UV_SCOFF(i.uv, _PBR_Overlay1_NormalTex_ST), iddx/2, iddy/2), _PBR_Overlay1_Tex_NormalStr * ov.ov1_mask);
+ raw_normal_2 = UnpackScaleNormal(_PBR_Overlay1_NormalTex.SampleGrad(linear_repeat_s, UV_SCOFF(i.uv, _PBR_Overlay1_NormalTex_ST), iddx, iddy), _PBR_Overlay1_Tex_NormalStr * ov.ov1_mask);
raw_normal = BlendNormals(
raw_normal,
raw_normal_2);
#endif // _PBR_OVERLAY1 && _PBR_OVERLAY1_NORMAL_MAP
#if defined(_PBR_OVERLAY2) && defined(_PBR_OVERLAY2_NORMAL_MAP)
- // Use UVs to smoothly blend between fully detailed normals when close up and
- // flat normals when far away. If we don't do this, then we see moire effects
- // on e.g. striped normal maps.
- //float3 raw_normal = UnpackScaleNormal(_PBR_Overlay2_NormalTex.SampleGrad(linear_repeat_s, i.uv, iddx/2, iddy/2), _PBR_Overlay2_Tex_NormalStr);
- raw_normal_2 = UnpackScaleNormal(_PBR_Overlay2_NormalTex.SampleGrad(linear_repeat_s, UV_SCOFF(i.uv, _PBR_Overlay2_NormalTex_ST), iddx/2, iddy/2), _PBR_Overlay2_Tex_NormalStr * ov.ov2_mask);
+ raw_normal_2 = UnpackScaleNormal(_PBR_Overlay2_NormalTex.SampleGrad(linear_repeat_s, UV_SCOFF(i.uv, _PBR_Overlay2_NormalTex_ST), iddx, iddy), _PBR_Overlay2_Tex_NormalStr * ov.ov2_mask);
raw_normal = BlendNormals(
raw_normal,
raw_normal_2);
#endif // _PBR_OVERLAY2 && _PBR_OVERLAY2_NORMAL_MAP
#if defined(_PBR_OVERLAY3) && defined(_PBR_OVERLAY3_NORMAL_MAP)
- // Use UVs to smoothly blend between fully detailed normals when close up and
- // flat normals when far away. If we don't do this, then we see moire effects
- // on e.g. striped normal maps.
- //float3 raw_normal = UnpackScaleNormal(_PBR_Overlay3_NormalTex.SampleGrad(linear_repeat_s, i.uv, iddx/2, iddy/2), _PBR_Overlay3_Tex_NormalStr);
- raw_normal_2 = UnpackScaleNormal(_PBR_Overlay3_NormalTex.SampleGrad(linear_repeat_s, UV_SCOFF(i.uv, _PBR_Overlay3_NormalTex_ST), iddx/2, iddy/2), _PBR_Overlay3_Tex_NormalStr * ov.ov3_mask);
+ raw_normal_2 = UnpackScaleNormal(_PBR_Overlay3_NormalTex.SampleGrad(linear_repeat_s, UV_SCOFF(i.uv, _PBR_Overlay3_NormalTex_ST), iddx, iddy), _PBR_Overlay3_Tex_NormalStr * ov.ov3_mask);
raw_normal = BlendNormals(
raw_normal,
@@ -587,8 +574,8 @@ void applyOverlayNormal(inout float3 raw_normal, PbrOverlay ov, v2f i, float idd
float4 effect(inout v2f i)
{
- float iddx = ddx(i.uv.x) / 4;
- float iddy = ddx(i.uv.y) / 4;
+ float iddx = ddx(i.uv.x);
+ float iddy = ddx(i.uv.y);
const float3 view_dir = normalize(_WorldSpaceCameraPos - i.worldPos);
#if defined(_UVSCROLL)
@@ -598,10 +585,10 @@ float4 effect(inout v2f i)
#endif
#if defined(_BASECOLOR_MAP)
- float4 albedo = _BaseColorTex.SampleGrad(linear_repeat_s, UV_SCOFF(i.uv, _BaseColorTex_ST), iddx, iddy);
- albedo *= _BaseColor;
+ float4 albedo = _MainTex.SampleGrad(linear_repeat_s, UV_SCOFF(i.uv, _MainTex_ST), iddx, iddy);
+ albedo *= _Color;
#else
- float4 albedo = _BaseColor;
+ float4 albedo = _Color;
#endif // _BASECOLOR_MAP
#if defined(_UVSCROLL)
@@ -629,7 +616,7 @@ float4 effect(inout v2f i)
// flat normals when far away. If we don't do this, then we see moire effects
// on e.g. striped normal maps.
float fw = clamp(fwidth(i.uv), .001, 1) * 1200;
- float3 raw_normal = UnpackScaleNormal(_NormalTex.SampleGrad(linear_repeat_s, UV_SCOFF(i.uv, _NormalTex_ST), iddx/2, iddy/2), _Tex_NormalStr);
+ float3 raw_normal = UnpackScaleNormal(_NormalTex.SampleGrad(linear_repeat_s, UV_SCOFF(i.uv, _NormalTex_ST), iddx, iddy), _Tex_NormalStr);
raw_normal = BlendNormals(
(1/fw) * raw_normal,
@@ -681,8 +668,8 @@ float4 effect(inout v2f i)
float2 matcap_uv = refl.xy / m + 0.5;
float iddx = ddx(i.uv.x);
float iddy = ddy(i.uv.y);
- {
#if defined(_MATCAP0)
+ {
#if defined(_MATCAP0_DISTORTION0)
float2 distort_uv = matcap_distortion0(matcap_uv);
float2 matcap_uv = distort_uv;
@@ -727,10 +714,10 @@ float4 effect(inout v2f i)
default:
break;
}
-#endif
}
- {
+#endif // _MATCAP0
#if defined(_MATCAP1)
+ {
#if defined(_MATCAP1_DISTORTION0)
float2 distort_uv = matcap_distortion0(matcap_uv);
float2 matcap_uv = distort_uv;
@@ -775,8 +762,8 @@ float4 effect(inout v2f i)
default:
break;
}
-#endif // _MATCAP1
}
+#endif // _MATCAP1
}
#endif // _MATCAP0 || _MATCAP1
#if defined(_RIM_LIGHTING0) || defined(_RIM_LIGHTING1)