<?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>Ryan Phelan &#187; Effects</title>
	<atom:link href="http://www.rphelan.com/tag/effects/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.rphelan.com</link>
	<description>Exploring Flex, Design, and Visualization</description>
	<lastBuildDate>Thu, 12 Aug 2010 14:56:14 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Pixel Bender Blend Modes</title>
		<link>http://www.rphelan.com/2009/05/19/pixel-bender-blend-modes/</link>
		<comments>http://www.rphelan.com/2009/05/19/pixel-bender-blend-modes/#comments</comments>
		<pubDate>Tue, 19 May 2009 16:39:51 +0000</pubDate>
		<dc:creator>Ryan</dc:creator>
				<category><![CDATA[Flex]]></category>
		<category><![CDATA[Pixel Bender]]></category>
		<category><![CDATA[360Flex]]></category>
		<category><![CDATA[Color]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Effects]]></category>
		<category><![CDATA[Shaders]]></category>

		<guid isPermaLink="false">http://www.rphelan.com/?p=272</guid>
		<description><![CDATA[In preparation for my Pixel Bender talk at 360Flex I wanted to create an example which shows how to use Pixel Bender shaders as blend modes, so I went ahead and whipped together 20 blend shaders:  Darken, Multiply, Color Burn, Linear Burn, Lighten, Screen, Color Dodge, Linear Dodge (Additive), Overlay, Soft Light, Hard Light, Vivid [...]]]></description>
			<content:encoded><![CDATA[<p>In preparation for my Pixel Bender talk at 360Flex I wanted to create an example which shows how to use Pixel Bender shaders as blend modes, so I went ahead and whipped together 20 blend shaders:  Darken, Multiply, Color Burn, Linear Burn, Lighten, Screen, Color Dodge, Linear Dodge (Additive), Overlay, Soft Light, Hard Light, Vivid Light, Linear Light, Pin Light, Difference, Exclusion, Interpolation, Invert, Quadratic, and Subtract.</p>
<p>You'll notice there is some overlap with the set that are natively available in flash.display.BlendMode, but I thought it would be pretty educational to see how these shaders are written Pixel Bender.  I have yet to test to see if there is a significant performance difference.</p>
<p><a href="http://www.rphelan.com/flex/PBBlendModes/"><img class="alignnone size-full wp-image-273" title="Pixel Bender Blend Modes Preview" src="http://www.rphelan.com/flex/uploads/2009/05/pbblendmodes.png" alt="Pixel Bender Blend Modes Preview" width="485" height="263" /></a></p>
<p><a href="http://www.rphelan.com/flex/PBBlendModes/">Application</a> - <a href="http://www.rphelan.com/flex/PBBlendModes/srcview/index.html">Source</a></p>
<p>The formulas behind these blend modes were pretty easy to find.  I got them from a combination of <a href="http://www.pegtop.net/delphi/articles/blendmodes">http://www.pegtop.net/delphi/articles/blendmodes</a>, <a href="http://dunnbypaul.net/blends/">http://dunnbypaul.net/blends/</a>, wikipedia and the Flash docs.</p>
<p>One topic I wasn't able to find much documentation on was how to handle alpha channels for the various blend modes.  It gets complicated if both layers have transparency, and I'm not sure if there is a standardized way of computing the resulting alpha.  So for these examples the alpha is simply set to that of the input image.  This means that these blend modes work perfectly for opaque images, but vary from what you might see in photoshop when transparency is involved.  If anyone has any good resources on the topic or would like to contribute to this effort, let me know in the comments.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.rphelan.com/2009/05/19/pixel-bender-blend-modes/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>BendPixels</title>
		<link>http://www.rphelan.com/2008/11/24/bendpixels/</link>
		<comments>http://www.rphelan.com/2008/11/24/bendpixels/#comments</comments>
		<pubDate>Mon, 24 Nov 2008 15:04:02 +0000</pubDate>
		<dc:creator>Ryan</dc:creator>
				<category><![CDATA[Flex]]></category>
		<category><![CDATA[Pixel Bender]]></category>
		<category><![CDATA[Animation]]></category>
		<category><![CDATA[Effects]]></category>

		<guid isPermaLink="false">http://www.rphelan.com/?p=235</guid>
		<description><![CDATA[BendPixels is a library by Mrinal Wadhwa which makes it possible to tween Pixel Bender filters using Flex's mx.effects library.  I finally got a chance to play with this and it really is pretty cool.  You can check out a demo here.  It is capable of tweening arbitrary shaders, and has wrappers for several popular [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://code.google.com/p/bendpixels/">BendPixels</a> is a library by Mrinal Wadhwa which makes it possible to tween Pixel Bender filters using Flex's mx.effects library.  I finally got a chance to play with this and it really is pretty cool.  You can check out a demo <a href="http://weblog.mrinalwadhwa.com/demos/BendPixelsExample/index.html">here</a>.  It is capable of tweening arbitrary shaders, and has wrappers for several popular effects from Adobe's <a href="http://www.adobe.com/cfusion/exchange/index.cfm?event=productHome&amp;exc=26&amp;loc=en_us">Pixel Bender Exchange</a>.  I am flattered that my very own Zoom Blur effect has been included.</p>
<p>My only criticism is that Flex effects in general tend to have lackluster performance.  I frequently use libraries like <a href="http://blog.greensock.com/tweenliteas3/">TweenLite</a> instead.  Can TweenLite play nicely with Pixel Bender effects?  Of course.  I'll do an example of that sometime this week.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.rphelan.com/2008/11/24/bendpixels/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Spotlight Pixel Bender Filter</title>
		<link>http://www.rphelan.com/2008/10/28/spotlight-pixel-bender-filter/</link>
		<comments>http://www.rphelan.com/2008/10/28/spotlight-pixel-bender-filter/#comments</comments>
		<pubDate>Tue, 28 Oct 2008 15:18:53 +0000</pubDate>
		<dc:creator>Ryan</dc:creator>
				<category><![CDATA[Flex]]></category>
		<category><![CDATA[Pixel Bender]]></category>
		<category><![CDATA[Colored Lighting]]></category>
		<category><![CDATA[Effects]]></category>
		<category><![CDATA[Filters]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Lighting Effects]]></category>
		<category><![CDATA[Spotlight]]></category>

		<guid isPermaLink="false">http://www.rphelan.com/?p=219</guid>
		<description><![CDATA[This is an advanced filter which renders dynamic colored lighting on a display object in Flash.  Consider it a work in progress — It's not as full featured as Photoshop's "Lighting Effects" filter, but it is capable of creating a wide array of effects.  The kernel's main algorithm was ported from NVIDIA's Shader Library, but [...]]]></description>
			<content:encoded><![CDATA[<p>This is an advanced filter which renders dynamic colored lighting on a display object in Flash.  Consider it a work in progress — It's not as full featured as Photoshop's "Lighting Effects" filter, but it is capable of creating a wide array of effects.  The kernel's main algorithm was ported from <a href="http://developer.download.nvidia.com/shaderlibrary/webpages/shader_library.html">NVIDIA's Shader Library</a>, but I had to make some pretty heavy modifications to make it more functional for the Flash world.  It has 8 parameters:  ambientColor, angle, azimuth, coneAngle, distance, intensity, position, and spotColor.</p>
<ul>
<li>ambientColor - color to apply to all pixels of the image</li>
<li>angle - angle at which the spotlight is projected (in degrees)</li>
<li>azimuth - angle between the image plane and the spotlight (in degrees)</li>
<li>coneAngle - angle of the spotlight's "opening" (in degrees)</li>
<li>distance - distance from the spotlight to the center point</li>
<li>intensity - intensity of the spotlight</li>
<li>position - x, y, z position of the spotlight</li>
<li>spotColor - color of the spotlight</li>
</ul>
<p>There are so many different ways that you could use this effect, I will probably devote a few more posts to showing additional examples.  In this demo, I created a couple of draggable handles that you can use for positioning the spotlight, and some preset configurations (try the dawn, day, and dusk buttons).  Next time, I'll incorporate some animation.</p>
<p><a href="http://www.rphelan.com/flex/SpotlightDemo/SpotlightDemo.html">Application</a> - <a href="http://www.rphelan.com/flex/SpotlightDemo/srcview/index.html">Source</a></p>

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
			id="fm_SpotlightDemo_1170572687"
			class="flashmovie"
			width="420"
			height="600">
	<param name="movie" value="http://www.rphelan.com/flex/SpotlightDemo/SpotlightDemo.swf" />
	<!--[if !IE]>-->
	<object	type="application/x-shockwave-flash"
			data="http://www.rphelan.com/flex/SpotlightDemo/SpotlightDemo.swf"
			name="fm_SpotlightDemo_1170572687"
			width="420"
			height="600">
	<!--<![endif]-->
		
	<!--[if !IE]>-->
	</object>
	<!--<![endif]-->
</object>
]]></content:encoded>
			<wfw:commentRss>http://www.rphelan.com/2008/10/28/spotlight-pixel-bender-filter/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Magnify Pixel Bender Filter</title>
		<link>http://www.rphelan.com/2008/10/20/magnify-pixel-bender-filter/</link>
		<comments>http://www.rphelan.com/2008/10/20/magnify-pixel-bender-filter/#comments</comments>
		<pubDate>Mon, 20 Oct 2008 14:27:01 +0000</pubDate>
		<dc:creator>Ryan</dc:creator>
				<category><![CDATA[Flex]]></category>
		<category><![CDATA[Pixel Bender]]></category>
		<category><![CDATA[Effects]]></category>
		<category><![CDATA[Filters]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Magnify]]></category>

		<guid isPermaLink="false">http://www.rphelan.com/?p=200</guid>
		<description><![CDATA[The "Magnify" effect is an age old Flash trick that we used to accomplish using two images and some clever masking.  This pixel shader can achieve the same effect with less code, only 1 image, and has a few new tricks up its sleeve.  It magnifies a circular section of an image and optionally creates [...]]]></description>
			<content:encoded><![CDATA[<p>The "Magnify" effect is an age old Flash trick that we used to accomplish using two images and some clever masking.  This pixel shader can achieve the same effect with less code, only 1 image, and has a few new tricks up its sleeve.  It magnifies a circular section of an image and optionally creates a smooth transition between the magnified and unmagnified areas.  The four parameters are center, outerRadius, innerRadius, and magnification.</p>
<ul>
<li>center ([0-2048, 0-2048]) - the center coordinates of the magnified area</li>
<li>outerRadius (0-500) - the radius of the magnified part of the image</li>
<li>innerRadius (0-500) - the radius of the <em>fully </em>magnified part of the image</li>
<li>magnification (1-50) - the amount to magnify the image by (e.g. set to 2 for a 2x magnification)</li>
</ul>
<p><em>Note that the ranges specified above are just the recommendations from the .pbk file, you can set these values to whatever you want in your application.</em></p>
<p>Take some time and play around with the settings, it is possible to acheive a several different effects.  If innerRadius is 0, it creates a "bubble".  If it is higher than outerRadius, then you get a hard edged circle.  In this demo, I disabled values between 0 and 1 for magnification because they can create some strange side effects, but if you are careful you can use fractional magnifications to create a "pinch" type effect.</p>
<p><a href="http://www.rphelan.com/flex/MagnifyDemo/MagnifyDemo.html">Application</a> - <a href="http://www.rphelan.com/flex/MagnifyDemo/srcview/index.html">Source</a></p>

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
			id="fm_MagnifyDemo_213901419"
			class="flashmovie"
			width="450"
			height="475">
	<param name="movie" value="http://www.rphelan.com/flex/MagnifyDemo/MagnifyDemo.swf" />
	<!--[if !IE]>-->
	<object	type="application/x-shockwave-flash"
			data="http://www.rphelan.com/flex/MagnifyDemo/MagnifyDemo.swf"
			name="fm_MagnifyDemo_213901419"
			width="450"
			height="475">
	<!--<![endif]-->
		
	<!--[if !IE]>-->
	</object>
	<!--<![endif]-->
</object>
]]></content:encoded>
			<wfw:commentRss>http://www.rphelan.com/2008/10/20/magnify-pixel-bender-filter/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Zoom Blur Pixel Bender Filter</title>
		<link>http://www.rphelan.com/2008/10/17/zoom-blur-pixel-bender-filter/</link>
		<comments>http://www.rphelan.com/2008/10/17/zoom-blur-pixel-bender-filter/#comments</comments>
		<pubDate>Fri, 17 Oct 2008 15:58:16 +0000</pubDate>
		<dc:creator>Ryan</dc:creator>
				<category><![CDATA[Flex]]></category>
		<category><![CDATA[Pixel Bender]]></category>
		<category><![CDATA[Effects]]></category>
		<category><![CDATA[Filters]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Zoom Blur]]></category>

		<guid isPermaLink="false">http://www.rphelan.com/?p=187</guid>
		<description><![CDATA[Zoom Blur does a 15 level zoom and blur about a specified focus point, and could be very useful for transition effects.  Its two properties are amount and center. amount (0 - 0.5) - the amount of blur to apply center ([0 - 2048, 0 - 2048]) - the focal point of the blur Application [...]]]></description>
			<content:encoded><![CDATA[<p>Zoom Blur does a 15 level zoom and blur about a specified focus point, and could be very useful for transition effects.  Its two properties are amount and center.</p>
<ul>
<li>amount (0 - 0.5) - the amount of blur to apply</li>
<li>center ([0 - 2048, 0 - 2048]) - the focal point of the blur</li>
</ul>
<p><a href="http://www.rphelan.com/flex/ZoomBlurDemo/ZoomBlurDemo.html">Application</a> - <a href="http://www.rphelan.com/flex/ZoomBlurDemo/srcview/index.html">Source</a></p>
<p><em>*Note:  This application requires <a href="http://www.adobe.com/go/getflash">Flash Player 10</a></em></p>
<p><em>Photo courtesy of my talented and beautiful girlfriend, <a href="http://www.bregehrken.com">Bre Gehrken</a>.<br />
</em></p>

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
			id="fm_ZoomBlurDemo_2063756254"
			class="flashmovie"
			width="420"
			height="460">
	<param name="movie" value="http://www.rphelan.com/flex/ZoomBlurDemo/ZoomBlurDemo.swf" />
	<!--[if !IE]>-->
	<object	type="application/x-shockwave-flash"
			data="http://www.rphelan.com/flex/ZoomBlurDemo/ZoomBlurDemo.swf"
			name="fm_ZoomBlurDemo_2063756254"
			width="420"
			height="460">
	<!--<![endif]-->
		
	<!--[if !IE]>-->
	</object>
	<!--<![endif]-->
</object>
]]></content:encoded>
			<wfw:commentRss>http://www.rphelan.com/2008/10/17/zoom-blur-pixel-bender-filter/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
