Shader "Custom/OnlyEdgeFill"
{
Properties
{
}
SubShader
{
Tags { "RenderType"="Opaque" }
LOD 200
Pass{
Cull Front
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#include "UnityCG.cginc"
struct v2f
{
float4 vertex :SV_POSITION;
};
v2f vert (appdata_base v)
{
v2f o;
//物体空间法线外拓
v.vertex.xyz += v.normal * 0.01;
o.vertex = UnityObjectToClipPos(v.vertex);
return o;
}
float4 frag(v2f i):SV_Target
{
return float4(0,0,0,1);
}
ENDCG
}
Pass{
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#include "UnityCG.cginc"
#include "Lighting.cginc"
struct v2f
{
float4 vertex :SV_POSITION;
};
v2f vert (appdata_base v)
{
v2f o;
o.vertex = UnityObjectToClipPos(v.vertex);
return o;
}
fixed4 frag (v2f i) : SV_Target
{
return float4(1,1,1,1);
}
ENDCG
}
}
FallBack "Diffuse"
}
《Unity Shader》实现描边
最新推荐文章于 2024-04-26 18:05:13 发布