diff options
| author | yum <yum.food.vr@gmail.com> | 2025-06-22 21:59:02 -0700 |
|---|---|---|
| committer | yum <yum.food.vr@gmail.com> | 2025-06-22 21:59:02 -0700 |
| commit | 81a25ecf2360018e22209ab27bae60bbb993aaa5 (patch) | |
| tree | 052e975ee22f99dc1f097f23cdac1c7c3026194d | |
| parent | c4aed2f2f1ba8f126d445f0c0b9367e032d24b54 (diff) | |
add mochie shadow caster
| -rw-r--r-- | mochie_shadow_caster.cginc | 54 |
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; +} + |
