1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
| Shader "Hidden/Post FX/UI/Curve Background"
| {
| CGINCLUDE
|
| #pragma target 3.0
| #include "UnityCG.cginc"
|
| float _DisabledState;
|
| float3 HsvToRgb(float3 c)
| {
| float4 K = float4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0);
| float3 p = abs(frac(c.xxx + K.xyz) * 6.0 - K.www);
| return c.z * lerp(K.xxx, saturate(p - K.xxx), c.y);
| }
|
| float4 FragHue(v2f_img i) : SV_Target
| {
| float3 hsv = HsvToRgb(float3(i.uv.x, 1.0, 0.2));
| float4 color = float4((0.0).xxx, 1.0);
| color.rgb = lerp(color.rgb, hsv, smoothstep(0.5, 1.1, 1.0 - i.uv.y)) + lerp(color.rgb, hsv, smoothstep(0.5, 1.1, i.uv.y));
| color.rgb += (0.15).xxx;
| return float4(color.rgb, color.a * _DisabledState);
| }
|
| float4 FragSat(v2f_img i) : SV_Target
| {
| float4 color = float4((0.0).xxx, 1.0);
| float sat = i.uv.x / 2;
| color.rgb += lerp(color.rgb, (sat).xxx, smoothstep(0.5, 1.2, 1.0 - i.uv.y)) + lerp(color.rgb, (sat).xxx, smoothstep(0.5, 1.2, i.uv.y));
| color.rgb += (0.15).xxx;
| return float4(color.rgb, color.a * _DisabledState);
| }
|
| ENDCG
|
| SubShader
| {
| Cull Off ZWrite Off ZTest Always
|
| // (0) Hue
| Pass
| {
| CGPROGRAM
|
| #pragma vertex vert_img
| #pragma fragment FragHue
|
| ENDCG
| }
|
| // (1) Sat/lum
| Pass
| {
| CGPROGRAM
|
| #pragma vertex vert_img
| #pragma fragment FragSat
|
| ENDCG
| }
| }
| }
|
|