您的位置:首页 > 移动开发 > Unity3D

Cg texturing with alpha blending

2015-10-16 20:02 429 查看
Shader "Custom/Cg texturing with alpha blending"
{
Properties
{
_MainTex("RGBA Texture Image",2D) = "white"{}
}
SubShader
{
Tags { "Queue" = "Transparent" }
Pass
{
Cull Front
ZWrite Off
Blend SrcAlpha OneMinusSrcAlpha

CGPROGRAM
#pragma vertex vert
#pragma fragment frag

uniform sampler2D _MainTex;
uniform float _Cutoff;
struct vertexInput
{
float4 vertex:POSITION;
float4 texcoord:TEXCOORD0 ;
} ;
struct vertexOutput
{
float4 pos:SV_POSITION;
float4 tex:TEXCOORD0 ;
} ;
vertexOutput vert(vertexInput input)
{
vertexOutput output;

output.tex = input.texcoord;
output.pos = mul(UNITY_MATRIX_MVP,input.vertex);

return output;
}
float4 frag(vertexOutput input):COLOR
{
return tex2D(_MainTex,input.tex.xy);
}
ENDCG
}
Pass
{
Cull Back
ZWrite Off
Blend SrcAlpha OneMinusSrcAlpha

CGPROGRAM
#pragma vertex vert
#pragma fragment frag

uniform sampler2D _MainTex;
uniform float _Cutoff;
struct vertexInput
{
float4 vertex : POSITION;
float4 texcoord : TEXCOORD0;
};
struct vertexOutput
{
float4 pos : SV_POSITION;
float4 tex : TEXCOORD0;
};
vertexOutput vert(vertexInput input)
{
vertexOutput output;

output.tex = input.texcoord;
output.pos = mul(UNITY_MATRIX_MVP, input.vertex);
return output;
}
float4 frag(vertexOutput input) : COLOR
{
return tex2D(_MainTex, input.tex.xy);
}

ENDCG
}
}
Fallback "Unlit/Transparent"
}


Shader "Custom/Cg texturing with alpha blending"
{
Properties
{
_MainTex("RGBA Texture Image",2D) = "white"{}
}
SubShader
{
Tags { "Queue" = "Transparent" }
Pass
{
Cull Off
ZWrite Off
Blend SrcAlpha OneMinusSrcAlpha

CGPROGRAM
#pragma vertex vert
#pragma fragment frag

uniform sampler2D _MainTex;
uniform float _Cutoff;
struct vertexInput
{
float4 vertex:POSITION;
float4 texcoord:TEXCOORD0 ;
} ;
struct vertexOutput
{
float4 pos:SV_POSITION;
float4 tex:TEXCOORD0 ;
} ;
vertexOutput vert(vertexInput input)
{
vertexOutput output;

output.tex = input.texcoord;
output.pos = mul(UNITY_MATRIX_MVP,input.vertex);

return output;
}
float4 frag(vertexOutput input):COLOR
{
return tex2D(_MainTex,input.tex.xy);
}
ENDCG
}
}
Fallback "Unlit/Transparent"
}

这两个shader有略微的区别,大家可以进unity里测试看一下
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息