Advertisement
noradninja

VertexLIt_LM

Dec 4th, 2024
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.75 KB | None | 0 0
  1. Shader "Vita/VertexLit_LM" {
  2.     Properties {
  3.         _MainTex("Base (RGB)", 2D) = "white" { }
  4.         [Toggle(AMBIENT_ON)] _AmbientOn("Ambient Lighting", Float) = 0
  5.     }
  6.  
  7.     SubShader {
  8.     Tags { "Queue"="Geometry" "IgnoreProjector"="True" "RenderType"="Opaque" }
  9.         ZWrite On
  10.         Cull Off
  11.         Blend One Zero
  12.         // Non-lightmapped
  13.         Pass {
  14.             Tags { "LightMode" = "Vertex" }
  15.             CGPROGRAM
  16.             #pragma vertex vert
  17.             #pragma fragment frag
  18.             #pragma target 3.0
  19.             #pragma multi_compile_fog
  20.             // Compile specialized variants for when positional (point/spot) and spot lights are present
  21.             #pragma multi_compile __ POINT SPOT
  22.             #pragma multi_compile _ LOD_FADE_CROSSFADE
  23.             #include "VertexLightmapCommon.cginc"
  24.             #include "UnityCG.cginc"
  25.             #include "UnityStandardConfig.cginc"
  26.             #include "UnityPBSLighting.cginc" // TBD: remove
  27.             #include "UnityStandardUtils.cginc"
  28.        
  29.  
  30.             ENDCG
  31.         }
  32.    
  33.         // Lightmapped
  34.         Pass {
  35.             Tags { "LightMode" = "VertexLM" }
  36.        
  37.      
  38.             CGPROGRAM
  39.             #pragma vertex vert
  40.             #pragma fragment frag  
  41.             #pragma target 3.0
  42.             #pragma multi_compile_fog
  43.             // Compile specialized variants for when positional (point/spot) and spot lights are present
  44.             #pragma multi_compile __ POINT SPOT
  45.             #pragma multi_compile __ AMBIENT_ON
  46.             #pragma multi_compile _ LOD_FADE_CROSSFADE
  47.             #define CUSTOM_LIGHTMAPPED 1
  48.             #include "VertexLightmapCommon.cginc"
  49.             #include "UnityCG.cginc"
  50.             #include "UnityCG.cginc"
  51.             #include "UnityStandardConfig.cginc"
  52.             #include "UnityPBSLighting.cginc" // TBD: remove
  53.             #include "UnityStandardUtils.cginc"
  54.    
  55.    
  56.             ENDCG
  57.         }
  58.  
  59.         Pass{
  60.             Tags {"LightMode"="ShadowCaster"}
  61.  
  62.             CGPROGRAM
  63.             #pragma vertex vert
  64.             #pragma fragment frag
  65.             #pragma target 3.0
  66.             #pragma multi_compile_shadowcaster
  67.             #pragma multi_compile_fog
  68.             #pragma multi_compile _ LOD_FADE_CROSSFADE
  69.             #include "UnityCG.cginc"
  70.             #include "UnityCG.cginc"
  71.             #include "UnityStandardConfig.cginc"
  72.             #include "UnityPBSLighting.cginc" // TBD: remove
  73.             #include "UnityStandardUtils.cginc"
  74.            
  75.             struct v2f {
  76.                 V2F_SHADOW_CASTER;
  77.                 float2  uv : TEXCOORD0;
  78.                 UNITY_VERTEX_OUTPUT_STEREO
  79.                 half3 normal : NORMAL;
  80.             };
  81.  
  82.             struct appdata {
  83.                 half3 vertex : POSITION;
  84.                 half3 uv : TEXCOORD0;
  85.             };
  86.  
  87.            
  88.             uniform float4 _MainTex_ST;
  89.  
  90.             v2f vert( appdata v )
  91.             {
  92.                 v2f o;
  93.                 half3 worldPos = mul (unity_ObjectToWorld, half4(v.vertex, 1) ).xyz;
  94.                 UNITY_SETUP_INSTANCE_ID(v);
  95.                 UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o);
  96.                 TRANSFER_SHADOW_CASTER(o);
  97.                 o.uv = TRANSFORM_TEX(v.uv, _MainTex);
  98.                 return o;
  99.             }
  100.  
  101.             float4 frag( v2f i ) : SV_Target
  102.             {
  103.                 SHADOW_CASTER_FRAGMENT(i);
  104.             }
  105.             ENDCG
  106.         }
  107.     }
  108.     Fallback "Vita/Standard Mobile"
  109. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement