<?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"
	>

<channel>
	<title>grow up</title>
	<atom:link href="http://growup.onecm.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://growup.onecm.com</link>
	<description>A project log and place for random thoughts.</description>
	<pubDate>Tue, 07 Oct 2008 09:32:44 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.1</generator>
	<language>en</language>
			<item>
		<title>Z-Sorted Sprites in 3d</title>
		<link>http://growup.onecm.com/2008/10/06/sprite3d/</link>
		<comments>http://growup.onecm.com/2008/10/06/sprite3d/#comments</comments>
		<pubDate>Tue, 07 Oct 2008 02:31:54 +0000</pubDate>
		<dc:creator>ryan</dc:creator>
		
		<category><![CDATA[code]]></category>

		<category><![CDATA[as3]]></category>

		<category><![CDATA[billboard]]></category>

		<category><![CDATA[flash]]></category>

		<category><![CDATA[papervision3d]]></category>

		<category><![CDATA[sprite]]></category>

		<guid isPermaLink="false">http://growup.onecm.com/?p=12</guid>
		<description><![CDATA[
On a recent job, I had a need for a 3d scene with lots of sprites. I decided to use Papervision3d but couldn't find an easy way of having an interactive sprite in the scene. There are classes for billboard planes, but that seemed like too much calculation. This means you can do anything you [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://growup.onecm.com/wp-content/uploads/2008/10/zberry1.jpg"><img src="http://growup.onecm.com/wp-content/uploads/2008/10/zberry1-297x300.jpg" alt="Sprite3D Z-Sorting" title="zberry" width="297" height="300" class="size-medium wp-image-25" /></a></p>
<p>On a recent job, I had a need for a 3d scene with lots of sprites. I decided to use Papervision3d but couldn't find an easy way of having an interactive sprite in the scene. There are classes for billboard planes, but that seemed like too much calculation. This means you can do anything you would normally do with a sprite, but in 2.5d.</p>
<p>The solution turned out to be pretty simple. Just use the screen.x, y and z variables in the DisplayObject3D class to align some sprites to their projected 3d locations, and then z-sort the whole lot of them.</p>
<ul>
<li>Works with Papervision3D 2.0 (GreatWhite)</li>
<li>The z-sorting for each SpriteGroup3D completely circumvents papervision's internal sorting so this won't work in conjunction with other types of scene objects (like polygons)</li>
</ul>
<p>Hopefully someone will find them useful =) View the rest of this post for the code.</p>
<p><span id="more-12"></span></p>
<h3>Sprite3D.as</h3>
<pre class="actionscript">package
<span style="color: #66cc66;">&#123;</span>
	<span style="color: #0066CC;">import</span> flash.<span style="color: #006600;">display</span>.<span style="color: #006600;">DisplayObjectContainer</span>;
&nbsp;
	<span style="color: #0066CC;">import</span> org.<span style="color: #006600;">papervision3d</span>.<span style="color: #006600;">core</span>.<span style="color: #006600;">proto</span>.<span style="color: #006600;">CameraObject3D</span>;
	<span style="color: #0066CC;">import</span> org.<span style="color: #006600;">papervision3d</span>.<span style="color: #006600;">core</span>.<span style="color: #006600;">render</span>.<span style="color: #0066CC;">data</span>.<span style="color: #006600;">RenderSessionData</span>;
	<span style="color: #0066CC;">import</span> org.<span style="color: #006600;">papervision3d</span>.<span style="color: #006600;">objects</span>.<span style="color: #006600;">DisplayObject3D</span>;
&nbsp;
	<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">class</span> Sprite3D <span style="color: #0066CC;">extends</span> DisplayObject3D
	<span style="color: #66cc66;">&#123;</span>
		<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">var</span> sprite :DisplayObjectContainer;
		<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">var</span> <span style="color: #0066CC;">camera</span> :CameraObject3D;
&nbsp;
		<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">var</span> group  :SpriteGroup3D;
&nbsp;
		<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> Sprite3D<span style="color: #66cc66;">&#40;</span>_sprite:DisplayObjectContainer<span style="color: #66cc66;">&#41;</span>
		<span style="color: #66cc66;">&#123;</span>
			sprite = _sprite;
&nbsp;
			autoCalcScreenCoords = <span style="color: #000000; font-weight: bold;">true</span>;
		<span style="color: #66cc66;">&#125;</span>
&nbsp;
		<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> addedToGroup<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>
		<span style="color: #66cc66;">&#123;</span>
			<span style="color: #808080; font-style: italic;">// Called when the sprite is added to a SpriteGroup3D</span>
		<span style="color: #66cc66;">&#125;</span>
&nbsp;
		<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> removedFromGroup<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>
		<span style="color: #66cc66;">&#123;</span>
			<span style="color: #808080; font-style: italic;">// Called when the sprite is removed from a SpriteGroup3D</span>
		<span style="color: #66cc66;">&#125;</span>
&nbsp;
		<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> preProject<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>
		<span style="color: #66cc66;">&#123;</span>
			<span style="color: #808080; font-style: italic;">// Do things before projection</span>
		<span style="color: #66cc66;">&#125;</span>
&nbsp;
		<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> postProject<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>
		<span style="color: #66cc66;">&#123;</span>
			<span style="color: #808080; font-style: italic;">// Do things after projection</span>
		<span style="color: #66cc66;">&#125;</span>
&nbsp;
		override <span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> project<span style="color: #66cc66;">&#40;</span>parent:DisplayObject3D, renderSessionData:RenderSessionData<span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">Number</span>
		<span style="color: #66cc66;">&#123;</span>
			<span style="color: #0066CC;">camera</span> = renderSessionData.<span style="color: #0066CC;">camera</span>;
&nbsp;
			preProject<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
			<span style="color: #0066CC;">super</span>.<span style="color: #006600;">project</span><span style="color: #66cc66;">&#40;</span>parent, renderSessionData<span style="color: #66cc66;">&#41;</span>;
&nbsp;
			<span style="color: #808080; font-style: italic;">// Set the sprite position and scale</span>
&nbsp;
			sprite.<span style="color: #006600;">x</span> = <span style="color: #0066CC;">this</span>.<span style="color: #006600;">screen</span>.<span style="color: #006600;">x</span>;
			sprite.<span style="color: #006600;">y</span> = <span style="color: #0066CC;">this</span>.<span style="color: #006600;">screen</span>.<span style="color: #006600;">y</span>;
&nbsp;
			<span style="color: #000000; font-weight: bold;">var</span> scale:<span style="color: #0066CC;">Number</span> = <span style="color: #0066CC;">camera</span>.<span style="color: #006600;">focus</span> * <span style="color: #0066CC;">camera</span>.<span style="color: #006600;">zoom</span> / <span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">camera</span>.<span style="color: #006600;">zoom</span> + screen.<span style="color: #006600;">z</span><span style="color: #66cc66;">&#41;</span>;
			sprite.<span style="color: #006600;">scaleX</span> = sprite.<span style="color: #006600;">scaleY</span> = scale;
&nbsp;
			postProject<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
			<span style="color: #b1b100;">return</span> <span style="color: #0066CC;">this</span>.<span style="color: #006600;">screenZ</span>;
		<span style="color: #66cc66;">&#125;</span>
&nbsp;
		<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> suicide<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>
		<span style="color: #66cc66;">&#123;</span>
			<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span>group<span style="color: #66cc66;">&#41;</span>
				group.<span style="color: #006600;">removeChild</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">this</span><span style="color: #66cc66;">&#41;</span>;
		<span style="color: #66cc66;">&#125;</span>
	<span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span>
&nbsp;</pre>
<h3>SpriteGroup3D.as</h3>
<pre class="actionscript">package
<span style="color: #66cc66;">&#123;</span>
	<span style="color: #0066CC;">import</span> flash.<span style="color: #006600;">display</span>.<span style="color: #006600;">Sprite</span>;
&nbsp;
	<span style="color: #0066CC;">import</span> org.<span style="color: #006600;">papervision3d</span>.<span style="color: #006600;">core</span>.<span style="color: #006600;">render</span>.<span style="color: #0066CC;">data</span>.<span style="color: #006600;">RenderSessionData</span>;
	<span style="color: #0066CC;">import</span> org.<span style="color: #006600;">papervision3d</span>.<span style="color: #006600;">objects</span>.<span style="color: #006600;">DisplayObject3D</span>;
&nbsp;
	<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">class</span> SpriteGroup3D <span style="color: #0066CC;">extends</span> DisplayObject3D
	<span style="color: #66cc66;">&#123;</span>
		<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">var</span> sprites         :<span style="color: #0066CC;">Array</span>;
		<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">var</span> spriteContainer :Sprite;
&nbsp;
		<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> SpriteGroup3D<span style="color: #66cc66;">&#40;</span>_spriteContainer:Sprite<span style="color: #66cc66;">&#41;</span>
		<span style="color: #66cc66;">&#123;</span>
			spriteContainer = _spriteContainer;
			sprites = <span style="color: #66cc66;">&#91;</span><span style="color: #66cc66;">&#93;</span>;
		<span style="color: #66cc66;">&#125;</span>
&nbsp;
		override <span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> addChild<span style="color: #66cc66;">&#40;</span>child:DisplayObject3D, <span style="color: #0066CC;">name</span>:<span style="color: #0066CC;">String</span>=<span style="color: #000000; font-weight: bold;">null</span><span style="color: #66cc66;">&#41;</span>:DisplayObject3D
		<span style="color: #66cc66;">&#123;</span>
			<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span>child is Sprite3D<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
				<span style="color: #000000; font-weight: bold;">var</span> c3d:Sprite3D = child as Sprite3D;
				c3d.<span style="color: #006600;">group</span> = <span style="color: #0066CC;">this</span>;
				c3d.<span style="color: #006600;">addedToGroup</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
			<span style="color: #66cc66;">&#125;</span>
&nbsp;
			<span style="color: #b1b100;">return</span> <span style="color: #0066CC;">super</span>.<span style="color: #006600;">addChild</span><span style="color: #66cc66;">&#40;</span>child, <span style="color: #0066CC;">name</span><span style="color: #66cc66;">&#41;</span>;
		<span style="color: #66cc66;">&#125;</span>
&nbsp;
		override <span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> removeChild<span style="color: #66cc66;">&#40;</span>child:DisplayObject3D<span style="color: #66cc66;">&#41;</span>:DisplayObject3D
		<span style="color: #66cc66;">&#123;</span>
			<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span>child is Sprite3D<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
				<span style="color: #000000; font-weight: bold;">var</span> c3d:Sprite3D = child as Sprite3D;
				<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span>spriteContainer.<span style="color: #006600;">contains</span><span style="color: #66cc66;">&#40;</span>c3d.<span style="color: #006600;">sprite</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>
					spriteContainer.<span style="color: #006600;">removeChild</span><span style="color: #66cc66;">&#40;</span>c3d.<span style="color: #006600;">sprite</span><span style="color: #66cc66;">&#41;</span>;
				c3d.<span style="color: #006600;">group</span> = <span style="color: #000000; font-weight: bold;">null</span>;
				c3d.<span style="color: #006600;">removedFromGroup</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
			<span style="color: #66cc66;">&#125;</span>
&nbsp;
			<span style="color: #b1b100;">return</span> <span style="color: #0066CC;">super</span>.<span style="color: #006600;">removeChild</span><span style="color: #66cc66;">&#40;</span>child<span style="color: #66cc66;">&#41;</span>;
		<span style="color: #66cc66;">&#125;</span>
&nbsp;
		override <span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> project<span style="color: #66cc66;">&#40;</span>parent:DisplayObject3D, renderSessionData:RenderSessionData<span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">Number</span>
		<span style="color: #66cc66;">&#123;</span>
			<span style="color: #0066CC;">super</span>.<span style="color: #006600;">project</span><span style="color: #66cc66;">&#40;</span>parent, renderSessionData<span style="color: #66cc66;">&#41;</span>;
&nbsp;
			<span style="color: #808080; font-style: italic;">// Z-Sort the sprites</span>
&nbsp;
			sprites = <span style="color: #66cc66;">&#91;</span><span style="color: #66cc66;">&#93;</span>;
			<span style="color: #b1b100;">for</span> each<span style="color: #66cc66;">&#40;</span><span style="color: #000000; font-weight: bold;">var</span> obj:DisplayObject3D <span style="color: #b1b100;">in</span> children<span style="color: #66cc66;">&#41;</span>
				<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span>obj is Sprite3D<span style="color: #66cc66;">&#41;</span>
					sprites.<span style="color: #0066CC;">push</span><span style="color: #66cc66;">&#40;</span>obj<span style="color: #66cc66;">&#41;</span>;
			sprites.<span style="color: #0066CC;">sort</span><span style="color: #66cc66;">&#40;</span>zSort<span style="color: #66cc66;">&#41;</span>;
&nbsp;
			<span style="color: #b1b100;">for</span> each<span style="color: #66cc66;">&#40;</span><span style="color: #000000; font-weight: bold;">var</span> s3d:Sprite3D <span style="color: #b1b100;">in</span> sprites<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
				<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span>spriteContainer.<span style="color: #006600;">contains</span><span style="color: #66cc66;">&#40;</span>s3d.<span style="color: #006600;">sprite</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>
					spriteContainer.<span style="color: #006600;">setChildIndex</span><span style="color: #66cc66;">&#40;</span>s3d.<span style="color: #006600;">sprite</span>, <span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span>;
				<span style="color: #b1b100;">else</span>
					spriteContainer.<span style="color: #006600;">addChildAt</span><span style="color: #66cc66;">&#40;</span>s3d.<span style="color: #006600;">sprite</span>, <span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span>;
			<span style="color: #66cc66;">&#125;</span>
&nbsp;
			<span style="color: #b1b100;">return</span> screenZ;
		<span style="color: #66cc66;">&#125;</span>
&nbsp;
		<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> zSort<span style="color: #66cc66;">&#40;</span>a:Sprite3D, b:Sprite3D<span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">int</span>
		<span style="color: #66cc66;">&#123;</span>
			<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span>a.<span style="color: #006600;">screen</span>.<span style="color: #006600;">z</span> &gt; b.<span style="color: #006600;">screen</span>.<span style="color: #006600;">z</span><span style="color: #66cc66;">&#41;</span> <span style="color: #b1b100;">return</span> <span style="color: #cc66cc;">1</span>;
			<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span>a.<span style="color: #006600;">screen</span>.<span style="color: #006600;">z</span> &lt; b.<span style="color: #006600;">screen</span>.<span style="color: #006600;">z</span><span style="color: #66cc66;">&#41;</span> <span style="color: #b1b100;">return</span> <span style="color: #cc66cc;">-1</span>;
			<span style="color: #b1b100;">return</span> <span style="color: #cc66cc;">0</span>;
		<span style="color: #66cc66;">&#125;</span>
	<span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span>
&nbsp;</pre>
]]></content:encoded>
			<wfw:commentRss>http://growup.onecm.com/2008/10/06/sprite3d/feed/</wfw:commentRss>
		</item>
		<item>
		<title>one sf night</title>
		<link>http://growup.onecm.com/2008/07/14/one-sf-night/</link>
		<comments>http://growup.onecm.com/2008/07/14/one-sf-night/#comments</comments>
		<pubDate>Mon, 14 Jul 2008 23:53:06 +0000</pubDate>
		<dc:creator>ryan</dc:creator>
		
		<category><![CDATA[artwork]]></category>

		<category><![CDATA[painting]]></category>

		<category><![CDATA[drawing]]></category>

		<guid isPermaLink="false">http://growup.onecm.com/?p=14</guid>
		<description><![CDATA[
Photo and Photoshop, 2007
]]></description>
			<content:encoded><![CDATA[<p><a href="http://growup.onecm.com/wp-content/uploads/2008/07/roof_pano.jpg"><img class="alignnone size-medium wp-image-13" title="roof_fog" src="http://growup.onecm.com/wp-content/uploads/2008/07/roof_pano-450x48.jpg" alt="" width="450" height="48" /></a></p>
<p>Photo and Photoshop, 2007</p>
]]></content:encoded>
			<wfw:commentRss>http://growup.onecm.com/2008/07/14/one-sf-night/feed/</wfw:commentRss>
		</item>
		<item>
		<title>MeshWalk FrameBuffer</title>
		<link>http://growup.onecm.com/2008/05/26/meshwalk-framebuffer/</link>
		<comments>http://growup.onecm.com/2008/05/26/meshwalk-framebuffer/#comments</comments>
		<pubDate>Mon, 26 May 2008 20:04:03 +0000</pubDate>
		<dc:creator>ryan</dc:creator>
		
		<category><![CDATA[experiment]]></category>

		<category><![CDATA[meshwalk]]></category>

		<category><![CDATA[processing]]></category>

		<guid isPermaLink="false">http://growup.onecm.com/?p=10</guid>
		<description><![CDATA[

Just posted a couple videos to Flickr. I've been playing with using Frame Buffer Objects in GL as a way to draw dynamically to a surface. I'm pretty happy with the result. Drawing to a 1024 x 1024 texture is very fast. Go GL!
]]></description>
			<content:encoded><![CDATA[<p><object type="application/x-shockwave-flash" width="450" height="281" data="http://www.flickr.com/apps/video/stewart.swf?v=49235" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"><param name="flashvars" value="intl_lang=en-us&amp;photo_secret=85d585a1a8&amp;photo_id=2523843582"></param><param name="movie" value="http://www.flickr.com/apps/video/stewart.swf?v=49235"></param><param name="bgcolor" value="#000000"></param><param name="allowFullScreen" value="true"></param><embed type="application/x-shockwave-flash" src="http://www.flickr.com/apps/video/stewart.swf?v=49235" bgcolor="#000000" allowfullscreen="true" flashvars="intl_lang=en-us&amp;photo_secret=85d585a1a8&amp;photo_id=2523843582" height="281" width="450"></embed></object></p>
<p><object type="application/x-shockwave-flash" width="450" height="281" data="http://www.flickr.com/apps/video/stewart.swf?v=49235" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"><param name="flashvars" value="intl_lang=en-us&amp;photo_secret=4a945a4ab3&amp;photo_id=2522487497"></param><param name="movie" value="http://www.flickr.com/apps/video/stewart.swf?v=49235"></param><param name="bgcolor" value="#000000"></param><param name="allowFullScreen" value="true"></param><embed type="application/x-shockwave-flash" src="http://www.flickr.com/apps/video/stewart.swf?v=49235" bgcolor="#000000" allowfullscreen="true" flashvars="intl_lang=en-us&amp;photo_secret=4a945a4ab3&amp;photo_id=2522487497" height="281" width="450"></embed></object></p>
<p>Just posted a couple videos to Flickr. I've been playing with using Frame Buffer Objects in GL as a way to draw dynamically to a surface. I'm pretty happy with the result. Drawing to a 1024 x 1024 texture is very fast. Go GL!</p>
]]></content:encoded>
			<wfw:commentRss>http://growup.onecm.com/2008/05/26/meshwalk-framebuffer/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Projection Transform</title>
		<link>http://growup.onecm.com/2008/05/26/projection-transform/</link>
		<comments>http://growup.onecm.com/2008/05/26/projection-transform/#comments</comments>
		<pubDate>Mon, 26 May 2008 19:39:04 +0000</pubDate>
		<dc:creator>ryan</dc:creator>
		
		<category><![CDATA[code]]></category>

		<category><![CDATA[java]]></category>

		<category><![CDATA[processing]]></category>

		<guid isPermaLink="false">http://growup.onecm.com/?p=9</guid>
		<description><![CDATA[A few weeks ago Robert Hodgin of flight404 posed a question to the OooShiny group. You've probably already seen the LASER Tag project by Graffiti Research Lab.
So if you want to do something similar in Processing, the first thing you need to do is transform the point on your surface (building, wall, etc) to a [...]]]></description>
			<content:encoded><![CDATA[<p>A few weeks ago Robert Hodgin of <a href="http://flight404.com">flight404</a> posed a question to the OooShiny group. You've probably already seen the <a href="http://muonics.net/blog/index.php?postid=15">LASER Tag</a> project by Graffiti Research Lab.</p>
<p>So if you want to do something similar in Processing, the first thing you need to do is transform the point on your surface (building, wall, etc) to a point on your texture. After a lot of valiant help from <a href="http://www.keithpasko.com/">Keith</a>, the math was still confusing me. Then I stumbled on the PerspectiveTransform class. Given 4 points unTransformQuad() will map any value inside to a point on a unit (0 to 1) square. Anyway, I hope this helps someone =)</p>
<p><span id="more-9"></span></p>
<pre class="java"><span style="color: #808080; font-style: italic;">// Try 2 Tri 2 Try = TryanGLE</span>
&nbsp;
<span style="color: #a1a100;">import javax.media.jai.PerspectiveTransform;</span>
<span style="color: #a1a100;">import java.awt.geom.Point2D;</span>
&nbsp;
Vert vtx<span style="color: #66cc66;">&#91;</span><span style="color: #66cc66;">&#93;</span> = <span style="color: #000000; font-weight: bold;">new</span> Vert<span style="color: #66cc66;">&#91;</span><span style="color: #cc66cc;">4</span><span style="color: #66cc66;">&#93;</span>;
Vert pnt, tpnt;
&nbsp;
<span style="color: #993333;">void</span> setup<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>
<span style="color: #66cc66;">&#123;</span>
  size<span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">500</span>,<span style="color: #cc66cc;">500</span>, P3D<span style="color: #66cc66;">&#41;</span>;
  ellipseMode<span style="color: #66cc66;">&#40;</span>CENTER<span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span>
&nbsp;
<span style="color: #993333;">void</span> draw<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>
<span style="color: #66cc66;">&#123;</span>
  background<span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span>;
  stroke<span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">255</span>,<span style="color: #cc66cc;">255</span>,<span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span>;
  noFill<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
  beginShape<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
  <span style="color: #b1b100;">for</span><span style="color: #66cc66;">&#40;</span><span style="color: #993333;">int</span> i=<span style="color: #cc66cc;">0</span>; i&lt;vtx.<span style="color: #006600;">length</span>; i++<span style="color: #66cc66;">&#41;</span>
    <span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span>vtx<span style="color: #66cc66;">&#91;</span>i<span style="color: #66cc66;">&#93;</span>!=<span style="color: #000000; font-weight: bold;">null</span><span style="color: #66cc66;">&#41;</span>
      vertex<span style="color: #66cc66;">&#40;</span>vtx<span style="color: #66cc66;">&#91;</span>i<span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">x</span>, vtx<span style="color: #66cc66;">&#91;</span>i<span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">y</span>, vtx<span style="color: #66cc66;">&#91;</span>i<span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">z</span><span style="color: #66cc66;">&#41;</span>;
  endShape<span style="color: #66cc66;">&#40;</span>CLOSE<span style="color: #66cc66;">&#41;</span>;
&nbsp;
  <span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span>pnt!=<span style="color: #000000; font-weight: bold;">null</span> &amp;&amp; clicks==<span style="color: #cc66cc;">4</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
    stroke<span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">255</span><span style="color: #66cc66;">&#41;</span>;
    line<span style="color: #66cc66;">&#40;</span>pnt.<span style="color: #006600;">x</span><span style="color: #cc66cc;">-5</span>,pnt.<span style="color: #006600;">y</span>, pnt.<span style="color: #006600;">x</span><span style="color: #cc66cc;">+5</span>,pnt.<span style="color: #006600;">y</span><span style="color: #66cc66;">&#41;</span>;
    line<span style="color: #66cc66;">&#40;</span>pnt.<span style="color: #006600;">x</span>,pnt.<span style="color: #006600;">y</span><span style="color: #cc66cc;">-5</span>, pnt.<span style="color: #006600;">x</span>,pnt.<span style="color: #006600;">y</span><span style="color: #cc66cc;">+5</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
    <span style="color: #808080; font-style: italic;">// here is the real calculation</span>
    tpnt = unTransformQuad<span style="color: #66cc66;">&#40;</span>pnt, vtx<span style="color: #66cc66;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#93;</span>, vtx<span style="color: #66cc66;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#93;</span>, vtx<span style="color: #66cc66;">&#91;</span><span style="color: #cc66cc;">2</span><span style="color: #66cc66;">&#93;</span>, vtx<span style="color: #66cc66;">&#91;</span><span style="color: #cc66cc;">3</span><span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
    stroke<span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">128</span>,<span style="color: #cc66cc;">255</span><span style="color: #66cc66;">&#41;</span>;
    line<span style="color: #66cc66;">&#40;</span>tpnt.<span style="color: #006600;">x</span><span style="color: #cc66cc;">-5</span>,tpnt.<span style="color: #006600;">y</span>, tpnt.<span style="color: #006600;">x</span><span style="color: #cc66cc;">+5</span>,tpnt.<span style="color: #006600;">y</span><span style="color: #66cc66;">&#41;</span>;
    line<span style="color: #66cc66;">&#40;</span>tpnt.<span style="color: #006600;">x</span>,tpnt.<span style="color: #006600;">y</span><span style="color: #cc66cc;">-5</span>, tpnt.<span style="color: #006600;">x</span>,tpnt.<span style="color: #006600;">y</span><span style="color: #cc66cc;">+5</span><span style="color: #66cc66;">&#41;</span>;
  <span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span>
&nbsp;
<span style="color: #993333;">int</span> clicks = <span style="color: #cc66cc;">0</span>;
<span style="color: #993333;">void</span> mousePressed<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>
<span style="color: #66cc66;">&#123;</span>
  <span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span>clicks &lt; <span style="color: #cc66cc;">4</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
    vtx<span style="color: #66cc66;">&#91;</span>clicks++<span style="color: #66cc66;">&#93;</span> = <span style="color: #000000; font-weight: bold;">new</span> Vert<span style="color: #66cc66;">&#40;</span>mouseX,mouseY,<span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span>;
  <span style="color: #66cc66;">&#125;</span>
  <span style="color: #b1b100;">else</span> <span style="color: #66cc66;">&#123;</span>
    pnt = <span style="color: #000000; font-weight: bold;">new</span> Vert<span style="color: #66cc66;">&#40;</span>mouseX,mouseY,<span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span>;
  <span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span>
<span style="color: #993333;">void</span> mouseDragged<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>
<span style="color: #66cc66;">&#123;</span>
  <span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span>clicks==<span style="color: #cc66cc;">4</span><span style="color: #66cc66;">&#41;</span> pnt = <span style="color: #000000; font-weight: bold;">new</span> Vert<span style="color: #66cc66;">&#40;</span>mouseX,mouseY,<span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span>
<span style="color: #993333;">void</span> keyPressed<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>
<span style="color: #66cc66;">&#123;</span>
  clicks = <span style="color: #cc66cc;">0</span>;
  vtx = <span style="color: #000000; font-weight: bold;">new</span> Vert<span style="color: #66cc66;">&#91;</span><span style="color: #cc66cc;">4</span><span style="color: #66cc66;">&#93;</span>;
<span style="color: #66cc66;">&#125;</span>
&nbsp;
Vert unTransformQuad<span style="color: #66cc66;">&#40;</span>Vert pnt, Vert a, Vert b, Vert c, Vert d<span style="color: #66cc66;">&#41;</span>
<span style="color: #66cc66;">&#123;</span>
  PerspectiveTransform persp = PerspectiveTransform.<span style="color: #006600;">getQuadToSquare</span><span style="color: #66cc66;">&#40;</span>
    a.<span style="color: #006600;">x</span>, a.<span style="color: #006600;">y</span>,
    b.<span style="color: #006600;">x</span>, b.<span style="color: #006600;">y</span>,
    c.<span style="color: #006600;">x</span>, c.<span style="color: #006600;">y</span>,
    d.<span style="color: #006600;">x</span>, d.<span style="color: #006600;">y</span>
  <span style="color: #66cc66;">&#41;</span>;
&nbsp;
  <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3APoint2D+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #aaaadd; font-weight: bold;">Point2D</span></a> p2d = persp.<span style="color: #006600;">transform</span><span style="color: #66cc66;">&#40;</span><span style="color: #000000; font-weight: bold;">new</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3APoint2D+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #aaaadd; font-weight: bold;">Point2D</span></a>.<a href="http://www.google.com/search?hl=en&amp;q=allinurl%3ADouble+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #aaaadd; font-weight: bold;">Double</span></a><span style="color: #66cc66;">&#40;</span>pnt.<span style="color: #006600;">x</span>,pnt.<span style="color: #006600;">y</span><span style="color: #66cc66;">&#41;</span>, <span style="color: #000000; font-weight: bold;">null</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
  <span style="color: #000000; font-weight: bold;">return</span> <span style="color: #000000; font-weight: bold;">new</span> Vert<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#40;</span><span style="color: #993333;">float</span><span style="color: #66cc66;">&#41;</span>p2d.<span style="color: #006600;">getX</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> * width, <span style="color: #66cc66;">&#40;</span><span style="color: #993333;">float</span><span style="color: #66cc66;">&#41;</span>p2d.<span style="color: #006600;">getY</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> * height, <span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">class</span> Vert
<span style="color: #66cc66;">&#123;</span>
  <span style="color: #993333;">float</span> x, y, z;
&nbsp;
  Vert<span style="color: #66cc66;">&#40;</span><span style="color: #993333;">float</span> _x, <span style="color: #993333;">float</span> _y, <span style="color: #993333;">float</span> _z<span style="color: #66cc66;">&#41;</span>
  <span style="color: #66cc66;">&#123;</span>
    x = _x; y = _y; z = _z;
  <span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">class</span> Vector3
<span style="color: #66cc66;">&#123;</span>
  <span style="color: #993333;">float</span> x, y, z;
&nbsp;
  Vector3<span style="color: #66cc66;">&#40;</span><span style="color: #993333;">float</span> _x, <span style="color: #993333;">float</span> _y, <span style="color: #993333;">float</span> _z<span style="color: #66cc66;">&#41;</span>
  <span style="color: #66cc66;">&#123;</span>
    x = _x; y = _y; z = _z;
  <span style="color: #66cc66;">&#125;</span>
&nbsp;
  <span style="color: #993333;">float</span> mag<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>
  <span style="color: #66cc66;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">return</span> sqrt<span style="color: #66cc66;">&#40;</span>x*x + y*y + z*z<span style="color: #66cc66;">&#41;</span>;
  <span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span></pre>
]]></content:encoded>
			<wfw:commentRss>http://growup.onecm.com/2008/05/26/projection-transform/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Graphics Gems II</title>
		<link>http://growup.onecm.com/2008/01/08/graphics-gems-ii/</link>
		<comments>http://growup.onecm.com/2008/01/08/graphics-gems-ii/#comments</comments>
		<pubDate>Tue, 08 Jan 2008 19:51:46 +0000</pubDate>
		<dc:creator>ryan</dc:creator>
		
		<category><![CDATA[book]]></category>

		<category><![CDATA[code]]></category>

		<guid isPermaLink="false">http://growup.onecm.com/2008/01/08/graphics-gems-ii/</guid>
		<description><![CDATA[Last night while browsing around looking for a better implementation of Xiaolin Wu's line drawing algorithm, I stumbled on (err.. explicitly searched for) a .pdf copy of the 1994 book Graphics Gems II. I found one here (direct link below). I think this is the wrong book for the line drawing algorithm but there's a [...]]]></description>
			<content:encoded><![CDATA[<p>Last night while browsing around looking for a better implementation of Xiaolin Wu's line drawing algorithm, I stumbled on (err.. explicitly searched for) a .pdf copy of the 1994 book Graphics Gems II. I found one <a href="http://palgraphicsarea.blogspot.com/2007/11/graphics-gems-ii.html">here</a> (direct link below). I think this is the wrong book for the line drawing algorithm but there's a ton of other useful stuff inside.</p>
<p><a href="http://rapidshare.com/files/66501512/JArvoGraphicsGemsII.rar">RapidShare .pdf</a></p>
]]></content:encoded>
			<wfw:commentRss>http://growup.onecm.com/2008/01/08/graphics-gems-ii/feed/</wfw:commentRss>
		</item>
		<item>
		<title>is it love?</title>
		<link>http://growup.onecm.com/2007/12/07/is-it-love/</link>
		<comments>http://growup.onecm.com/2007/12/07/is-it-love/#comments</comments>
		<pubDate>Fri, 07 Dec 2007 21:10:38 +0000</pubDate>
		<dc:creator>ryan</dc:creator>
		
		<category><![CDATA[ascii]]></category>

		<category><![CDATA[design]]></category>

		<guid isPermaLink="false">http://growup.onecm.com/2007/12/07/is-it-love/</guid>
		<description><![CDATA[&#160;&#160;&#160;///\&#160;&#160;&#160;&#160;///\
&#160;&#160;//&#160;&#160;/\&#160;&#160;//&#160;&#160;/\
&#160;//&#160;&#160;&#160;&#160;/\//&#160;&#160;&#160;&#160;/\
//&#160;&#160;&#160;&#160;&#160;&#160;/\&#160;&#160;&#160;&#160;&#160;&#160;/\
//&#160;&#160;&#160;x&#160;&#160;&#160;&#160;&#160;&#160;x&#160;&#160;&#160;//
&#160;//&#160;&#160;&#160;&#160;&#160;..&#160;&#160;&#160;&#160;&#160;//
&#160;&#160;//&#160;&#160;&#160;____&#160;&#160;&#160;//&#160;&#160;&#160;&#160;&#160;xx
&#160;&#160;&#160;//&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;//&#160;&#160;&#160;&#160;&#160;x..x
&#160;&#160;&#160;&#160;//&#160;&#160;&#160;&#160;&#160;&#160;//&#160;&#160;&#160;&#160;&#160;x.&#160;&#160;.x
&#160;&#160;&#160;//\\&#160;&#160;&#160;&#160;//\\&#160;&#160;&#160;&#160;x.&#160;&#160;.x
&#160;&#160;//&#160;&#160;\\&#160;&#160;//&#160;&#160;\\&#160;&#160;&#160;&#160;&#160;&#160;.x
&#160;//&#160;&#160;&#160;&#160;\\//&#160;&#160;&#160;&#160;\\&#160;&#160;&#160;&#160;.x
//\&#160;&#160;&#160;&#160;&#160;\/&#160;&#160;&#160;&#160;&#160;/\\&#160;&#160;&#160;.x
&#160;&#160;&#160;&#160;&#160;&#160;&#160;//\\
&#160;&#160;&#160;&#160;&#160;&#160;//&#160;&#160;\\&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;xx
&#160;&#160;&#160;///\&#160;&#160;&#160;&#160;/\\\&#160;&#160;&#160;&#160;&#160;&#160;xx
]]></description>
			<content:encoded><![CDATA[<p><code>&nbsp;&nbsp;&nbsp;///\&nbsp;&nbsp;&nbsp;&nbsp;///\<br />
&nbsp;&nbsp;//&nbsp;&nbsp;/\&nbsp;&nbsp;//&nbsp;&nbsp;/\<br />
&nbsp;//&nbsp;&nbsp;&nbsp;&nbsp;/\//&nbsp;&nbsp;&nbsp;&nbsp;/\<br />
//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/\&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/\<br />
//&nbsp;&nbsp;&nbsp;x&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;x&nbsp;&nbsp;&nbsp;//<br />
&nbsp;//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;..&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//<br />
&nbsp;&nbsp;//&nbsp;&nbsp;&nbsp;____&nbsp;&nbsp;&nbsp;//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;xx<br />
&nbsp;&nbsp;&nbsp;//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;x..x<br />
&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;x.&nbsp;&nbsp;.x<br />
&nbsp;&nbsp;&nbsp;//\\&nbsp;&nbsp;&nbsp;&nbsp;//\\&nbsp;&nbsp;&nbsp;&nbsp;x.&nbsp;&nbsp;.x<br />
&nbsp;&nbsp;//&nbsp;&nbsp;\\&nbsp;&nbsp;//&nbsp;&nbsp;\\&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.x<br />
&nbsp;//&nbsp;&nbsp;&nbsp;&nbsp;\\//&nbsp;&nbsp;&nbsp;&nbsp;\\&nbsp;&nbsp;&nbsp;&nbsp;.x<br />
//\&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/\\&nbsp;&nbsp;&nbsp;.x<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//\\<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;&nbsp;\\&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;xx<br />
&nbsp;&nbsp;&nbsp;///\&nbsp;&nbsp;&nbsp;&nbsp;/\\\&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;xx</code></p>
]]></content:encoded>
			<wfw:commentRss>http://growup.onecm.com/2007/12/07/is-it-love/feed/</wfw:commentRss>
		</item>
		<item>
		<title>commentyeti</title>
		<link>http://growup.onecm.com/2007/11/26/5/</link>
		<comments>http://growup.onecm.com/2007/11/26/5/#comments</comments>
		<pubDate>Mon, 26 Nov 2007 22:49:17 +0000</pubDate>
		<dc:creator>ryan</dc:creator>
		
		<category><![CDATA[ascii]]></category>

		<category><![CDATA[code]]></category>

		<category><![CDATA[design]]></category>

		<guid isPermaLink="false">http://growup.onecm.com/?p=5</guid>
		<description><![CDATA[&#160;&#160;&#160;&#160;&#160;&#160;&#160;//\\\&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;_
&#160;&#160;&#160;&#160;&#160;//.\\.\\\&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#124;&#160;&#124;
&#160;&#160;&#160;//\\\\\\\\\\\&#160;&#160;&#160;&#160;&#160;&#124;&#160;&#124;
&#160;&#160;&#160;/////////////&#160;&#160;&#160;_\&#124;&#160;&#124;/
&#160;&#160;&#160;&#160;//\\\////&#160;&#160;&#160;&#160;/\\\/\///
&#160;&#160;&#160;&#160;&#160;&#160;&#160;/////&#160;&#160;&#160;&#160;&#160;&#160;\\\\\///
&#160;&#160;&#160;&#160;////\\\\\\\&#160;&#160;&#160;&#160;&#124;&#124;\&#124;&#124;/
&#160;&#160;&#160;//////\\\/\\\&#160;&#160;&#160;&#124;&#124;\&#124;&#124;/
&#160;&#160;//\/////\/\\\\\&#160;&#160;&#124;&#124;\&#124;&#124;/
&#160;&#160;//\\\//\\//\\\\\/&#124;&#124;//
&#160;&#160;//\\////\\//\\\\////
&#160;&#160;//\///\\\\///\\\///
&#160;&#160;//\\///\\///\\
&#160;&#160;//\\\///\\//\\
&#160;&#160;//\\\\//\////\
&#160;&#160;&#160;&#160;//\\////\\\\
&#160;&#160;&#160;&#160;///\\&#160;&#160;///\\
&#160;&#160;&#160;&#160;//\\\&#160;&#160;//\\\
&#160;&#160;&#160;&#160;///\\&#160;&#160;///\\
&#160;&#160;&#160;&#160;///\\&#160;&#160;//\\\
&#160;&#160;////\\/&#160;&#160;/\/\\\\
copy and paste
]]></description>
			<content:encoded><![CDATA[<p><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//\\\&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//.\\.\\\&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;|<br />
&nbsp;&nbsp;&nbsp;//\\\\\\\\\\\&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;|<br />
&nbsp;&nbsp;&nbsp;/////////////&nbsp;&nbsp;&nbsp;_\|&nbsp;|/<br />
&nbsp;&nbsp;&nbsp;&nbsp;//\\\////&nbsp;&nbsp;&nbsp;&nbsp;/\\\/\///<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/////&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\\\\\///<br />
&nbsp;&nbsp;&nbsp;&nbsp;////\\\\\\\&nbsp;&nbsp;&nbsp;&nbsp;||\||/<br />
&nbsp;&nbsp;&nbsp;//////\\\/\\\&nbsp;&nbsp;&nbsp;||\||/<br />
&nbsp;&nbsp;//\/////\/\\\\\&nbsp;&nbsp;||\||/<br />
&nbsp;&nbsp;//\\\//\\//\\\\\/||//<br />
&nbsp;&nbsp;//\\////\\//\\\\////<br />
&nbsp;&nbsp;//\///\\\\///\\\///<br />
&nbsp;&nbsp;//\\///\\///\\<br />
&nbsp;&nbsp;//\\\///\\//\\<br />
&nbsp;&nbsp;//\\\\//\////\<br />
&nbsp;&nbsp;&nbsp;&nbsp;//\\////\\\\<br />
&nbsp;&nbsp;&nbsp;&nbsp;///\\&nbsp;&nbsp;///\\<br />
&nbsp;&nbsp;&nbsp;&nbsp;//\\\&nbsp;&nbsp;//\\\<br />
&nbsp;&nbsp;&nbsp;&nbsp;///\\&nbsp;&nbsp;///\\<br />
&nbsp;&nbsp;&nbsp;&nbsp;///\\&nbsp;&nbsp;//\\\<br />
&nbsp;&nbsp;////\\/&nbsp;&nbsp;/\/\\\\</code></p>
<p>copy and paste</p>
]]></content:encoded>
			<wfw:commentRss>http://growup.onecm.com/2007/11/26/5/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Simple Sand</title>
		<link>http://growup.onecm.com/2007/11/20/simple-sand/</link>
		<comments>http://growup.onecm.com/2007/11/20/simple-sand/#comments</comments>
		<pubDate>Wed, 21 Nov 2007 01:06:38 +0000</pubDate>
		<dc:creator>ryan</dc:creator>
		
		<category><![CDATA[as3]]></category>

		<category><![CDATA[experiment]]></category>

		<guid isPermaLink="false">http://growup.onecm.com/?p=4</guid>
		<description><![CDATA[I should have been playing Mario Galaxy last night, but I made this 2d sand thing in actionscript instead. This is the most basic of basic sand rulesets. Only, this time it's in Flash.
Super Simple Sand

]]></description>
			<content:encoded><![CDATA[<p>I should have been playing Mario Galaxy last night, but I made this 2d sand thing in actionscript instead. This is the most basic of basic sand rulesets. Only, this time it's in Flash.</p>
<p><a href="/files/sand_0/index.html">Super Simple Sand</a></p>
<p><img src="/files/sand_0/grab0.jpg" /></p>
]]></content:encoded>
			<wfw:commentRss>http://growup.onecm.com/2007/11/20/simple-sand/feed/</wfw:commentRss>
		</item>
		<item>
		<title>The Other LogoDesign</title>
		<link>http://growup.onecm.com/2007/11/06/the-other-logodesign/</link>
		<comments>http://growup.onecm.com/2007/11/06/the-other-logodesign/#comments</comments>
		<pubDate>Tue, 06 Nov 2007 09:06:00 +0000</pubDate>
		<dc:creator>ryan</dc:creator>
		
		<category><![CDATA[as3]]></category>

		<category><![CDATA[design]]></category>

		<category><![CDATA[papervision3d]]></category>

		<category><![CDATA[xsi]]></category>

		<guid isPermaLink="false">http://growup.onecm.com/?p=3</guid>
		<description><![CDATA[A few months ago I worked on a visualization for Twitter called Blocks. In the last few days I made this logo as a finishing touch but it was taken out of the final app.
Twitter Blocks Logo (alt)

]]></description>
			<content:encoded><![CDATA[<p>A few months ago I worked on a visualization for Twitter called <a href="http://explore.twitter.com/blocks">Blocks</a>. In the last few days I made this logo as a finishing touch but it was taken out of the final app.</p>
<p><a href="/files/blocks_logo/">Twitter Blocks Logo</a> (alt)</p>
<p><img src="/files/blocks_logo/grab0.jpg" alt="The Blocks" height="204" width="484" /></p>
]]></content:encoded>
			<wfw:commentRss>http://growup.onecm.com/2007/11/06/the-other-logodesign/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
