<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Smart-Page.net &#187; Pixel Bender</title>
	<atom:link href="http://www.smart-page.net/blog/tag/pixel-bender/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.smart-page.net/blog</link>
	<description>C++ / C# / Py / Actionscript ... &#039;My God. It&#039;s full of stars!&#039;</description>
	<lastBuildDate>Thu, 23 Jun 2011 00:14:09 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>SmartAA &#8211; reconstruct anti aliasing with Pixel Bender</title>
		<link>http://www.smart-page.net/blog/2010/02/21/smartaa-reconstruct-anti-aliasing-with-pixel-bender/</link>
		<comments>http://www.smart-page.net/blog/2010/02/21/smartaa-reconstruct-anti-aliasing-with-pixel-bender/#comments</comments>
		<pubDate>Sun, 21 Feb 2010 00:59:43 +0000</pubDate>
		<dc:creator>flashgordon</dc:creator>
				<category><![CDATA[3D]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[After Effects]]></category>
		<category><![CDATA[aliasing]]></category>
		<category><![CDATA[anti]]></category>
		<category><![CDATA[b-spline]]></category>
		<category><![CDATA[bicubic]]></category>
		<category><![CDATA[Filter]]></category>
		<category><![CDATA[Mitchell-Netravali]]></category>
		<category><![CDATA[Photoshop]]></category>
		<category><![CDATA[Pixel Bender]]></category>
		<category><![CDATA[reconstruct]]></category>

		<guid isPermaLink="false">http://www.smart-page.net/blog/?p=801</guid>
		<description><![CDATA[<a href="http://www.smart-page.net/blog/2010/02/21/smartaa-reconstruct-anti-aliasing-with-pixel-bender/" title="SmartAA &#8211; reconstruct anti aliasing with Pixel Bender"><img src="http://www.smart-page.net/blog/wp-content/uploads/yapb_cache/smartaa1.3nzh85x4xvebmsc00gc0o4440.h9fw4mcunmtegc04wgoo4wck.th.jpeg" width="200" height="150" alt="SmartAA &#8211; reconstruct anti aliasing with Pixel Bender" style="float:left;padding:0 10px 10px 0;" ></a>About three decades ago, pixels where as big as toasters &#8211; and mostly green. Today we have millions of them to deal with, and the terms anti-/aliasing are part of our daily live and every time an image is scaled, it gets interpolated to keep those bad &#8220;stairs&#8221; away from our eyes. But what if [...]]]></description>
			<content:encoded><![CDATA[<a href="http://www.smart-page.net/blog/2010/02/21/smartaa-reconstruct-anti-aliasing-with-pixel-bender/" title="SmartAA &#8211; reconstruct anti aliasing with Pixel Bender"><img src="http://www.smart-page.net/blog/wp-content/uploads/yapb_cache/smartaa1.3nzh85x4xvebmsc00gc0o4440.h9fw4mcunmtegc04wgoo4wck.th.jpeg" width="200" height="150" alt="SmartAA &#8211; reconstruct anti aliasing with Pixel Bender" style="float:left;padding:0 10px 10px 0;" ></a><p>About three decades ago, pixels where as big as toasters &#8211; and mostly green.</p>
<p>Today we have millions of them to deal with, and the terms anti-/aliasing are part of our daily live and every time an image is scaled, it gets interpolated to keep those bad &#8220;stairs&#8221; away from our eyes.</p>
<p>But what if the source image is aliased in the first place?</p>
<p><b>Checkout the <a href="http://www.smart-page.net/as3/sp_smartaa" target="_blank">demo of SmartAA!</a></b><br />
<br/><br />
<span id="more-801"></span><br />
While upsaling is the most common cause of <a href="http://en.wikipedia.org/wiki/Aliasing" target="_blank">aliasing</a>, there are images that are naturally aliased &#8211; for example images from a 3D render engine.</p>
<p>Of course there are many ways to <a href="http://en.wikipedia.org/wiki/Antialiasing" target="_blank">antialias</a> cg images when generating them &#8211; for example by rendering to a higher resolution than targeted and downscaling the result (FSAA)- or by rendering and merging four slightly offset variations.</p>
<p>While this is as computational intensive as it sounds, modern GPU´s can handle this task rather easily as they have their buffers and hardwired magic to do so, but still it’s not uncommon to come along aliased images in the world of computer graphics.</p>
<p>So is all this material &#8220;useless&#8221; or can an image that has never seen any antialiasing, or has been upscaled with the <a href="http://en.wikipedia.org/wiki/Nearest-neighbor_interpolation" target="_blank">nearest neighbour</a> method, be reconstructed?</p>
<p>In fact all that modern imaging software does when rescaling an image is reconstructing its pixels to fit the new dimensions &#8211; most times with a <a href="http://en.wikipedia.org/wiki/Bicubic_interpolation" target="_blank">bicubic filter</a>.</p>
<p><img src="http://www.smart-page.net/blog/wp-content/uploads/2010/02/smartAA01.jpg" alt="" title="smartAA01" width="692" height="138" class="alignnone size-full wp-image-805" /></p>
<h3 style="margin-top:10px; margin-bottom:5px">SmartAA is a bicubic BC-spline reconstruction filter for PixelBender.</h3>
<p>Its 3&#215;3 kernel gathers all neighboring pixels of the one to reconstruct and weights them with the <a href="http://de.wikipedia.org/wiki/Mitchell-Netravali-Filter" target="_blank">Mitchell-Netravali</a>(german link) filter.</p>
<p>In essence, this means that each pixel is modified by the average color of its surrounding friends.<br />
While &#8220;average&#8221; being the wrong term here as the influence of each pixel is determined by the spline curve of the Mitchell-Netravali filter.</p>
<p>This eliminates those hard, &#8220;stair-like&#8221; artifacts of the aliasing by visually &#8220;softening&#8221; or unsharping the image.</p>
<p>However this is not simply a destructive blurring effect but a reconstructive analysis of the source &#8220;signal&#8221;.</p>
<p><br/><br />
There are many known filters that do this hard job &#8211; it´s not easy to reconstruct information that was partly lost (or never there in the first place).<br />
<img src="http://www.smart-page.net/blog/wp-content/uploads/2010/02/space.jpg" alt="" title="space" width="175" height="179" class="alignright size-full wp-image-811" /><br />
Thus all of them suffer of the same issues &#8211; the result always shows some artifacts.<br />
Mostly it’s a visible unsharping, <a href="http://en.wikipedia.org/wiki/Anisotropy" target="_blank">anisotropy </a>or the so-called &#8220;<a href="http://en.wikipedia.org/wiki/Ringing_artifacts" target="_blank">ringing</a>&#8220;.</p>
<p>In general bicubic reconstruction methods create the best results.</p>
<p>Among the various possible filter methods the windowed Sinc(<a href="http://en.wikipedia.org/wiki/Lanczos_resampling" target="_blank">Lanczos</a>)- and Mitchell-Netravali filter are chosen the most as their output is considered to be the best mix of the inevitable unsharping, anisotropy and ringing.</p>
<p>Just for the record: there are &#8220;better&#8221; solutions, the so called &#8220;adaptive&#8221; or &#8220;smart&#8221; filters that try separate methods on edges, fills and other structures.<br />
They are particularly useful when working with sequences of moving images (video) but again slow to compute.</p>
<p>SmartAA on the other hand is a quite simple implementation of the M.-N. filter and runs blazingly fast when run on the GPU &#8211; producing about 70 redraws per sec on a 1024*768 image.</p>
<p>Unfortunately it´s not nearly as fast on the CPU.<br />
If you have a rather slow machine, you will have seen the demo struggling to keep a 24fps framerate, so its just! that bit too slow to to antialias the pixelated output of a flash based C64 emulator.</p>
<p>That would have been cool&#8230; would love to see something like that.</p>
<p><br/><br />
I kept it flash compatible anyway &#8211; still there might be applications.</p>
<p>Its a matter of personal reception, but to me the M.-N. filter looks better on videos as the inbuild &#8220;smooth&#8221;-method.<br />
Anyway &#8211; flash video has been criticized enaugh for high cpu usage so lets not make things worse <img src='http://www.smart-page.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Also: like any reconstruction filter it won´t work in any given scenario as there are some natural and some specific limitations.</p>
<p><img src="http://www.smart-page.net/blog/wp-content/uploads/2010/02/smartAA02.jpg" alt="" title="smartAA02" width="690" height="133" class="alignnone size-full wp-image-815" /></p>
<p><br/><br />
<img src="http://www.smart-page.net/blog/wp-content/uploads/2010/02/smartAA04.jpg" alt="" title="smartAA04" width="254" height="175" class="alignright size-full wp-image-823" /><br />
So what can SmartAA do and what not? Here is a feature/limitation list:</p>
<p><em>Features:</em></p>
<p>- Works with Photoshop, After Effects, Flash<br />
- Supports alpha channel<br />
- Is real-time</p>
<p><em>Limitations:</em></p>
<p>- Does no up/down scaling &#8211; just reconstruction of anti aliasing<br />
- Is scenario specific &#8211; for example text will often look strange<br />
- works only with artifacts in the same pixel space.</p>
<p><br/><br />
Let me elaborate on the last point:<br />
<img src="http://www.smart-page.net/blog/wp-content/uploads/2010/02/smartAA03.jpg" alt="" title="smartAA03" width="200" height="91" class="alignright size-full wp-image-817" /><br />
As SmartAA takes only neighbouring pixels into account it isn´t able to reconstruct aliasing effects that span over greater distances than 2 pixels.<br />
For example if an image exists of 4*4 pixel blocks of the same color, those blocks would get rounded on the edges but will still be visible as rounded blocks.</p>
<p>But it works ideal on sources like aliased output from a render engine, or images that have been upscaled x2 with the nearest neighbour method.<br />
<br/><br />
<strong>Conclusion:</strong></p>
<p>Aliasing should be fought before it ends up within an image as there are more sophisticated methods to keep it from emerging than to reconstruct it after the damage is done.</p>
<p>But sometimes it´s inevitable and if you are looking for a simple but effective way to get rid of that ugly blocks within an image or video &#8211; SmartAA will do the trick.<br />
<br/><br />
<strong>Download:</strong></p>
<p><a href="http://www.smart-page.net/as3/sp_smartaa/SmartAA.zip">Grab the Shader here</a> and use it with Photoshop (<a href="http://www.adobe.com/devnet/pixelbender/" target="_blank">Pixel Bender Plugin</a> needed), After Effects or Flash!<br />
<br/><br />
<strong>Hint:</strong></p>
<p>Try to add a sharpen filter or better an unsharpen mask to the result to counter the blur effect.<br />
Don´t forget to use the width/hight properties &#8211; SmartAA will work without but there will be artifacts on the upper- and lower right corner.</p>
<p><br/><br />
I hope this is helpful to anyone out there and would love to hear some comments or ideas.</p>
<p><br/><br />
Cheers!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.smart-page.net/blog/2010/02/21/smartaa-reconstruct-anti-aliasing-with-pixel-bender/feed/</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
		<item>
		<title>Realtime SSAO with After Effects and Pixel Bender</title>
		<link>http://www.smart-page.net/blog/2009/10/05/realtime-ssao-with-after-effects-and-pixel-bender/</link>
		<comments>http://www.smart-page.net/blog/2009/10/05/realtime-ssao-with-after-effects-and-pixel-bender/#comments</comments>
		<pubDate>Mon, 05 Oct 2009 07:00:58 +0000</pubDate>
		<dc:creator>flashgordon</dc:creator>
				<category><![CDATA[3D]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[After Effects]]></category>
		<category><![CDATA[AFX]]></category>
		<category><![CDATA[AO]]></category>
		<category><![CDATA[Pixel Bender]]></category>
		<category><![CDATA[Screen Space Ambient Occlusion]]></category>
		<category><![CDATA[Smart SSAO]]></category>
		<category><![CDATA[SSAO]]></category>

		<guid isPermaLink="false">http://www.smart-page.net/blog/?p=471</guid>
		<description><![CDATA[<a href="http://www.smart-page.net/blog/2009/10/05/realtime-ssao-with-after-effects-and-pixel-bender/" title="Realtime SSAO with After Effects and Pixel Bender"><img src="http://www.smart-page.net/blog/wp-content/plugins/yet-another-photoblog/YapbThumbnailer.php?post_id=471&amp;w=200&amp;h=150&amp;zc=1" width="200" height="150" alt="Realtime SSAO with After Effects and Pixel Bender" style="float:left;padding:0 10px 10px 0;" ></a>Screen Space Ambient Occlusion or SSAO is a method to compute an approximated AO pass in real-time! This is done by using the depth information of a 3D object or scene that has been stored from the Z-(depth) buffer of the renderer. Go ahead and try the interactive demo or see a video example! The [...]]]></description>
			<content:encoded><![CDATA[<a href="http://www.smart-page.net/blog/2009/10/05/realtime-ssao-with-after-effects-and-pixel-bender/" title="Realtime SSAO with After Effects and Pixel Bender"><img src="http://www.smart-page.net/blog/wp-content/plugins/yet-another-photoblog/YapbThumbnailer.php?post_id=471&amp;w=200&amp;h=150&amp;zc=1" width="200" height="150" alt="Realtime SSAO with After Effects and Pixel Bender" style="float:left;padding:0 10px 10px 0;" ></a><p>Screen Space Ambient Occlusion or <a href="http://en.wikipedia.org/wiki/Screen_Space_Ambient_Occlusion" target="_blank">SSAO</a> is a method to compute an approximated <a href="http://en.wikipedia.org/wiki/Ambient_occlusion" target="_blank">AO</a> pass in real-time! </p>
<p>This is done by using the depth information of a 3D object or scene that has been stored from the Z-(depth) buffer of the renderer.</p>
<p><b>Go ahead and try the <a href="http://www.smart-page.net/as3/sp_smartssao">interactive demo</a> or see a <a href="http://www.vconverter.de/?file=smartssao" target="_blank">video example!</a></b><br />
<br/><br />
<span id="more-471"></span></p>
<p>The technique was introduced 2007 at Siggraph by <a href="http://www.crytek.com/" target="_blank">Crytek Studios</a> and is becoming an often used feature within next generation live-3d engines or cg/video post applications.</p>
<p>After playing with the ray traced inside-out AO and having to realize that it´s not quite doable with Pixel Blender, I turned to SSAO and quickly got some nice results.</p>
<p>In short it´s all about importance sampling. </p>
<p>SmartSSAO looks up the depth information of 12 surrounding samples and checks if they get occluded to average the AO value.<br />
<img style="margin-top:10px; margin-bottom:5px;" src="http://www.smart-page.net/blog/wp-content/uploads/2009/10/sp_ssao3.jpg" alt="sp_ssao3" title="sp_ssao3" width="680" height="142" class="alignnone size-full wp-image-680" /></p>
<p>The disadvantages lie in the nature of SSAO being &#8220;screen spaced&#8221; which means that it can´t take objects from the off into account, and the result has to be blurred to reduce the inevitable noise.<br />
Also there is no ray bouncing, so classic AO is visually superior &#8211; but hey&#8230; who can argue with &#8220;real-time&#8221;?</p>
<p><strong><a href="http://www.vconverter.de/?file=smartssao2" target="_blank">View another video</a></strong> of the buffer and the solo SSAO pass without/with blurring.<br />
<span style="color: #ff6600;"><em>Please note that those strange looking anomalies on the buddahs arms originate from the badly ranged zmap I produced in a hurry.</em></span><br />
<br/><br />
<strong>To sum it all up:</strong></p>
<p>SSAO makes it possible to have AO in places where it normally isn´t possible &#8211; e.g. real-time engines (yes &#8211; even for Flash/Papervision), or within a video post process.</p>
<p>All that’s needed is the Zbuffer of a 3D rendering.<br />
<br/></p>
<p><strong>You can download the Shader <a href="http://www.smart-page.net/as3/sp_smartssao/SmartSSAO.zip" target="_blank">here </a>or get it packed with an <a href="http://www.smart-page.net/as3/sp_smartssao/SmartSSAO_example.zip" target="_blank">AFX example</a>.<br />
</strong><br/><br />
<i>Hint: As said before, the SSAO pass needs to be blurred in order to clear out the emerging noise &#8211; but don´t overdo it, as the blurring will &#8220;bleed&#8221; the result over to unwanted areas.<br />
This could be targeted by a special SSAO blur filter that would again have to take the depth map into account. </i><br />
<br/><br />
<em><a href="http://www.vconverter.de/?file=smartssao2" target="_blank">Click here to see this screenshot as video</a></em><br/><br />
<strong><img class="alignnone size-full wp-image-504" title="sp_ssao2" src="http://www.smart-page.net/blog/wp-content/uploads/2009/10/sp_ssao2.jpg" alt="sp_ssao2" width="700" height="401" /><br />
</strong></p>
<p><strong><span style="color: #ff6600;"><em><br />
Update:</em></span></strong></p>
<p>I feel like I should adress the X,Y-offset params of the filter which can be used to tweak the &#8220;shadow direction&#8221;.<br />
&#8220;Shadow direction&#8221; in quotes as (SS)AO is all about indirect lightning so this is a real &#8220;tweak&#8221; or an unrealistic param &#8211; which I thought might come in handy in some cases.</p>
<p>I was asked if the shader was performant enaugh for flash &#8211; and even if it looks a bit ugly codewise as I had to get rid of a loop &#8211; it surely is.</p>
<p>So I updated the package and made this small <a href="http://www.smart-page.net/as3/sp_smartssao" target="_blank"><strong>interactive flex demo</strong></a> :</p>
<p><embed style="margin-left:50px;" type="application/x-shockwave-flash" pluginspage="http://www.adobe.com/go/getflashplayer" width="570" height="500" src="http://www.smart-page.net/as3/sp_smartssao/SmartSSAO_Shadertest.swf" /><br />
Be sure to try unchecking &#8220;color SSAO?&#8221; and &#8220;show SSAO?&#8221; to get an impression.</p>
<p>You can grab the source <strong><a href="http://www.smart-page.net/as3/sp_smartssao/srcview/index.html" target="_blank">here</a></strong>.</p>
<p><strong><span style="color: #ff6600;"><em><br />
Update 2:</em></span></strong></p>
<p>The filter now features an additional sampling radius parameter which controls the dispersion and allows to adjust it to the desired level of detail &#8211; this should also make it more useable for papervision.</p>
<p>I hope this little experiment will be of use to somebody out there and would love to hear any suggestions.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.smart-page.net/blog/2009/10/05/realtime-ssao-with-after-effects-and-pixel-bender/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>GPU based Raytracing with Pixel Bender and After Effects</title>
		<link>http://www.smart-page.net/blog/2009/09/27/gpu-based-raytracing-with-pixel-bender-and-after-effects/</link>
		<comments>http://www.smart-page.net/blog/2009/09/27/gpu-based-raytracing-with-pixel-bender-and-after-effects/#comments</comments>
		<pubDate>Sun, 27 Sep 2009 10:29:44 +0000</pubDate>
		<dc:creator>flashgordon</dc:creator>
				<category><![CDATA[3D]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[After Effects]]></category>
		<category><![CDATA[Ambient Occlusion]]></category>
		<category><![CDATA[AO]]></category>
		<category><![CDATA[GPU]]></category>
		<category><![CDATA[Pixel Bender]]></category>
		<category><![CDATA[Raytracing]]></category>
		<category><![CDATA[rendering]]></category>

		<guid isPermaLink="false">http://www.smart-page.net/blog/?p=426</guid>
		<description><![CDATA[<a href="http://www.smart-page.net/blog/2009/09/27/gpu-based-raytracing-with-pixel-bender-and-after-effects/" title="GPU based Raytracing with Pixel Bender and After Effects"><img src="http://www.smart-page.net/blog/wp-content/plugins/yet-another-photoblog/YapbThumbnailer.php?post_id=426&amp;w=200&amp;h=150&amp;zc=1" width="200" height="150" alt="GPU based Raytracing with Pixel Bender and After Effects" style="float:left;padding:0 10px 10px 0;" ></a>Since some years the idea of harnessing the power of modern graphic cards for 2D/3D applications has become more and more popular. Today we find GPU support in many CG applications like Photoshop or After Effects. But first the fun part: Watch a video raytraced with PB and AFX! The chaos group is even working [...]]]></description>
			<content:encoded><![CDATA[<a href="http://www.smart-page.net/blog/2009/09/27/gpu-based-raytracing-with-pixel-bender-and-after-effects/" title="GPU based Raytracing with Pixel Bender and After Effects"><img src="http://www.smart-page.net/blog/wp-content/plugins/yet-another-photoblog/YapbThumbnailer.php?post_id=426&amp;w=200&amp;h=150&amp;zc=1" width="200" height="150" alt="GPU based Raytracing with Pixel Bender and After Effects" style="float:left;padding:0 10px 10px 0;" ></a><p>Since some years the idea of harnessing the power of modern graphic cards for 2D/3D applications has become more and more popular.</p>
<p>Today we find GPU support in many CG applications like Photoshop or After Effects.</p>
<p><b>But first the fun part: <a href="http://www.vconverter.de/?file=rt_aa_ao" target="_blank">Watch a video raytraced with PB and AFX!</a></b></p>
<p><span id="more-426"></span> The <a href="http://www.chaosgroup.com" target="_blank">chaos group</a> is even working on a GPU based real time version of Vray &#8211; a widely used modern GI raytracer.</p>
<p>In fact GPU shading is often more performant plus it quasi &#8216;adds&#8217; an unused/inactive processor.</p>
<p>One could argue that Pixel Bender doesn´t quite fit the term as its mostly run in software mode (on the CPU) &#8211; for<br />
example when executing a PB shader in Flash or rendering it with AFX&#8230; for now.</p>
<p>But PB is still young and the prospect of being able to run it within multiple adobe platforms (Flash,PS,AFX) is very compelling.</p>
<p>When I saw <a href="http://www.subblue.com/blog/2009/9/20/quaternion_julia" target="_blank">Tom Beddard´s PB port</a> of Keenan Crane&#8217;s genius julia set tracer, I remembered that I had planned to get into PB GPU raytracing once I got around <a href="http://mike.newgrounds.com/news/post/156863" target="_blank">Mike Welsh´s PB raytracer</a>.</p>
<p>So I spend some time with it, created a scene similar to &#8216;<a href="http://www.smart-page.de/as3d/sp_theeye/" target="_blank">The Eye&#8217;</a> and added viewport controls as well as anti aliasing.</p>
<p>The result can be viewed <a href="http://www.vconverter.de/?file=rt_aa_ao" target="_blank">here</a>.</p>
<p><em>Rendertime was 3:10 on a Q6600 for 4700 frames.</em></p>
<p>And <a href="http://www.smart-page.net/as3/sp_smartray/SmartRayTracer.pbk" target="_blank">here</a> is the modified shader.</p>
<p>I also fiddled around with adding an inside-out AO (<a href="http://en.wikipedia.org/wiki/Ambient_occlusion" target="_blank">ambient occlusion</a>) pass but wasn´t able to get satisfying results.<br />
It even almost fried my GPU in the process so in conclusion it’s doable but sadly not practical.</p>
<p><img class="alignnone size-full wp-image-443" title="ao2" src="http://www.smart-page.net/blog/wp-content/uploads/2009/09/ao2.jpg" alt="ao2" width="426" height="210" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.smart-page.net/blog/2009/09/27/gpu-based-raytracing-with-pixel-bender-and-after-effects/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Smart Normal goes Pixel Bender</title>
		<link>http://www.smart-page.net/blog/2009/02/22/pixel-bender-realtime-normalmap/</link>
		<comments>http://www.smart-page.net/blog/2009/02/22/pixel-bender-realtime-normalmap/#comments</comments>
		<pubDate>Sun, 22 Feb 2009 01:29:23 +0000</pubDate>
		<dc:creator>flashgordon</dc:creator>
				<category><![CDATA[3D]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[After Effects]]></category>
		<category><![CDATA[CS4]]></category>
		<category><![CDATA[DOT3]]></category>
		<category><![CDATA[Filter]]></category>
		<category><![CDATA[Normalmap]]></category>
		<category><![CDATA[Photoshop]]></category>
		<category><![CDATA[Pixel Bender]]></category>
		<category><![CDATA[Shader]]></category>
		<category><![CDATA[Sobel]]></category>

		<guid isPermaLink="false">http://www.smart-page.net/blog/?p=185</guid>
		<description><![CDATA[<a href="http://www.smart-page.net/blog/2009/02/22/pixel-bender-realtime-normalmap/" title="Smart Normal goes Pixel Bender"><img src="http://www.smart-page.net/blog/wp-content/plugins/yet-another-photoblog/YapbThumbnailer.php?post_id=185&amp;w=200&amp;h=150&amp;zc=1" width="200" height="150" alt="Smart Normal goes Pixel Bender" style="float:left;padding:0 10px 10px 0;" ></a>With CS4 Adobe introduced Pixel Bender to Flash, After FX and Photoshop. Pixel Bender allows to easily write and test filters witch are finally compiled to bytecode (Flash) or machine code (AFX). For the new version of Smart Normal, its sobel-edge shader got portet to PB &#8211; making it blazing fast. Its even possible to [...]]]></description>
			<content:encoded><![CDATA[<a href="http://www.smart-page.net/blog/2009/02/22/pixel-bender-realtime-normalmap/" title="Smart Normal goes Pixel Bender"><img src="http://www.smart-page.net/blog/wp-content/plugins/yet-another-photoblog/YapbThumbnailer.php?post_id=185&amp;w=200&amp;h=150&amp;zc=1" width="200" height="150" alt="Smart Normal goes Pixel Bender" style="float:left;padding:0 10px 10px 0;" ></a><p>With CS4 Adobe introduced Pixel Bender to Flash, After FX and Photoshop. Pixel Bender allows to easily write and test filters witch are finally compiled to bytecode (Flash) or machine code (AFX).</p>
<p>For the new version of <a href="http://www.smart-page.net/smartnormal" target="_blank">Smart Normal</a>, its sobel-edge shader got portet to PB &#8211; making it blazing fast. Its even possible to use it <a href="http://www.smart-page.net/as3/sp_smartnormalmap" target="_blank">for realtime shading</a>.</p>
<p>Want to use Smart Normal directly within After Effects or Photoshop (CS4) ? <b><a href="http://www.adobe.com/cfusion/exchange/index.cfm?event=extensionDetail&amp;loc=en_us&amp;extid=1817528" target="_blank">Just grab it from Adobe Exchange</a></b> and drag it into your plugin-directory.<br />
(Photoshop needs the <a href="http://labs.adobe.com/downloads/pixelbender.html" target="_blank">Pixel Bender Plugin</a>).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.smart-page.net/blog/2009/02/22/pixel-bender-realtime-normalmap/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

