summaryrefslogtreecommitdiffstats
path: root/mochie_shadow_caster.cginc
diff options
context:
space:
mode:
authoryum <yum.food.vr@gmail.com>2025-06-22 21:59:02 -0700
committeryum <yum.food.vr@gmail.com>2025-06-22 21:59:02 -0700
commit81a25ecf2360018e22209ab27bae60bbb993aaa5 (patch)
tree052e975ee22f99dc1f097f23cdac1c7c3026194d /mochie_shadow_caster.cginc
parentc4aed2f2f1ba8f126d445f0c0b9367e032d24b54 (diff)
add mochie shadow caster
Diffstat (limited to 'mochie_shadow_caster.cginc')
-rw-r--r--mochie_shadow_caster.cginc54
1 files changed, 54 insertions, 0 deletions
diff --git a/mochie_shadow_caster.cginc b/mochie_shadow_caster.cginc
new file mode 100644
index 0000000..8a6ab59
--- /dev/null
+++ b/mochie_shadow_caster.cginc
@@ -0,0 +1,54 @@
+#include "UnityCG.cginc"
+
+#include "custom30.cginc"
+#include "features.cginc"
+#include "interpolators.cginc"
+
+v2f vert(appdata v)
+{
+
+#if !defined(_CAST_SHADOWS)
+ return (v2f) (0.0/0.0);
+#endif
+#if defined(_RAYMARCHED_FOG)
+ return (v2f) (0.0/0.0);
+#endif
+ v2f o = (v2f)0;
+ UNITY_SETUP_INSTANCE_ID(v);
+ UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o);
+ TRANSFER_SHADOW_CASTER_NORMALOFFSET(o)
+ o.uv01.xy = v.uv0;
+ o.uv01.zw = v.uv1;
+ o.uv23.xy = v.uv2;
+ o.uv23.zw = v.uv3;
+ o.objPos = v.vertex;
+ o.color = v.color;
+ return o;
+}
+
+float4 frag (v2f i) : SV_Target
+{
+ UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(i);
+
+#if defined(_DEPTH_PREPASS)
+ return 0;
+#endif
+
+#if defined(_CUSTOM30)
+ Custom30Output c30_out = (Custom30Output)0;
+#if defined(_CUSTOM30_BASICCUBE)
+ c30_out = BasicCube(i);
+#elif defined(_CUSTOM30_BASICWEDGE)
+ c30_out = BasicWedge(i);
+#elif defined(_CUSTOM30_BASICPLATFORM)
+ c30_out = BasicPlatform(i);
+#elif defined(_CUSTOM30_RAINBOW)
+ c30_out = Rainbow(i);
+#endif
+
+ i.pos = UnityObjectToClipPos(c30_out.objPos);
+#endif
+
+ return 0;
+}
+