Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Shader "Hidden/TerrainEngine/Details/BillboardWavingDoublePass" {
- Properties {
- _WavingTint ("Fade Color", Color) = (.7,.6,.5, 0)
- _MainTex ("Base (RGB) Alpha (A)", 2D) = "white" {}
- _WaveAndDistance ("Wave and distance", Vector) = (12, 3.6, 1, 1)
- }
- CGINCLUDE
- #include "UnityCG.cginc"
- #include "TerrainEngine.cginc"
- #pragma glsl_no_auto_normalization
- struct v2f {
- float4 pos : SV_POSITION;
- fixed4 color : COLOR;
- float4 uv : TEXCOORD0;
- };
- v2f BillboardVert (appdata_full v) {
- v2f o;
- WavingGrassBillboardVert (v);
- o.color = v.color;
- o.color.rgb *= ShadeVertexLights (v.vertex, v.normal);
- o.pos = mul (UNITY_MATRIX_MVP, v.vertex);
- o.uv = v.texcoord;
- return o;
- }
- ENDCG
- SubShader {
- Tags {
- "Queue" = "Transparent+200"
- "IgnoreProjector"="True"
- "RenderType"="GrassBillboard"
- }
- Cull Off
- LOD 200
- ColorMask RGB
- CGPROGRAM
- #pragma surface surf Lambert vertex:WavingGrassBillboardVert alpha
- #pragma exclude_renderers flash
- sampler2D _MainTex;
- struct Input {
- float2 uv_MainTex;
- fixed4 color : COLOR;
- };
- void surf (Input IN, inout SurfaceOutput o) {
- fixed4 c = tex2D(_MainTex, IN.uv_MainTex) * IN.color;
- o.Albedo = c.rgb;
- o.Alpha = c.a * IN.color.a;
- }
- ENDCG
- }
- SubShader {
- Tags {
- "Queue" = "Transparent+200"
- "IgnoreProjector"="True"
- "RenderType"="GrassBillboard"
- }
- ColorMask RGB
- Cull Off
- Lighting On
- Pass {
- CGPROGRAM
- #pragma vertex BillboardVert
- #pragma exclude_renderers shaderonly
- ENDCG
- AlphaTest Greater [_Cutoff]
- SetTexture [_MainTex] { combine texture * primary DOUBLE, texture * primary }
- }
- }
- Fallback Off
- }
Add Comment
Please, Sign In to add comment