Shader "Custom/Texture" {
Properties{
_MainColor("Main Color",Color)=(1,1,1,1)
_MainTexture("Main Texture",2D)="Write"{}
}
SubShader
{ //因为要渲染带透明通道的贴图,所以渲染类型和队列都是Transparent
Tags{"Queue"="Transparent" "RenderType"="Transparent" }
//混合模式 Alpha值 1-Alpha值
Blend SrcAlpha OneMinusSrcAlpha
//剔除 不剔除(正反面都显示)
Cull off
pass
{
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#include "UnityCG.cginc"
//将 Properties的类型和CG类型挂钩sampler2D _MainTexture;
float4 _MainColor;
struct v2f
{
float4 pos:POSITION;
float4 uv:TEXCOORD;
};
v2f vert(appdata_base v)
{
v2f o;
o.pos =mul(UNITY_MATRIX_MVP,v.vertex);
o.uv=v.texcoord;
return o;
}
half4 frag(v2f i):COLOR
{ //tex2D函数(贴图采样,坐标)
half4 c=tex2D(_MainTexture,i.uv)*_MainColor;
return c;
}
ENDCG
}
}
//如果显卡都达不到所有SubShader的要求,就回滚使用UNITY3D自带的shader
FallBack"DIFFUSE"
}