{"id":1169,"date":"2012-10-06T01:51:28","date_gmt":"2012-10-05T22:51:28","guid":{"rendered":"http:\/\/unitycoder.com\/blog\/?p=1169"},"modified":"2014-06-18T14:53:05","modified_gmt":"2014-06-18T11:53:05","slug":"radial-blur-shader","status":"publish","type":"post","link":"https:\/\/unitycoder.com\/blog\/2012\/10\/06\/radial-blur-shader\/","title":{"rendered":"Radial Blur Shader"},"content":{"rendered":"<p><a title=\"start webplayer demo\" href=\"http:\/\/unitycoder.com\/upload\/demos\/Radial_Blur_shader_unity\/\" target=\"_blank\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"1170\" data-permalink=\"https:\/\/unitycoder.com\/blog\/2012\/10\/06\/radial-blur-shader\/radial_blur_shader_unity\/\" data-orig-file=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2012\/10\/radial_blur_shader_unity.jpg?fit=680%2C398&amp;ssl=1\" data-orig-size=\"680,398\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"radial_blur_shader_unity\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2012\/10\/radial_blur_shader_unity.jpg?fit=680%2C398&amp;ssl=1\" class=\"alignnone size-full wp-image-1170\" title=\"radial_blur_shader_unity\" src=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2012\/10\/radial_blur_shader_unity.jpg?resize=680%2C398\" alt=\"\" width=\"680\" height=\"398\" srcset=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2012\/10\/radial_blur_shader_unity.jpg?w=680&amp;ssl=1 680w, https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2012\/10\/radial_blur_shader_unity.jpg?resize=300%2C175&amp;ssl=1 300w\" sizes=\"auto, (max-width: 680px) 100vw, 680px\" \/><\/a><\/p>\n<p>Using the same godrays shader, you get nice radial blur effect for images. This one is also modified to use objectUV, instead of screenUV,<br \/>\nso you can rotate the plane around..<\/p>\n<p><strong>Webplayer:<\/strong><br \/>\n<a title=\"start webplayer demo\" href=\"http:\/\/unitycoder.com\/upload\/demos\/Radial_Blur_shader_unity\/\" target=\"_blank\">http:\/\/unitycoder.com\/upload\/demos\/Radial_Blur_shader_unity\/<\/a> *webplayer broken in current unity webplayer version?<\/p>\n<p><strong>Shader source:<\/strong><\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n\/\/ FakeRadialBlur shader for Unity (v1.0)\r\n\/\/ based on this shader: http:\/\/unitycoder.com\/blog\/2012\/10\/02\/fake-godrays-shader\/\r\n\/\/ which is converted\/based on this webgl shader: http:\/\/demo.bkcore.com\/threejs\/webgl_tron_godrays.html\r\n\r\nShader &quot;UnityCoder\/FakeRadialBlur&quot;\r\n{\r\nProperties\r\n{\r\ntDiffuse (&quot;Base (RGB)&quot;, 2D) = &quot;white&quot; {}\r\nfX (&quot;fX&quot;, Float) = 0.5\r\nfY (&quot;fY&quot;, Float) = 0.5\r\nfExposure (&quot;fExposure&quot;, Float) = 0.6\r\nfDecay (&quot;fDecay&quot;, Float) = 0.93\r\nfDensity (&quot;fDensity&quot;, Float) = 0.96\r\nfWeight (&quot;fWeight&quot;, Float) = 0.4\r\nfClamp (&quot;fClamp&quot;, Float) = 1.0\r\n\/\/iSamples (&quot;iSamples&quot;, Int) = 20\r\n}\r\nSubShader {\r\nTags { &quot;RenderType&quot;=&quot;Opaque&quot; }\r\nLOD 200\r\nCull Off\r\n\r\nCGPROGRAM\r\n#pragma target 3.0\r\n#pragma surface surf Lambert\r\n\r\nsampler2D tDiffuse;\r\nfloat fX,fY,fExposure,fDecay,fDensity,fWeight,fClamp,iSamples;\r\n\r\nstruct Input {\r\nfloat2 uvtDiffuse;\r\nfloat4 screenPos;\r\n};\r\n\r\nvoid surf (Input IN, inout SurfaceOutput o)\r\n{\r\nint iSamples=100;\r\nfloat2 vUv = IN.uvtDiffuse;\r\n\/\/vUv *= float2(1,1); \/\/ repeat?\r\nfloat2 deltaTextCoord = float2(vUv - float2(fX,fY));\r\ndeltaTextCoord *= 1.0 \/\u00a0 float(iSamples) * fDensity;\r\nfloat2 coord = vUv;\r\nfloat illuminationDecay = 1.0;\r\nfloat4 FragColor = float4(0.0);\r\nfor(int i=0; i &amp;lt; iSamples ; i++)\r\n{\r\ncoord -= deltaTextCoord;\r\nfloat4 texel = tex2D(tDiffuse, coord);\r\ntexel *= illuminationDecay * fWeight;\r\nFragColor += texel;\r\nilluminationDecay *= fDecay;\r\n}\r\nFragColor *= fExposure;\r\nFragColor = clamp(FragColor, 0.0, fClamp);\r\nfloat4 c = FragColor;\r\no.Albedo = c.rgb;\r\no.Alpha = c.a;\r\n\r\n}\r\nENDCG\r\n}\r\nFallBack &quot;Diffuse&quot;\r\n}\r\n\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Using the same godrays shader, you get nice radial blur effect for images. This one is also modified to use objectUV, instead of screenUV, so you can rotate the plane around.. Webplayer: http:\/\/unitycoder.com\/upload\/demos\/Radial_Blur_shader_unity\/ *webplayer broken in current unity webplayer version? Shader source: \/\/ FakeRadialBlur shader [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":1170,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[1],"tags":[],"class_list":["post-1169","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2012\/10\/radial_blur_shader_unity.jpg?fit=680%2C398&ssl=1","jetpack_shortlink":"https:\/\/wp.me\/p1KTaT-iR","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/unitycoder.com\/blog\/wp-json\/wp\/v2\/posts\/1169","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/unitycoder.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/unitycoder.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/unitycoder.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/unitycoder.com\/blog\/wp-json\/wp\/v2\/comments?post=1169"}],"version-history":[{"count":6,"href":"https:\/\/unitycoder.com\/blog\/wp-json\/wp\/v2\/posts\/1169\/revisions"}],"predecessor-version":[{"id":3015,"href":"https:\/\/unitycoder.com\/blog\/wp-json\/wp\/v2\/posts\/1169\/revisions\/3015"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/unitycoder.com\/blog\/wp-json\/wp\/v2\/media\/1170"}],"wp:attachment":[{"href":"https:\/\/unitycoder.com\/blog\/wp-json\/wp\/v2\/media?parent=1169"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/unitycoder.com\/blog\/wp-json\/wp\/v2\/categories?post=1169"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/unitycoder.com\/blog\/wp-json\/wp\/v2\/tags?post=1169"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}