Psst.. new poll here.
[email protected] webmail now available. Want one? Go here.
Cannot use outlook/hotmail/live here to register as they blocking our mail servers. #microsoftdeez
Obey the Epel!
Paste
Pasted as C# by Outline_Unlit ( 11 months ago )
Shader "ActionCode/Outline_Unlit"
{
Properties
{
_MainTex ("Texture", 2D) = "white" {}
_MainColor ("Main Color", Color) = (1, 1, 1, 1)
[Space]
_OutlineColor ("Outline Color", Color) = (0, 0, 0, 1)
_OutlineThickness ("Outline Thickness", Range(0.0, 0.2)) = 0.1
}
SubShader
{
LOD 100
Tags { "Queue" = "Transparent" }
Pass // Outline
{
Tags { "LightMode" = "SRPDefaultUnlit" }
Blend SrcAlpha OneMinusSrcAlpha
ZWrite Off
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#include "UnityCG.cginc"
struct appdata
{
float4 vertex : POSITION;
float2 uv : TEXCOORD0;
};
struct v2f
{
float2 uv : TEXCOORD0;
float4 vertex : SV_POSITION;
};
sampler2D _MainTex;
float4 _MainTex_ST;
float4 _OutlineColor;
float _OutlineThickness;
float4 outline(float4 vertexPos, float thickness)
{
float thicknessUnit = 1 + thickness;
float4x4 scale = float4x4
(
thicknessUnit, 0, 0, 0,
0, thicknessUnit, 0, 0,
0, 0, thicknessUnit, 0,
0, 0, 0, thicknessUnit
);
return mul(scale, vertexPos);
}
v2f vert (appdata v)
{
v2f o;
float4 vertexPos = outline(v.vertex, _OutlineThickness);
o.vertex = UnityObjectToClipPos(vertexPos);
o.uv = TRANSFORM_TEX(v.uv, _MainTex);
return o;
}
fixed4 frag () : SV_Target
{
return _OutlineColor;
}
ENDCG
}
Pass // Texture
{
Tags { "LightMode" = "UniversalForward" }
Blend SrcAlpha OneMinusSrcAlpha
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#include "UnityCG.cginc"
struct appdata
{
float4 vertex : POSITION;
float2 uv : TEXCOORD0;
};
struct v2f
{
float2 uv : TEXCOORD0;
float4 vertex : SV_POSITION;
};
sampler2D _MainTex;
float4 _MainTex_ST;
float4 _MainColor;
v2f vert (appdata v)
{
v2f o;
o.vertex = UnityObjectToClipPos(v.vertex);
o.uv = TRANSFORM_TEX(v.uv, _MainTex);
return o;
}
fixed4 frag (v2f i) : SV_Target
{
fixed4 col = tex2D(_MainTex, i.uv);
return col * _MainColor;
}
ENDCG
}
}
}
Revise this Paste