Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: data/branches/Shader_HS18/programs/Example/GLSLES/DOF_ps.glsles @ 12091

Last change on this file since 12091 was 12091, checked in by wiesep, 5 years ago

Updated programs and adjusted Material to work with GLSL>150

File size: 1.8 KB
Line 
1// Simple blur filter
2
3const float2 samples[8] = {
4    {-1, 1},
5    {-1, 0},
6    {-1, -1},
7    {0, -1},
8    {1, -1},
9    {1, 0},
10    {1, 1},
11    {0, 1}
12};
13
14float4 blur(
15
16    in float2 texCoord: TEXCOORD0,
17    uniform float sampleDistance: register(c0),
18    uniform sampler Blur0: register(s0)
19
20) : COLOR
21{
22   float4 sum = tex2D(Blur0, texCoord);
23   for (int i = 0; i < 8; ++i){
24      sum += tex2D(Blur0, texCoord + sampleDistance * samples[i]);
25   }
26   return sum / 9;
27}
28
29
30
31float4 blend
32(
33    in float2 texCoord: TEXCOORD0,
34
35    uniform sampler Blur0 : register(s0),
36    uniform sampler Blur1 : register(s1),
37
38    uniform float focus: register(c0),
39    uniform float range: register(c1)
40) : COLOR
41{
42   float4 sharp = tex2D(Blur0, texCoord);
43   float4 blur  = tex2D(Blur1, texCoord);
44
45   // alpha channel of sharp RT has depth info
46   return mix(sharp, blur, saturate(range * abs(focus - sharp.a)));
47}
48// Simple blur filter
49
50const float2 samples[8] = {
51    {-1, 1},
52    {-1, 0},
53    {-1, -1},
54    {0, -1},
55    {1, -1},
56    {1, 0},
57    {1, 1},
58    {0, 1}
59};
60
61float4 blur(
62
63    in float2 texCoord: TEXCOORD0,
64    uniform float sampleDistance: register(c0),
65    uniform sampler Blur0: register(s0)
66
67) : COLOR
68{
69   float4 sum = tex2D(Blur0, texCoord);
70   for (int i = 0; i < 8; ++i){
71      sum += tex2D(Blur0, texCoord + sampleDistance * samples[i]);
72   }
73   return sum / 9;
74}
75
76
77
78float4 blend
79(
80    in float2 texCoord: TEXCOORD0,
81
82    uniform sampler Blur0 : register(s0),
83    uniform sampler Blur1 : register(s1),
84
85    uniform float focus: register(c0),
86    uniform float range: register(c1)
87) : COLOR
88{
89   float4 sharp = tex2D(Blur0, texCoord);
90   float4 blur  = tex2D(Blur1, texCoord);
91
92   // alpha channel of sharp RT has depth info
93   return mix(sharp, blur, saturate(range * abs(focus - sharp.a)));
94}
Note: See TracBrowser for help on using the repository browser.