zoukankan      html  css  js  c++  java
  • 正反面都正确接受光源的双面材质

    Shader "Transparent/Diffuse DoubleSided" {
    
    
    Properties {
    
    	 _Color ("Main Color", Color) = (1,1,1,1)
    
    	 _MainTex ("Base (RGB) Trans (A)", 2D) = "white" {}
    
    }
    
    
    
    
    SubShader {
    
    		 Tags { "RenderType"="Opaque" }
    
     		 LOD 300
    
     		
    
    	 	Pass {
    
    			 Tags { "LightMode" = "Vertex" }
    
    				
    
    			 Cull Back
    
    			 ZWrite On
    
    			 Lighting On
    
    			
    
    			 CGPROGRAM
    
    			
    
    			 #pragma vertex vert
    
    			 #pragma fragment frag
    
    			
    
    			 #include "UnityCG.cginc"
    
    			
    
    			 sampler _MainTex;
    
    			 float4 _MainTex_ST;
    
    			 float4 _Color;
    
    			
    
    			 struct a2v {
    
    				 float4 vertex : POSITION;
    
    				 float3 normal : NORMAL;
    
    				 float4 texcoord : TEXCOORD0;
    
    			 };
    
    			
    
    			 struct v2f {
    
    				 float4 pos : POSITION;
    
    				 float2 uv : TEXCOORD0;
    
    				 float3 color : TEXCOORD1;
    
    			 };
    
    			
    
    			 v2f vert(a2v v) {
    
    				 v2f o;o.pos = mul(UNITY_MATRIX_MVP, v.vertex);
    
    				 o.uv = TRANSFORM_TEX(v.texcoord, _MainTex);
    
    				 o.color = ShadeVertexLights(v.vertex, v.normal);
    
    				 return o;
    
    			 }
    
    			
    
    			 float4 frag(v2f i) : COLOR {
    
    				 float4 c = tex2D(_MainTex, i.uv)*_Color;
    
    				 clip(c.a-0.9);
    
    				 c.rgb = c.rgb * i.color * 2;
    
    				 return c;
    
    			 }
    
    			
    
    			 ENDCG
    
    		 }
    
    		
    
    		
    
    		 Pass {
    
    			 Tags { "LightMode" = "Vertex" }
    
    				
    
    			 Cull Front
    
    			 ZWrite On
    
    			 Lighting On
    
    			
    
    			 CGPROGRAM
    
    			
    
    			 #pragma vertex vert
    
    			 #pragma fragment frag
    
    			
    
    			 #include "UnityCG.cginc"
    
    			
    
    			 sampler _MainTex;
    
    			 float4 _MainTex_ST;
    
    			 float4 _Color;
    
    			
    
    			 struct a2v {
    
    				 float4 vertex : POSITION;
    
    				 float3 normal : NORMAL;
    
    				 float4 texcoord : TEXCOORD0;
    
    			 };
    
    			
    
    			 struct v2f {
    
    				 float4 pos : POSITION;
    
    				 float2 uv : TEXCOORD0;
    
    				 float3 color : TEXCOORD1;
    
    			 };
    
    			
    
    			 v2f vert(a2v v) {
    
    				 v2f o;o.pos = mul(UNITY_MATRIX_MVP, v.vertex);
    
    				 o.uv = TRANSFORM_TEX(v.texcoord, _MainTex);
    
    				 o.color = ShadeVertexLights(v.vertex, -v.normal);
    
    				 return o;
    
    			 }
    
    			
    
    			 float4 frag(v2f i) : COLOR {
    
    				 float4 c = tex2D(_MainTex, i.uv)*_Color;
    
    				 clip(c.a-0.9);
    
    				 c.rgb = c.rgb * i.color * 2;
    
    				 return c;
    
    			 }
    
    			
    
    			 ENDCG
    
    		 }
    
    	 } 
    
    	 FallBack "Diffuse"
    
    }
    

      

  • 相关阅读:
    day52—JavaScript拖拽事件的应用(自定义滚动条)
    day51—JavaScript绑定事件
    day50—JavaScript鼠标拖拽事件
    day49—JavaScript阻止浏览器默认行为
    day48—JavaScript键盘事件
    day47—JavaScript事件基础应用
    day41—JavaScript运动的停止条件
    Java Web项目使用图形验证码 — Kaptcha
    Disconf-Web管理端安装
    Git基本常用指令
  • 原文地址:https://www.cnblogs.com/softimagewht/p/4750850.html
Copyright © 2011-2022 走看看