summaryrefslogtreecommitdiffstats
path: root/3ner.cginc
diff options
context:
space:
mode:
authoryum <yum.food.vr@gmail.com>2025-10-12 22:13:26 -0700
committeryum <yum.food.vr@gmail.com>2025-10-12 22:13:26 -0700
commit5bfbb660c7213cdd14c9bde2349b3a09ccdaff4e (patch)
tree205a13ad50548d70779bcb0303695a53e84486e8 /3ner.cginc
parent228e555dbd07dd1a332a07770106dfd98f918c9b (diff)
add shadowcaster
Diffstat (limited to '3ner.cginc')
-rw-r--r--3ner.cginc20
1 files changed, 15 insertions, 5 deletions
diff --git a/3ner.cginc b/3ner.cginc
index 26b2a3d..4aa4184 100644
--- a/3ner.cginc
+++ b/3ner.cginc
@@ -17,6 +17,10 @@
#include "vertex.cginc"
v2f vert(appdata v) {
+#if defined(SHADOW_CASTER_PASS) && !defined(_SHADOW_CASTER)
+ return (v2f) asfloat(-1);
+#endif
+
v2f o;
UNITY_SETUP_INSTANCE_ID(v);
UNITY_INITIALIZE_OUTPUT(v2f, o);
@@ -43,9 +47,10 @@ v2f vert(appdata v) {
UNITY_TRANSFER_LIGHTING(o, v.uv1);
UNITY_TRANSFER_FOG_COMBINED_WITH_EYE_VEC(o, o.pos);
- TRANSFER_SHADOW(o);
#if defined(SHADOW_CASTER_PASS)
TRANSFER_SHADOW_CASTER_NORMALOFFSET(o);
+#else
+ TRANSFER_SHADOW(o);
#endif
return o;
@@ -170,6 +175,11 @@ v2f domain(
UNITY_TRANSFER_INSTANCE_ID(patch[0], o);
UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o);
+#if defined(SHADOW_CASTER_PASS)
+ //TRANSFER_SHADOW_CASTER_NORMALOFFSET(o);
+#else
+ TRANSFER_SHADOW(o);
+#endif
return o;
}
//endex
@@ -217,11 +227,11 @@ void geom(triangle v2f tri_in[3],
}
//endex
-float4 frag(v2f i, uint facing : SV_IsFrontFace
-#if defined(_VERTEX_DEFORMATION_TUBES)
-, out float depth : SV_DepthLessEqual
+float4 frag(v2f i, uint facing : SV_IsFrontFace) : SV_Target {
+#if defined(SHADOW_CASTER_PASS)
+ return 0;
#endif
-) : SV_Target {
+
#if defined(_VERTEX_DEFORMATION_FRAGMENT_NORMALS)
deform_normal(i.objPos_orig, i.normal, i.tangent.xyz);
#endif