Radial Blur

Radial Blur

  Radial Blur

  核心代码如下:

 1 v2f vert (appdata_img v) 

 2 { 

 3     v2f o; 

 4     o.pos = mul(UNITY_MATRIX_MVP, v.vertex); 

 5     o.uv = v.texcoord.xy; 

 6     return o; 

 7 }

 8 

 9 float4 frag (v2f i) : COLOR 

10 { 

11     float2 texCoord = i.uv; 

12     float2 dir = 0.5 – texCoord; 

13     float dist = length(dir); 

14     dir /= dist; 

15     float4 color = tex2D(_MainTex, texCoord); 

16     float4 sum = color;

17 

18     float samples[10] = float[](-0.08,-0.05,-0.03,-0.02,-0.01,0.01,0.02,0.03,0.05,0.08);

19 

20     for (int i = 0; i < 10; ++i)  

21     {  

22         sum += tex2D(_MainTex, texCoord + dir*samples[i]*fSampleDist); 

23     }

24 

25     sum /= 11.0; 

26     float t = saturate(dist * fSampleStrength); 

27     return lerp(color, sum, t); 

28 } 

 

参考:

1、http://www.gamerendering.com/2008/12/20/radial-blur-filter/

你可能感兴趣的:(blur)