1 Shader "Hidden/ContrastComposite" {
2     Properties {
3         _MainTex (
"Base (RGB)", 2D) = "" {}
4         _MainTexBlurred (
"Base Blurred (RGB)", 2D) = "" {}
5     }
6     
7     
// Shader code pasted into all further CGPROGRAM blocks
8     CGINCLUDE
9     
10     #include
"UnityCG.cginc"
11     
12     
struct v2f {
13         float4 pos : SV_POSITION;
14         float2 uv[
2] : TEXCOORD0;
15     };
16     
17     sampler2D _MainTex;
18     sampler2D _MainTexBlurred;
19     
20     float4 _MainTex_TexelSize;
21     
22     
float intensity;
23     
float threshhold;
24         
25     v2f vert( appdata_img v ) {
26         v2f o;
27         o.pos = mul(UNITY_MATRIX_MVP, v.vertex);
28         
29         o.uv[
0] = v.texcoord.xy;
30         o.uv[
1] = v.texcoord.xy;
31         #
if UNITY_UV_STARTS_AT_TOP
32         
if (_MainTex_TexelSize.y < 0)
33             o.uv[
0].y = 1-o.uv[0].y;
34         #endif
35         
return o;
36     }
37     
38     half4 frag(v2f i) : SV_Target
39     {
40         half4 color = tex2D (_MainTex, i.uv[
1]);
41         half4 blurred = tex2D (_MainTexBlurred, (i.uv[
0]));
42         
43         half4 difff = color - blurred;
44         half4 signs = sign (difff);
45         
46         difff = saturate ( (color-blurred) - threshhold) * signs *
1.0/(1.0-threshhold);
47         color += difff * intensity;
48         
49         
return color;
50     }
51
52     ENDCG
53     
54 Subshader {
55  Pass {
56       ZTest Always Cull Off ZWrite Off
57
58       CGPROGRAM
59       #pragma vertex vert
60       #pragma fragment frag
61       ENDCG
62   }
63 }
64
65 Fallback off
66     
67 }
// shader


Gõ tìm kiếm nhanh...