diff options
| author | yum <yum.food.vr@gmail.com> | 2025-10-12 22:13:26 -0700 |
|---|---|---|
| committer | yum <yum.food.vr@gmail.com> | 2025-10-12 22:13:26 -0700 |
| commit | 5bfbb660c7213cdd14c9bde2349b3a09ccdaff4e (patch) | |
| tree | 205a13ad50548d70779bcb0303695a53e84486e8 /3ner.cginc | |
| parent | 228e555dbd07dd1a332a07770106dfd98f918c9b (diff) | |
add shadowcaster
Diffstat (limited to '3ner.cginc')
| -rw-r--r-- | 3ner.cginc | 20 |
1 files changed, 15 insertions, 5 deletions
@@ -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 |
