1 // Final pass in the contrast stretch effect: apply
2 // color stretch to the original image, based
on currently
3 // adapted to minimum/maximum luminances.

4
5 Shader
"Hidden/Contrast Stretch Apply" {
6 Properties {
7     _MainTex (
"Base (RGB)", 2D) = "white" {}
8     _AdaptTex (
"Base (RGB)", 2D) = "white" {}
9 }
10
11 Category {
12     SubShader {
13         Pass {
14             ZTest Always Cull Off ZWrite Off
15                 
16 CGPROGRAM
17 #pragma vertex vert
18 #pragma fragment frag
19 #include
"UnityCG.cginc"
20
21 struct
v2f {
22     float4 pos : SV_POSITION;
23     float2 uv[
2] : TEXCOORD0;
24 };
25
26 uniform sampler2D _MainTex;
27 uniform sampler2D _AdaptTex;
28
29 v2f vert (appdata_img v)
30 {
31     v2f o;
32     o.pos = mul (UNITY_MATRIX_MVP, v.vertex);
33     o.uv[
0] = MultiplyUV (UNITY_MATRIX_TEXTURE0, v.texcoord);
34     o.uv[
1] = float2(0.5,0.5);
35     
return o;
36 }
37
38 float4 frag (v2f i) : SV_Target
39 {
40     float4 col = tex2D(_MainTex, i.uv[
0]);
41     float4 adapted = tex2D(_AdaptTex, i.uv[
1]);
42     
float vmul = 1.0 / adapted.z;
43     
float vadd = -adapted.w;
44     col.rgb = col.rgb * vmul + vadd;
45     
return col;
46 }
47 ENDCG
48
49         }
50     }
51 }
52
53 Fallback off
54
55 }


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