Skip to content
This repository was archived by the owner on Apr 29, 2021. It is now read-only.

Commit 9a5b7b1

Browse files
authored
Merge pull request #262 from UnityTech/antialias
Antialias
2 parents c7dc43a + edd1e93 commit 9a5b7b1

File tree

13 files changed

+1173
-456
lines changed

13 files changed

+1173
-456
lines changed

Runtime/Resources/UIWidgets_canvas.cginc

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ float _mat[9];
33

44
half4 _color;
55
fixed _alpha;
6+
fixed _strokeMult;
67
half4x4 _shaderMat;
78
sampler2D _shaderTex;
89
half4 _leftColor;
@@ -178,3 +179,11 @@ fixed4 frag_mf (v2f i) : SV_Target {
178179

179180
return color;
180181
}
182+
183+
float strokeMask(float u, float v) {
184+
return min(1.0, (1.0 - abs(u * 2.0 - 1.0)) * 1.0) * min(1.0, v);
185+
}
186+
187+
fixed4 frag_stroke_alpha(v2f i) : SV_Target {
188+
return shader_color(i) * strokeMask(i.ftcoord.x, i.ftcoord.y);
189+
}
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
Shader "UIWidgets/canvas_strokeAlpha"
2+
{
3+
Properties {
4+
_SrcBlend("_SrcBlend", Int) = 1 // One
5+
_DstBlend("_DstBlend", Int) = 10 // OneMinusSrcAlpha
6+
_StencilComp("_StencilComp", Float) = 3 // - Equal, 8 - Always
7+
}
8+
9+
SubShader {
10+
ZTest Always
11+
ZWrite Off
12+
Blend [_SrcBlend] [_DstBlend]
13+
14+
Stencil {
15+
Ref 128
16+
Comp [_StencilComp]
17+
Pass IncrSat
18+
}
19+
20+
Pass { // 0, color
21+
CGPROGRAM
22+
#define UIWIDGETS_COLOR
23+
#include "UIWidgets_canvas.cginc"
24+
#pragma vertex vert
25+
#pragma fragment frag_stroke_alpha
26+
ENDCG
27+
}
28+
29+
Pass { // 1, linear
30+
CGPROGRAM
31+
#define UIWIDGETS_LINEAR
32+
#include "UIWidgets_canvas.cginc"
33+
#pragma vertex vert
34+
#pragma fragment frag_stroke_alpha
35+
ENDCG
36+
}
37+
38+
Pass { // 2, radial
39+
CGPROGRAM
40+
#define UIWIDGETS_RADIAL
41+
#include "UIWidgets_canvas.cginc"
42+
#pragma vertex vert
43+
#pragma fragment frag_stroke_alpha
44+
ENDCG
45+
}
46+
47+
Pass { // 3, sweep
48+
CGPROGRAM
49+
#define UIWIDGETS_SWEEP
50+
#include "UIWidgets_canvas.cginc"
51+
#pragma vertex vert
52+
#pragma fragment frag_stroke_alpha
53+
ENDCG
54+
}
55+
56+
Pass { // 4, image
57+
CGPROGRAM
58+
#define UIWIDGETS_IMAGE
59+
#include "UIWidgets_canvas.cginc"
60+
#pragma vertex vert
61+
#pragma fragment frag_stroke_alpha
62+
ENDCG
63+
}
64+
}
65+
}

Runtime/Resources/UIWidgets_canvas_strokeAlpha.shader.meta

Lines changed: 9 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)