<?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>UnitZeroOne &#187; Examples</title>
	<atom:link href="http://www.unitzeroone.com/blog/category/technology/examples/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.unitzeroone.com/blog</link>
	<description>A blog written by Ralph Hauwert, freelance developer&#38;consultant, specialized in realtime visualisation, 3D and application development. Currently working on Aviary.com.</description>
	<lastBuildDate>Mon, 07 Jun 2010 17:03:04 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Flash Player 10.1 pre-release on Nexus One</title>
		<link>http://www.unitzeroone.com/blog/2010/05/12/flash-player-10-1-pre-release-on-nexus-one/</link>
		<comments>http://www.unitzeroone.com/blog/2010/05/12/flash-player-10-1-pre-release-on-nexus-one/#comments</comments>
		<pubDate>Wed, 12 May 2010 22:35:55 +0000</pubDate>
		<dc:creator>UnitZeroOne</dc:creator>
				<category><![CDATA[3d]]></category>
		<category><![CDATA[Examples]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[10.1]]></category>
		<category><![CDATA[Adobe]]></category>
		<category><![CDATA[flash3d]]></category>
		<category><![CDATA[flashmodplug]]></category>
		<category><![CDATA[libmodplug]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[nexus one]]></category>

		<guid isPermaLink="false">http://www.unitzeroone.com/blog/?p=352</guid>
		<description><![CDATA[
Nexus One running Flash Player 10.1 from Ralph Hauwert on Vimeo.
This is a video of the Nexus One with a pre-release version of Adobe  Flash Player 10.1. It does not represent the final quality of the Flash  Player on this specific device. But it's pretty good as is!
This is the Nexus One running [...]


Related posts:<ol><li><a href='http://www.unitzeroone.com/blog/2009/11/17/triangle3d-small-flash-10-3d-demo/' rel='bookmark' title='Permanent Link: Triangle3D : Small Flash 10 3D demo.'>Triangle3D : Small Flash 10 3D demo.</a> <small> Over the last days I've spent some time twittering...</small></li><li><a href='http://www.unitzeroone.com/blog/2009/09/28/goodbye-papervision/' rel='bookmark' title='Permanent Link: Goodbye, Papervision.'>Goodbye, Papervision.</a> <small> Last week at Flash on the Beach I had...</small></li><li><a href='http://www.unitzeroone.com/blog/2009/11/30/help-me-test-flash-vsync-and-screen-tearing/' rel='bookmark' title='Permanent Link: Help me test! Flash VSync and Screen Tearing.'>Help me test! Flash VSync and Screen Tearing.</a> <small> So, here's a post where I am asking you,...</small></li></ol>]]></description>
			<content:encoded><![CDATA[<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="400" height="300" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=11695816&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="400" height="300" src="http://vimeo.com/moogaloop.swf?clip_id=11695816&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p><strong><a href="http://vimeo.com/11695816">Nexus One running Flash Player 10.1</a></strong> from <strong><a href="http://vimeo.com/unitzeroone">Ralph Hauwert</a></strong> on <strong><a href="http://vimeo.com">Vimeo</a></strong>.</p>
<p>This is a video of the <a href="http://www.google.com/phone/?hl=en&amp;s7e=" target="_blank"><strong>Nexus One</strong></a> with a pre-release version of <strong><a href="http://labs.adobe.com/technologies/flashplayer10/" target="_blank">Adobe  Flash Player 10.1</a></strong>. It does not represent the final quality of the Flash  Player on this specific device. But it's pretty good as is!</p>
<p>This is the Nexus One running 2 demos. First a Nexus one specific  version of the "<strong><a title="Milkyball" href="http://www.unitzeroone.com/labs/vertexmap/" target="_blank">Milkyball</a></strong>", which is adjusted in resolution and  screensize.</p>
<p>Second a non-adjusted version of <a href="http://unitzeroone.com/labs/flashModPlug/#Mortimer%20Twang-Burning%20chrome%20end.mod" target="_blank"><strong>FlashModPlug</strong></a>, an experimental project I'm currently  working on. It's a port and wrapper of <strong><a href="http://modplug-xmms.sourceforge.net/">LibModPlug</a></strong>, running inside the  Flash Player through <a href="http://labs.adobe.com/technologies/alchemy/" target="_blank"><strong>Adobe Alchemy</strong></a>.</p>
<p>Conclusion 10.1 on the Nexus is really, really fast!</p>
<p>(go to <a href="http://vimeo.com/11695816" target="_blank"><strong>vimeo</strong></a> for the full resolution version). (<a href="http://unitzeroone.com/labs/vertexMapNexus/" target="_blank"><strong>link to nexus demo</strong></a>)</p>

<div class="sociable">
<div class="sociable_tagline">
<strong>Digg, StumbleUpon, Slash and others:</strong>
</div>
<ul>
	<li class="sociablefirst"><a rel="nofollow" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.unitzeroone.com%2Fblog%2F2010%2F05%2F12%2Fflash-player-10-1-pre-release-on-nexus-one%2F&amp;title=Flash%20Player%2010.1%20pre-release%20on%20Nexus%20One&amp;bodytext=%0D%0A%0D%0ANexus%20One%20running%20Flash%20Player%2010.1%20from%20Ralph%20Hauwert%20on%20Vimeo.%0D%0A%0D%0AThis%20is%20a%20video%20of%20the%20Nexus%20One%20with%20a%20pre-release%20version%20of%20Adobe%20%20Flash%20Player%2010.1.%20It%20does%20not%20represent%20the%20final%20quality%20of%20the%20Flash%20%20Player%20on%20this%20specific%20device.%20But" title="Digg"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="http://delicious.com/post?url=http%3A%2F%2Fwww.unitzeroone.com%2Fblog%2F2010%2F05%2F12%2Fflash-player-10-1-pre-release-on-nexus-one%2F&amp;title=Flash%20Player%2010.1%20pre-release%20on%20Nexus%20One&amp;notes=%0D%0A%0D%0ANexus%20One%20running%20Flash%20Player%2010.1%20from%20Ralph%20Hauwert%20on%20Vimeo.%0D%0A%0D%0AThis%20is%20a%20video%20of%20the%20Nexus%20One%20with%20a%20pre-release%20version%20of%20Adobe%20%20Flash%20Player%2010.1.%20It%20does%20not%20represent%20the%20final%20quality%20of%20the%20Flash%20%20Player%20on%20this%20specific%20device.%20But" title="del.icio.us"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="http://www.dzone.com/links/add.html?url=http%3A%2F%2Fwww.unitzeroone.com%2Fblog%2F2010%2F05%2F12%2Fflash-player-10-1-pre-release-on-nexus-one%2F&amp;title=Flash%20Player%2010.1%20pre-release%20on%20Nexus%20One" title="DZone"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/dzone.png" title="DZone" alt="DZone" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.unitzeroone.com%2Fblog%2F2010%2F05%2F12%2Fflash-player-10-1-pre-release-on-nexus-one%2F&amp;title=Flash%20Player%2010.1%20pre-release%20on%20Nexus%20One" title="StumbleUpon"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="http://slashdot.org/bookmark.pl?title=Flash%20Player%2010.1%20pre-release%20on%20Nexus%20One&amp;url=http%3A%2F%2Fwww.unitzeroone.com%2Fblog%2F2010%2F05%2F12%2Fflash-player-10-1-pre-release-on-nexus-one%2F" title="Slashdot"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/slashdot.png" title="Slashdot" alt="Slashdot" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="http://technorati.com/faves?add=http%3A%2F%2Fwww.unitzeroone.com%2Fblog%2F2010%2F05%2F12%2Fflash-player-10-1-pre-release-on-nexus-one%2F" title="Technorati"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="http://blogmarks.net/my/new.php?mini=1&amp;simple=1&amp;url=http%3A%2F%2Fwww.unitzeroone.com%2Fblog%2F2010%2F05%2F12%2Fflash-player-10-1-pre-release-on-nexus-one%2F&amp;title=Flash%20Player%2010.1%20pre-release%20on%20Nexus%20One" title="blogmarks"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/blogmarks.png" title="blogmarks" alt="blogmarks" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="" title="BlogMemes"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/" title="BlogMemes" alt="BlogMemes" class="sociable-hovers" /></a></li>
	<li class="sociablelast"><a rel="nofollow" href="" title="Ma.gnolia"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/" title="Ma.gnolia" alt="Ma.gnolia" class="sociable-hovers" /></a></li>
</ul>
</div>


<p>Related posts:<ol><li><a href='http://www.unitzeroone.com/blog/2009/11/17/triangle3d-small-flash-10-3d-demo/' rel='bookmark' title='Permanent Link: Triangle3D : Small Flash 10 3D demo.'>Triangle3D : Small Flash 10 3D demo.</a> <small> Over the last days I've spent some time twittering...</small></li><li><a href='http://www.unitzeroone.com/blog/2009/09/28/goodbye-papervision/' rel='bookmark' title='Permanent Link: Goodbye, Papervision.'>Goodbye, Papervision.</a> <small> Last week at Flash on the Beach I had...</small></li><li><a href='http://www.unitzeroone.com/blog/2009/11/30/help-me-test-flash-vsync-and-screen-tearing/' rel='bookmark' title='Permanent Link: Help me test! Flash VSync and Screen Tearing.'>Help me test! Flash VSync and Screen Tearing.</a> <small> So, here's a post where I am asking you,...</small></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.unitzeroone.com/blog/2010/05/12/flash-player-10-1-pre-release-on-nexus-one/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Help me test! Flash VSync and Screen Tearing.</title>
		<link>http://www.unitzeroone.com/blog/2009/11/30/help-me-test-flash-vsync-and-screen-tearing/</link>
		<comments>http://www.unitzeroone.com/blog/2009/11/30/help-me-test-flash-vsync-and-screen-tearing/#comments</comments>
		<pubDate>Mon, 30 Nov 2009 13:55:40 +0000</pubDate>
		<dc:creator>UnitZeroOne</dc:creator>
				<category><![CDATA[Examples]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Random Thoughts]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[tearing]]></category>
		<category><![CDATA[vsync]]></category>

		<guid isPermaLink="false">http://www.unitzeroone.com/blog/?p=311</guid>
		<description><![CDATA[
So, here's a post where I am asking you, the Flash community, for a hand. Any of it is truly appreciated and will hopefully get some attention and maybe even a solution to a problem which has been in around in Flash since as long as I can remember; screen tearing.
First, what does tearing mean [...]


Related posts:<ol><li><a href='http://www.unitzeroone.com/blog/2009/11/17/triangle3d-small-flash-10-3d-demo/' rel='bookmark' title='Permanent Link: Triangle3D : Small Flash 10 3D demo.'>Triangle3D : Small Flash 10 3D demo.</a> <small> Over the last days I've spent some time twittering...</small></li></ol>]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone" src="http://www.unitzeroone.com/images/tearing.jpg" alt="" width="430" height="294" /></p>
<p>So, here's a post where I am asking you, the Flash community, for a hand. Any of it is truly appreciated and will hopefully get some attention and maybe even a solution to a problem which has been in around in Flash since as long as I can remember; screen tearing.</p>
<p>First, what does tearing mean in this context ? <a href="http://en.wikipedia.org/wiki/Screen_tearing" target="_blank"><strong>Read this wikipedia article</strong></a>. In this case, it's a visual split along a vertical line in a Flash movie. It's been a known issue with Flash since quite some time (always as far as I know), with improvements over several Flash player versions, but I haven't had to deal with it much lately....until now. I'm in a project where this visual artefact is a major distraction from the content and the experience.</p>
<p>All in all, this seems to be the cause (at least, my analysis of it) of tearing in this case; Flash internally rasterizes a screen, and pushes it to the screen buffer. Internally, this should be synced to your display refresh (60hz or 72hz, for instance), so that the buffer doesn't get updated halfway through the videocard building up the frame. But on some browsers and platforms it does update during the video card frame refresh, resulting in two rendered frames being displayed at once (or better; 1 frame being updated to the next while drawing to screen), with an optically visible vertical split visible between the two frames. This problem has been around for a long time. It's more prone to show up in content with "tall" items in it, fast frame rates with large portions of the screen moving, and during horizontal scrolling of displayobjects.</p>
<p>The picture above shows the problem in action. It's a picture taken using a regular camera pointed at the screen, as this problem doesn't show up in screencapture software. It shows two different frames of the testing movie; both a black and white square, updated halfway through the screen. While the position of where the slicing happens changes, in many single frames, 2 frames will be displayed at the same time.</p>
<p>I'm seeing problems with the latest 10 Player on Windows XP (Firefox), Mac OS X (Firefox, safari doesn't but "stutters), and Windows 7. All in all, this is a graphical issue which has been around for a long time and should be solved. It's definitely a Flash Player bug and with FlashPlayer 10.1 around the corner, I would really love to see this fixed. As well as being hopeful for finding a solution for current player/browser configurations. But testing results are varying and that's where I am asking you for help, by running 2 flash movies and posting the results to my comments.</p>
<p>Over the last days I've been frantically testing several configurations and options, I would hope force vsync with the flash screen buffer, amongst which the following :</p>
<ul>
<li>Adding a video at 30fps to the stage (no result)</li>
<li>Adding system text to the display list (seems to work on windows xp)</li>
<li>Several configurations of stage.invalidate() and Event.RENDER (no result)</li>
<li>Different drawing / caching methods.</li>
<li>Wmode="direct" for flash player embed options. (result across the board!)</li>
</ul>
<p>The last option is the only thing which seems to work on all testing configurations, but comes at a cost. Switching to wmode="direct" seems to force vsyncing and this would adhere to what has been said about direct wmode:</p>
<p><strong><em>"This mode tries to use the fastest path to screen, or direct path if you will. In most cases it will ignore whatever the browser would want to do to have things like overlapping HTML menus or such work. A typical use case for this mode is video playback. On Windows this mode is using DirectDraw or Direct3D on Vista, on OSX and Linux we are using OpenGL. Fidelity should not be affected when you use this mode." </em><a href="http://www.kaourantin.net/2008/05/what-does-gpu-acceleration-mean.html" target="_blank"><em>[Link to Tinics blog]</em></a></strong></p>
<p><em><strong>"Hardware offscreen buffer<br />
Software renderer, perfect fidelity" <a href="http://web.me.com/jeroendendunnen/downloads/max2008/documents/develop/Flash_Player_Internals-Jim_Corbett-final_v2.ppt" target="_blank">[link to Jim Corbett's presentation (ppt)]</a></strong></em></p>
<p>As opposed to the wmode="gpu" flag, which moves rasterization to the videocard (at a hight cost in most content cases, also altering the appearance of your content depending on the videocard), this option still uses the Flash Software Rasterizer to build up content for the screen. But on both my Mac and PC testing this comes at a performance cost of several frames per second, up to about 15fps on larger screens (1280x768). Also, I'm not sure about the results of this on machines with no gpu. (mostly, cheap on board graphic chipsets, which share system memory). While most of the time, your content type might vary in terms of results with either GPU enabled wmodes, in this test that shouldn't be an issue.</p>
<p>Obviously, abusing wmode="direct" to force vsyncing on the Flash Player isn't ideal, but it seems to work. In an effort to survey the results of this, I've built a very simple test swf. What I'd like you to do is run both swfs and copy the text field of both and paste them in my comments. Although I'm already in contact with Tinic about this, there's currently no JIRA bug describing the problem. With the results you have, I'd like to put up an official bug there, and use your results to describe what systems are impacted.</p>
<p>Firefox seems to be the main culprit. Since FF 3 there have been a number of big issues with Flash and Firefox; for instance, in some cases a right click on the flash player will cause the updated areas in the Flash movie to render as an opaque rectangle with the background color. In another case, Flash doesn't respond to rollover events and doesn't even render without a mouse click occuring.</p>
<p>Please help me and hopefully Adobe identify and fix this problem, by running these tests. Here's what you should do :</p>
<ul>
<li>Run both movies</li>
<li>Look for tearing. Typically, in these test, instead of steady flickering, you'll see a moving vertical tear between the black and white area. It is essentiall you identify tearing correctly, so make sure you know what it looks like (picture above is a still). The effect of tearing shows even better on my mac, when you move the firefox window so that the flash movie intersects your screenborder, halfway splitting vertically through the flash movie).</li>
<li>Copy and paste the textfield contents when the test is done, on both tests to my comments. Fill in the required 2 fields, and if you can, what type of graphics hardware your machine has.</li>
<li>Send this link to other people who are willing to test (and be part of the solution, making Flash a better place!).</li>
</ul>
<p><a href="http://unitzeroone.com/labs/tearing/opaque/FlashTearing.html" target="_blank"><strong>Test with wmode opaque</strong></a></p>
<p><a href="http://unitzeroone.com/labs/tearing/direct/FlashTearing.html" target="_blank"><strong>Test with wmode direct</strong></a></p>
<p><strong>[WARNING : if you are prone to visually induced epileptic fits, this might induce one. Don't run it then]</strong></p>
<p>(don't forget to post to the comments).</p>

<div class="sociable">
<div class="sociable_tagline">
<strong>Digg, StumbleUpon, Slash and others:</strong>
</div>
<ul>
	<li class="sociablefirst"><a rel="nofollow" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.unitzeroone.com%2Fblog%2F2009%2F11%2F30%2Fhelp-me-test-flash-vsync-and-screen-tearing%2F&amp;title=Help%20me%20test%21%20Flash%20VSync%20and%20Screen%20Tearing.&amp;bodytext=%0D%0A%0D%0ASo%2C%20here%27s%20a%20post%20where%20I%20am%20asking%20you%2C%20the%20Flash%20community%2C%20for%20a%20hand.%20Any%20of%20it%20is%20truly%20appreciated%20and%20will%20hopefully%20get%20some%20attention%20and%20maybe%20even%20a%20solution%20to%20a%20problem%20which%20has%20been%20in%20around%20in%20Flash%20since%20as%20long%20as%20I%20can%20remembe" title="Digg"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="http://delicious.com/post?url=http%3A%2F%2Fwww.unitzeroone.com%2Fblog%2F2009%2F11%2F30%2Fhelp-me-test-flash-vsync-and-screen-tearing%2F&amp;title=Help%20me%20test%21%20Flash%20VSync%20and%20Screen%20Tearing.&amp;notes=%0D%0A%0D%0ASo%2C%20here%27s%20a%20post%20where%20I%20am%20asking%20you%2C%20the%20Flash%20community%2C%20for%20a%20hand.%20Any%20of%20it%20is%20truly%20appreciated%20and%20will%20hopefully%20get%20some%20attention%20and%20maybe%20even%20a%20solution%20to%20a%20problem%20which%20has%20been%20in%20around%20in%20Flash%20since%20as%20long%20as%20I%20can%20remembe" title="del.icio.us"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="http://www.dzone.com/links/add.html?url=http%3A%2F%2Fwww.unitzeroone.com%2Fblog%2F2009%2F11%2F30%2Fhelp-me-test-flash-vsync-and-screen-tearing%2F&amp;title=Help%20me%20test%21%20Flash%20VSync%20and%20Screen%20Tearing." title="DZone"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/dzone.png" title="DZone" alt="DZone" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.unitzeroone.com%2Fblog%2F2009%2F11%2F30%2Fhelp-me-test-flash-vsync-and-screen-tearing%2F&amp;title=Help%20me%20test%21%20Flash%20VSync%20and%20Screen%20Tearing." title="StumbleUpon"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="http://slashdot.org/bookmark.pl?title=Help%20me%20test%21%20Flash%20VSync%20and%20Screen%20Tearing.&amp;url=http%3A%2F%2Fwww.unitzeroone.com%2Fblog%2F2009%2F11%2F30%2Fhelp-me-test-flash-vsync-and-screen-tearing%2F" title="Slashdot"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/slashdot.png" title="Slashdot" alt="Slashdot" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="http://technorati.com/faves?add=http%3A%2F%2Fwww.unitzeroone.com%2Fblog%2F2009%2F11%2F30%2Fhelp-me-test-flash-vsync-and-screen-tearing%2F" title="Technorati"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="http://blogmarks.net/my/new.php?mini=1&amp;simple=1&amp;url=http%3A%2F%2Fwww.unitzeroone.com%2Fblog%2F2009%2F11%2F30%2Fhelp-me-test-flash-vsync-and-screen-tearing%2F&amp;title=Help%20me%20test%21%20Flash%20VSync%20and%20Screen%20Tearing." title="blogmarks"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/blogmarks.png" title="blogmarks" alt="blogmarks" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="" title="BlogMemes"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/" title="BlogMemes" alt="BlogMemes" class="sociable-hovers" /></a></li>
	<li class="sociablelast"><a rel="nofollow" href="" title="Ma.gnolia"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/" title="Ma.gnolia" alt="Ma.gnolia" class="sociable-hovers" /></a></li>
</ul>
</div>


<p>Related posts:<ol><li><a href='http://www.unitzeroone.com/blog/2009/11/17/triangle3d-small-flash-10-3d-demo/' rel='bookmark' title='Permanent Link: Triangle3D : Small Flash 10 3D demo.'>Triangle3D : Small Flash 10 3D demo.</a> <small> Over the last days I've spent some time twittering...</small></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.unitzeroone.com/blog/2009/11/30/help-me-test-flash-vsync-and-screen-tearing/feed/</wfw:commentRss>
		<slash:comments>220</slash:comments>
		</item>
		<item>
		<title>Triangle3D : Small Flash 10 3D demo.</title>
		<link>http://www.unitzeroone.com/blog/2009/11/17/triangle3d-small-flash-10-3d-demo/</link>
		<comments>http://www.unitzeroone.com/blog/2009/11/17/triangle3d-small-flash-10-3d-demo/#comments</comments>
		<pubDate>Tue, 17 Nov 2009 17:23:10 +0000</pubDate>
		<dc:creator>UnitZeroOne</dc:creator>
				<category><![CDATA[Examples]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[User Groups]]></category>
		<category><![CDATA[3d]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[flash3d]]></category>
		<category><![CDATA[triangle3d]]></category>

		<guid isPermaLink="false">http://www.unitzeroone.com/blog/?p=298</guid>
		<description><![CDATA[





Over the last days I've spent some time twittering back and forth with Eugene. His supershape demo is very cool and we spent some time 'tweeting' about shaders. This lead me to upload and twitter one of my experiments which I used as part of my FOTB / MAX presentation. Judging by the huge number [...]


Related posts:<ol><li><a href='http://www.unitzeroone.com/blog/2010/05/12/flash-player-10-1-pre-release-on-nexus-one/' rel='bookmark' title='Permanent Link: Flash Player 10.1 pre-release on Nexus One'>Flash Player 10.1 pre-release on Nexus One</a> <small> Nexus One running Flash Player 10.1 from Ralph Hauwert...</small></li><li><a href='http://www.unitzeroone.com/blog/2009/09/28/goodbye-papervision/' rel='bookmark' title='Permanent Link: Goodbye, Papervision.'>Goodbye, Papervision.</a> <small> Last week at Flash on the Beach I had...</small></li></ol>]]></description>
			<content:encoded><![CDATA[<div class="mceTemp">
<dl class="wp-caption alignnone" style="width: 440px;">
<dt class="wp-caption-dt"><a href="http://www.unitzeroone.com/labs/Triangle3DOld/Alt.html"><img title="Triangle3DMorph" src="http://www.unitzeroone.com/images/Triangle3DMorph.jpg" alt="Screenshot from the realtime Flash3D demo." width="430" height="234" /></a></dt>
</dl>
</div>
<p><a href="http://www.unitzeroone.com/labs/Triangle3DOld/"><img class="alignnone" src="http://www.unitzeroone.com/images/Triangle3DMorphOriginal.jpg" alt="" width="430" height="195" /></a></p>
<p>Over the last days I've spent some time <a href="http://www.twitter.com/UnitZeroOne" target="_blank"><strong>twittering</strong></a> back and forth with <a href="http://blog.inspirit.ru" target="_blank"><strong>Eugene</strong></a>. His <strong><a href="http://blog.inspirit.ru/?p=364" target="_blank">supershape demo</a></strong> is very cool and we spent some time 'tweeting' about shaders. This lead me to upload and twitter one of my experiments which I used as part of my FOTB / MAX presentation. Judging by the huge number of retweets it seems people enjoyed it a lot, so I figured that it was worth a blog post. I started working on this experiment a while back after toying around with OpenGL, OpenFrameworks and audio reactive shapes and that inspired me to do something similar in Flash. This is an unfinished demo as it lead me to pursue something else, at which point I stopped working on it.</p>
<p>In the session where this came from, specifically this part, I shared information about the path of yet another demo, where this experiment led me too. Some of you who attended Flash on the Beach, might recall it from the Adobe keynote, where it was aptly named "milky ball".  I'll present on it one more time on the 3rd of December at the <strong><a href="http://www.adobeusergroupxl.nl" target="_blank">AUG XL event</a></strong>, in Amsterdam. I'll post more of the session's demos with explanation, when I have the time.</p>
<p>I do want to clarify that the code base I've created for this, which I currently call Triangle3D, is not to be a new Papervision3D, Away3D, Alternativa3D, Infinity3D, Sandy3D, Null3D or Yogurt3D (I'm probably missing a couple, sorry, have your way in the comments). It's my experimental playground of classes to play around, with no care for architecture restrictions or a generalized API. It's all about me playing and enjoying. Pure experimentation of what can be achieved with Flash 3D and hoping to find something beautiful in it.</p>
<p><a href="http://www.unitzeroone.com/labs/Triangle3DOld/" target="_blank"><strong>Orignal unfinished demo</strong></a></p>
<p><a href="http://www.unitzeroone.com/labs/Triangle3DOld/Alt.html" target="_blank"><strong>Demo with adjusted lightmaps from my new mirrorball.</strong></a></p>
<p><a href="http://www.flickr.com/photos/unitzeroone/4102372725/" target="_blank"><strong>(here's the shot of the mirrorball, on flickr).</strong></a></p>
<p>The music track is Sixtyten by Boards of Canada.</p>

<div class="sociable">
<div class="sociable_tagline">
<strong>Digg, StumbleUpon, Slash and others:</strong>
</div>
<ul>
	<li class="sociablefirst"><a rel="nofollow" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.unitzeroone.com%2Fblog%2F2009%2F11%2F17%2Ftriangle3d-small-flash-10-3d-demo%2F&amp;title=Triangle3D%20%3A%20Small%20Flash%2010%203D%20demo.&amp;bodytext=%20%20%0D%0A%0D%0A%0D%0AOver%20the%20last%20days%20I%27ve%20spent%20some%20time%20twittering%20back%20and%20forth%20with%20Eugene.%20His%20supershape%20demo%20is%20very%20cool%20and%20we%20spent%20some%20time%20%27tweeting%27%20about%20shaders.%20This%20lead%20me%20to%20upload%20and%20twitter%20one%20of%20my%20experiments%20which%20I%20used%20as%20part%20of%20" title="Digg"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="http://delicious.com/post?url=http%3A%2F%2Fwww.unitzeroone.com%2Fblog%2F2009%2F11%2F17%2Ftriangle3d-small-flash-10-3d-demo%2F&amp;title=Triangle3D%20%3A%20Small%20Flash%2010%203D%20demo.&amp;notes=%20%20%0D%0A%0D%0A%0D%0AOver%20the%20last%20days%20I%27ve%20spent%20some%20time%20twittering%20back%20and%20forth%20with%20Eugene.%20His%20supershape%20demo%20is%20very%20cool%20and%20we%20spent%20some%20time%20%27tweeting%27%20about%20shaders.%20This%20lead%20me%20to%20upload%20and%20twitter%20one%20of%20my%20experiments%20which%20I%20used%20as%20part%20of%20" title="del.icio.us"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="http://www.dzone.com/links/add.html?url=http%3A%2F%2Fwww.unitzeroone.com%2Fblog%2F2009%2F11%2F17%2Ftriangle3d-small-flash-10-3d-demo%2F&amp;title=Triangle3D%20%3A%20Small%20Flash%2010%203D%20demo." title="DZone"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/dzone.png" title="DZone" alt="DZone" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.unitzeroone.com%2Fblog%2F2009%2F11%2F17%2Ftriangle3d-small-flash-10-3d-demo%2F&amp;title=Triangle3D%20%3A%20Small%20Flash%2010%203D%20demo." title="StumbleUpon"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="http://slashdot.org/bookmark.pl?title=Triangle3D%20%3A%20Small%20Flash%2010%203D%20demo.&amp;url=http%3A%2F%2Fwww.unitzeroone.com%2Fblog%2F2009%2F11%2F17%2Ftriangle3d-small-flash-10-3d-demo%2F" title="Slashdot"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/slashdot.png" title="Slashdot" alt="Slashdot" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="http://technorati.com/faves?add=http%3A%2F%2Fwww.unitzeroone.com%2Fblog%2F2009%2F11%2F17%2Ftriangle3d-small-flash-10-3d-demo%2F" title="Technorati"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="http://blogmarks.net/my/new.php?mini=1&amp;simple=1&amp;url=http%3A%2F%2Fwww.unitzeroone.com%2Fblog%2F2009%2F11%2F17%2Ftriangle3d-small-flash-10-3d-demo%2F&amp;title=Triangle3D%20%3A%20Small%20Flash%2010%203D%20demo." title="blogmarks"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/blogmarks.png" title="blogmarks" alt="blogmarks" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="" title="BlogMemes"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/" title="BlogMemes" alt="BlogMemes" class="sociable-hovers" /></a></li>
	<li class="sociablelast"><a rel="nofollow" href="" title="Ma.gnolia"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/" title="Ma.gnolia" alt="Ma.gnolia" class="sociable-hovers" /></a></li>
</ul>
</div>


<p>Related posts:<ol><li><a href='http://www.unitzeroone.com/blog/2010/05/12/flash-player-10-1-pre-release-on-nexus-one/' rel='bookmark' title='Permanent Link: Flash Player 10.1 pre-release on Nexus One'>Flash Player 10.1 pre-release on Nexus One</a> <small> Nexus One running Flash Player 10.1 from Ralph Hauwert...</small></li><li><a href='http://www.unitzeroone.com/blog/2009/09/28/goodbye-papervision/' rel='bookmark' title='Permanent Link: Goodbye, Papervision.'>Goodbye, Papervision.</a> <small> Last week at Flash on the Beach I had...</small></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.unitzeroone.com/blog/2009/11/17/triangle3d-small-flash-10-3d-demo/feed/</wfw:commentRss>
		<slash:comments>31</slash:comments>
		</item>
		<item>
		<title>More play with Alchemy : Lookup table effects.</title>
		<link>http://www.unitzeroone.com/blog/2009/04/06/more-play-with-alchemy-lookup-table-effects/</link>
		<comments>http://www.unitzeroone.com/blog/2009/04/06/more-play-with-alchemy-lookup-table-effects/#comments</comments>
		<pubDate>Mon, 06 Apr 2009 09:11:04 +0000</pubDate>
		<dc:creator>UnitZeroOne</dc:creator>
				<category><![CDATA[Examples]]></category>
		<category><![CDATA[FITC]]></category>
		<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://www.unitzeroone.com/blog/?p=212</guid>
		<description><![CDATA[
After the overwhelming response of posting the sources of 300.000 pixels with Alchemy and Pixelbender, I thought it would be nice to post some more from my session at FITC Amsterdam.
First let's take a look at what people have done in response of the previous sources.
Yonatan Offek - Sierpinski Particles
Peter Nitsch - Alchemy Particles
David Lenaerts [...]


No related posts.]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.unitzeroone.com/labs/alchemyLookupTable/"><img class="alignnone" src="http://www.unitzeroone.com/images/lutEffect.jpg" alt="" width="430" height="140" /></a></p>
<p>After the overwhelming response of posting the sources of 300.000 pixels with Alchemy and Pixelbender, I thought it would be nice to post some more from my session at FITC Amsterdam.</p>
<p>First let's take a look at what people have done in response of the previous sources.</p>
<p><a href="http://www.zozuar.org/pub/sierpinski-pusher/Main.swf" target="_blank"><strong>Yonatan Offek - Sierpinski Particles</strong></a></p>
<p><a href="http://www.peternitsch.net/blog/?p=166" target="_blank"><strong>Peter Nitsch - Alchemy Particles</strong></a></p>
<p><a href="http://www.derschmale.com/2009/03/23/experimenting-with-alchemy-of-smoke-milk-and-ink/"><strong>David Lenaerts - Smoke, Milk and Ink</strong></a></p>
<p><a href="http://www.rozengain.com/blog/2009/04/02/alchemy-experiment-incredibly-fast-plasma/" target="_blank"><strong>Dennis Ippel - Incredibly fast Plasma</strong></a></p>
<p><a href="http://blog.joa-ebert.com/2009/04/03/massive-amounts-of-3d-particles-without-alchemy-and-pixelbender/" target="_blank"><strong>Joa Ebert - Massive amounts of 3D particles without Alchemy and Pixelbender</strong></a></p>
<p>All the work in that list is incredible, but for this post, I'm most interested in the last 2. Joa's work on getting AS3 up to speed with my Alchemy demo (Joa's demo is actually faster then the Alchemy version on my machine) is incredible. And it also proves the one thing I tried to convey in my blog post <a href="http://www.unitzeroone.com/blog/2008/11/28/adobe-alchemy-is-it-actionscript-heresy/"><strong>Adobe Alchemy, is it ActionScript Heresy ?</strong></a>.</p>
<p><span id="more-212"></span></p>
<p>Joa's optimization relies mostly on a linked list implementation to iterate over the particles, and using the <strong><a href="http://www.mikechambers.com/blog/2008/08/19/using-vectors-in-actionscript-3-and-flash-player-10/" target="_blank">Flash 10 Vector type</a></strong> to allow for faster access to write to screen. Another speed improvement over the Alchemy version is not using Pixelbender, but having both rotation and projection done in the same loop as drawing to screen. All in all, his result on this is pretty awesome.</p>
<p>Again, writing highly optimized ActionScript should enable you to do the same speedwise as Alchemy compiled code. There's at least one definitive advantage which Alchemy has in that case. The first advantage in Alchemy lies is the fast ByteArray access (which currently only Alchemy and <strong><a href="http://www.ncannasse.fr/blog/virtual_memory_api" target="_blank">Haxe</a></strong> can use).</p>
<p>The second advantage is why I think we should have a better AS3 compiler. It is the use of a more advanced compiler. This reduces the need to *highly* optimize your code, although I'd always recommend doing that in any case. My demo's here are meant of examples on how to use Alchemy, rather then to get the last bit of performance out. That, we'll leave to PapervisionX work.</p>
<p>Now, as I said, for this post we would be looking at two of the responses on my earlier Alchemy demo, the second one being Dennis Ippel's Fast Plasma effects. Plasma effects and Lookup Table efffects aren't too different. <strong><a href="http://mrdoob.com/81/Flash_10_Shaders_Plane_Deformations" target="_blank">Ricardo Cabello</a></strong> did some experiments with them earlier, using Pixelbender. I worked on taking this type of effect and implementing it using Alchemy. Since that I had already done some experiments with them earlier, I thought it would be nice to release the sources, and see what you guys do with them. Maybe Joa feels like another shot of doing the same with ActionScript ?</p>
<p><a href="http://unitzeroone.com/labs/alchemyLookupTable/" target="_blank"><strong>Example</strong></a></p>
<p><strong><a href="http://unitzeroone.com/labs/alchemyLookupTable/lookupEffect.zip" target="_blank">Source</a></strong></p>
<p>Play around, let me know what you do with it, and make sure you check out Mr. Quilez his webpage, specifically, the article on <a href="http://iquilezles.org/www/articles/deform/deform.htm"><strong>Plane Deformations</strong></a>, where part of this code is derived from. If you want to optimize more, you *could* read <strong><a href="http://www.kebby.org/articles/h14a2.html" target="_blank">Kebby's article F***ing learn to code again</a></strong>.</p>
<p>One more observation  : the difference between running this on Firefox on a Mac and just running it in the FlashPlayer is huge, even bigger then normal. Could someone from Adobe finally explain this ?</p>

<div class="sociable">
<div class="sociable_tagline">
<strong>Digg, StumbleUpon, Slash and others:</strong>
</div>
<ul>
	<li class="sociablefirst"><a rel="nofollow" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.unitzeroone.com%2Fblog%2F2009%2F04%2F06%2Fmore-play-with-alchemy-lookup-table-effects%2F&amp;title=More%20play%20with%20Alchemy%20%3A%20Lookup%20table%20effects.&amp;bodytext=%0D%0A%0D%0AAfter%20the%20overwhelming%20response%20of%20posting%20the%20sources%20of%20300.000%20pixels%20with%20Alchemy%20and%20Pixelbender%2C%20I%20thought%20it%20would%20be%20nice%20to%20post%20some%20more%20from%20my%20session%20at%20FITC%20Amsterdam.%0D%0A%0D%0AFirst%20let%27s%20take%20a%20look%20at%20what%20people%20have%20done%20in%20response" title="Digg"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="http://delicious.com/post?url=http%3A%2F%2Fwww.unitzeroone.com%2Fblog%2F2009%2F04%2F06%2Fmore-play-with-alchemy-lookup-table-effects%2F&amp;title=More%20play%20with%20Alchemy%20%3A%20Lookup%20table%20effects.&amp;notes=%0D%0A%0D%0AAfter%20the%20overwhelming%20response%20of%20posting%20the%20sources%20of%20300.000%20pixels%20with%20Alchemy%20and%20Pixelbender%2C%20I%20thought%20it%20would%20be%20nice%20to%20post%20some%20more%20from%20my%20session%20at%20FITC%20Amsterdam.%0D%0A%0D%0AFirst%20let%27s%20take%20a%20look%20at%20what%20people%20have%20done%20in%20response" title="del.icio.us"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="http://www.dzone.com/links/add.html?url=http%3A%2F%2Fwww.unitzeroone.com%2Fblog%2F2009%2F04%2F06%2Fmore-play-with-alchemy-lookup-table-effects%2F&amp;title=More%20play%20with%20Alchemy%20%3A%20Lookup%20table%20effects." title="DZone"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/dzone.png" title="DZone" alt="DZone" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.unitzeroone.com%2Fblog%2F2009%2F04%2F06%2Fmore-play-with-alchemy-lookup-table-effects%2F&amp;title=More%20play%20with%20Alchemy%20%3A%20Lookup%20table%20effects." title="StumbleUpon"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="http://slashdot.org/bookmark.pl?title=More%20play%20with%20Alchemy%20%3A%20Lookup%20table%20effects.&amp;url=http%3A%2F%2Fwww.unitzeroone.com%2Fblog%2F2009%2F04%2F06%2Fmore-play-with-alchemy-lookup-table-effects%2F" title="Slashdot"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/slashdot.png" title="Slashdot" alt="Slashdot" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="http://technorati.com/faves?add=http%3A%2F%2Fwww.unitzeroone.com%2Fblog%2F2009%2F04%2F06%2Fmore-play-with-alchemy-lookup-table-effects%2F" title="Technorati"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="http://blogmarks.net/my/new.php?mini=1&amp;simple=1&amp;url=http%3A%2F%2Fwww.unitzeroone.com%2Fblog%2F2009%2F04%2F06%2Fmore-play-with-alchemy-lookup-table-effects%2F&amp;title=More%20play%20with%20Alchemy%20%3A%20Lookup%20table%20effects." title="blogmarks"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/blogmarks.png" title="blogmarks" alt="blogmarks" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="" title="BlogMemes"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/" title="BlogMemes" alt="BlogMemes" class="sociable-hovers" /></a></li>
	<li class="sociablelast"><a rel="nofollow" href="" title="Ma.gnolia"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/" title="Ma.gnolia" alt="Ma.gnolia" class="sociable-hovers" /></a></li>
</ul>
</div>


<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://www.unitzeroone.com/blog/2009/04/06/more-play-with-alchemy-lookup-table-effects/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
		</item>
		<item>
		<title>Flash 10, Massive amounts of 3D particles with Alchemy (source included).</title>
		<link>http://www.unitzeroone.com/blog/2009/03/18/flash-10-massive-amounts-of-3d-particles-with-alchemy-source-included/</link>
		<comments>http://www.unitzeroone.com/blog/2009/03/18/flash-10-massive-amounts-of-3d-particles-with-alchemy-source-included/#comments</comments>
		<pubDate>Wed, 18 Mar 2009 15:26:12 +0000</pubDate>
		<dc:creator>UnitZeroOne</dc:creator>
				<category><![CDATA[Examples]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://www.unitzeroone.com/blog/?p=201</guid>
		<description><![CDATA[
Pushing around +300.000 3D particles, realtime, on screen, using Flash ? No problem, if you are using Adobe Alchemy &#38; PixelBender to compile and run your code!
During my session "professionally pushing pixels" at FITC Amsterdam this year, amongst other things, I talked about how to best utilize parts of the Flash Player to get top [...]


No related posts.]]></description>
			<content:encoded><![CDATA[<p><a title="See the demo." href="http://www.unitzeroone.com/labs/alchemyPushingPixels/" target="_blank"><img class="alignnone size-full wp-image-202" title="pushingpixels" src="http://www.unitzeroone.com/blog/wp-content/uploads/2009/03/pushingpixels.jpg" alt="pushingpixels" width="430" height="140" /></a></p>
<p>Pushing around +300.000 3D particles, realtime, on screen, using Flash ? No problem, if you are using Adobe Alchemy &amp; PixelBender to compile and run your code!</p>
<p>During my session "<em>professionally pushing pixels</em>" at FITC Amsterdam this year, amongst other things, I talked about how to best utilize parts of the Flash Player to get top performance. This is one of the examples I showed. What you are seeing in this example, is +300.000 particles being 3D transformed, projected and draw to 2D. And it does so at quite a good framerate (well, it'll depend on your machine too).</p>
<p>So, how do we achieve this ? The answer is a combination of PixelBender and Alchemy.</p>
<p><span id="more-201"></span></p>
<p><strong>First, let's look at the 3D transformation and projection.</strong></p>
<p>Flash 10 has a number of native features to allow for 3D transformation and projection. You'll find that this is a combination of using the Vector, Vector3D, Matrix3D, PerspectiveProjection, etc. Although these features are great, we can't use them in combination with Alchemy easily. I'll explain why later, for now, let's look at an alternative method to do the projection.</p>
<p>Where oh where in the Flash Player do we have a method of doing very fast math ? The answer is; pixelbender! Although Pixelbender is normally used for image based manipulation, you can make it do any type of number-crunching which is able to be executed in parallel and without loops.</p>
<p>To calculate rotations and projecting our 3D data, we use Pixelbender in "ShaderJob" mode. When using pixelbender in image based mode, it operates in 8 bits per channel. Thankfully, when using it with a ShaderJob, it allows 32 bits precision per channel for the data processing. Since 8 bit precision wouldn't be enough for this example, we use a shaderjob.</p>
<p>The VertexProjector pixelbender kernel, included with the source is a simple way of transforming and projecting vertices (representing particles, in this case) in 3D space. We feed this kernel a bytearray of x,y,z paired data, and execute the shaderjob. It then returns the data as a bytearray, in px, py, pz format.</p>
<p><strong>Drawing things to screen.</strong></p>
<p>Now we have all the 2D projected 3D data, we need to draw things to screen, and we have to do so as quickly as possible. This step is traditionally called rasterization. In AS3, you're most likely to use getPixel when drawing on a per pixel basis. Doing so in a loop for 300.000 pixels turns out to be very slow. The solution for this would be to optimize that loop as much as possible. Either by writing your own bytecode, or maybe writing your own post-processor for you code, before you compile. But we don't have too, since Adobe Alchemy exists.</p>
<p>As you can read in <strong><a href="http://www.unitzeroone.com/blog/2008/11/28/adobe-alchemy-is-it-actionscript-heresy/" target="_blank">my earlier post</a></strong> about Adobe Alchemy, I openly questioned why it was so speedy, as compared to regularly compiled ActionScript 3 code. Although the answer is rather complex, the combination of C Based code, the LLVM compiler and "Alchemy Virtual Memory" are the base of this. The large difference between Alchemy compiled actionscript and regular compiled Actionscript can be further explained by the regular AS3 compiler not doing any optimisation. This example shows off those performance increases.</p>
<p>One thing to worry about when using Alchemy in your ActionScript projects is marshalling. You can read Branden Hall's post on Alchemy <strong><a href="http://www.automatastudios.com/2008/11/21/understanding-adobe-alchemy/" target="_blank">for more info on that</a></strong>. Since we wouldn't be able to marshal 300.000 vertices from a Vector.&lt;Number&gt; in AS3 to our alchemy code, we need to find a better solution. This is exactly why we are using Pixelbender and more-over, the bytearray data.</p>
<p>It is possible to manipulate the memory Alchemy uses in the runtime. This memory is represented as an AS3 ByteArray object. If we directly write and get our data from this memory block, no marshalling is needed. Although this means not all things can be done this way, for some things, this can be very useful. For instance, getting large blocks of data, like images and bytearrays of coordinates.</p>
<p>Getting all these 3D particles to screen is simply 1 inner loop. While we would normally call setPixel for that, in Alchemy code, we don't have that luxury. Instead of that, we write directly to our screenbuffer memory, which is represented as a set of int's. Here, one more problem comes into play. <a href="http://en.wikipedia.org/wiki/Endianness" target="_blank"><strong>Endianess</strong></a>, defines the byte ordering for a set of data. Alchemy uses little-endianess for it's internal memory representation. Specificall, it uses a small class called LEByteArray. This class extends ByteArray and ensures no changes are made to the endianess of the memory. Makes sense, since otherwise your code would blow up.</p>
<p>Writing to the screen is then a piece of cake. We take the alchemy processed data from it's memory, and write it to a bitmapdata using the formerly much less usable setPixels() command. It's amazing to see how fast this is.</p>
<p>Look at the <strong><a href="http://www.unitzeroone.com/labs/alchemyPushingPixels/" target="_blank">example here</a></strong>, and download <strong><a href="http://www.unitzeroone.com/labs/alchemyPushingPixels/alchemyParticlePusher.zip" target="_blank">the full sourcecode</a></strong> here. As you can see from the example, the difference between doing this with regular ActionScript versus Alchemy nears a 5 fold speed increase.</p>
<p>Thanks to <strong><a href="http://bit-101.com" target="_blank">Keith Peters</a></strong>, for providing me with the 3D Strange Attractor code! And additional thanks to <strong><a href="http://mrdoob.com" target="_blank">Mr.Doob</a></strong> for the stats object.</p>
<p>In future I'll be posting more demos of the technology. Amongst which there will be one appliance for the future version of Papervision3D, <a href="http://blog.papervision3d.org/2009/03/16/papervisionx-what-it-is-and-what-it-isnt/" target="_blank"><strong>PapervisionX</strong></a>.</p>

<div class="sociable">
<div class="sociable_tagline">
<strong>Digg, StumbleUpon, Slash and others:</strong>
</div>
<ul>
	<li class="sociablefirst"><a rel="nofollow" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.unitzeroone.com%2Fblog%2F2009%2F03%2F18%2Fflash-10-massive-amounts-of-3d-particles-with-alchemy-source-included%2F&amp;title=Flash%2010%2C%20Massive%20amounts%20of%203D%20particles%20with%20Alchemy%20%28source%20included%29.&amp;bodytext=%0D%0A%0D%0APushing%20around%20%2B300.000%203D%20particles%2C%20realtime%2C%20on%20screen%2C%20using%20Flash%20%3F%20No%20problem%2C%20if%20you%20are%20using%20Adobe%20Alchemy%20%26amp%3B%20PixelBender%20to%20compile%20and%20run%20your%20code%21%0D%0A%0D%0ADuring%20my%20session%20%22professionally%20pushing%20pixels%22%20at%20FITC%20Amsterdam%20this%20year%2C%20" title="Digg"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="http://delicious.com/post?url=http%3A%2F%2Fwww.unitzeroone.com%2Fblog%2F2009%2F03%2F18%2Fflash-10-massive-amounts-of-3d-particles-with-alchemy-source-included%2F&amp;title=Flash%2010%2C%20Massive%20amounts%20of%203D%20particles%20with%20Alchemy%20%28source%20included%29.&amp;notes=%0D%0A%0D%0APushing%20around%20%2B300.000%203D%20particles%2C%20realtime%2C%20on%20screen%2C%20using%20Flash%20%3F%20No%20problem%2C%20if%20you%20are%20using%20Adobe%20Alchemy%20%26amp%3B%20PixelBender%20to%20compile%20and%20run%20your%20code%21%0D%0A%0D%0ADuring%20my%20session%20%22professionally%20pushing%20pixels%22%20at%20FITC%20Amsterdam%20this%20year%2C%20" title="del.icio.us"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="http://www.dzone.com/links/add.html?url=http%3A%2F%2Fwww.unitzeroone.com%2Fblog%2F2009%2F03%2F18%2Fflash-10-massive-amounts-of-3d-particles-with-alchemy-source-included%2F&amp;title=Flash%2010%2C%20Massive%20amounts%20of%203D%20particles%20with%20Alchemy%20%28source%20included%29." title="DZone"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/dzone.png" title="DZone" alt="DZone" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.unitzeroone.com%2Fblog%2F2009%2F03%2F18%2Fflash-10-massive-amounts-of-3d-particles-with-alchemy-source-included%2F&amp;title=Flash%2010%2C%20Massive%20amounts%20of%203D%20particles%20with%20Alchemy%20%28source%20included%29." title="StumbleUpon"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="http://slashdot.org/bookmark.pl?title=Flash%2010%2C%20Massive%20amounts%20of%203D%20particles%20with%20Alchemy%20%28source%20included%29.&amp;url=http%3A%2F%2Fwww.unitzeroone.com%2Fblog%2F2009%2F03%2F18%2Fflash-10-massive-amounts-of-3d-particles-with-alchemy-source-included%2F" title="Slashdot"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/slashdot.png" title="Slashdot" alt="Slashdot" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="http://technorati.com/faves?add=http%3A%2F%2Fwww.unitzeroone.com%2Fblog%2F2009%2F03%2F18%2Fflash-10-massive-amounts-of-3d-particles-with-alchemy-source-included%2F" title="Technorati"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="http://blogmarks.net/my/new.php?mini=1&amp;simple=1&amp;url=http%3A%2F%2Fwww.unitzeroone.com%2Fblog%2F2009%2F03%2F18%2Fflash-10-massive-amounts-of-3d-particles-with-alchemy-source-included%2F&amp;title=Flash%2010%2C%20Massive%20amounts%20of%203D%20particles%20with%20Alchemy%20%28source%20included%29." title="blogmarks"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/blogmarks.png" title="blogmarks" alt="blogmarks" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="" title="BlogMemes"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/" title="BlogMemes" alt="BlogMemes" class="sociable-hovers" /></a></li>
	<li class="sociablelast"><a rel="nofollow" href="" title="Ma.gnolia"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/" title="Ma.gnolia" alt="Ma.gnolia" class="sociable-hovers" /></a></li>
</ul>
</div>


<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://www.unitzeroone.com/blog/2009/03/18/flash-10-massive-amounts-of-3d-particles-with-alchemy-source-included/feed/</wfw:commentRss>
		<slash:comments>71</slash:comments>
		</item>
		<item>
		<title>Playing with Alchemy : C64 Music Playback on Flash 10.</title>
		<link>http://www.unitzeroone.com/blog/2009/02/12/playing-with-alchemy-c64-music-playback-on-flash-10/</link>
		<comments>http://www.unitzeroone.com/blog/2009/02/12/playing-with-alchemy-c64-music-playback-on-flash-10/#comments</comments>
		<pubDate>Thu, 12 Feb 2009 17:15:58 +0000</pubDate>
		<dc:creator>UnitZeroOne</dc:creator>
				<category><![CDATA[Cool Sites]]></category>
		<category><![CDATA[Examples]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Random Thoughts]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[alchemy]]></category>
		<category><![CDATA[c++]]></category>
		<category><![CDATA[c64]]></category>
		<category><![CDATA[opcodes]]></category>
		<category><![CDATA[sid]]></category>
		<category><![CDATA[virtual machine]]></category>

		<guid isPermaLink="false">http://www.unitzeroone.com/blog/?p=176</guid>
		<description><![CDATA[
It's been silent here. Next to tripping to Tokyo to speak at Adobe MAX in Januari and doing some small jobs, I'm doing a very, very cool Flash 10 Project utilizing the upcoming Papervision for Flash 10. For some optimization parts I've been looking into using Alchemy as an easy way to write optimized bytecode. [...]


Related posts:<ol><li><a href='http://www.unitzeroone.com/blog/2009/11/17/triangle3d-small-flash-10-3d-demo/' rel='bookmark' title='Permanent Link: Triangle3D : Small Flash 10 3D demo.'>Triangle3D : Small Flash 10 3D demo.</a> <small> Over the last days I've spent some time twittering...</small></li><li><a href='http://www.unitzeroone.com/blog/2009/11/30/help-me-test-flash-vsync-and-screen-tearing/' rel='bookmark' title='Permanent Link: Help me test! Flash VSync and Screen Tearing.'>Help me test! Flash VSync and Screen Tearing.</a> <small> So, here's a post where I am asking you,...</small></li><li><a href='http://www.unitzeroone.com/blog/2010/05/12/flash-player-10-1-pre-release-on-nexus-one/' rel='bookmark' title='Permanent Link: Flash Player 10.1 pre-release on Nexus One'>Flash Player 10.1 pre-release on Nexus One</a> <small> Nexus One running Flash Player 10.1 from Ralph Hauwert...</small></li></ol>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.unitzeroone.com/labs/tinysidflash/" target="_blank"><img class="alignnone size-full wp-image-180" title="6581" src="http://www.unitzeroone.com/blog/wp-content/uploads/2009/02/6581.jpg" alt="6581" width="430" height="195" /></a></p>
<p>It's been silent here. Next to tripping to Tokyo to speak at Adobe MAX in Januari and doing some small jobs, I'm doing a very, very cool Flash 10 Project utilizing the upcoming Papervision for Flash 10. For some optimization parts I've been looking into using Alchemy as an easy way to write optimized bytecode. As opposed to what some people took from my previous post on Alchemy, I don't hate Alchemy. My point there was that if Alchemy can perform that well, so should ActionScript be able to, with the standard compiler.</p>
<p><span id="more-176"></span></p>
<p>Now, that being said, all work and no play makes jack a dull boy. With no time to spare during the morning, daytime and evening, I took the laptop with me to bed last night, and decided to do something I didn't do before, port something with <strong><a href="http://labs.adobe.com/technologies/alchemy/" target="_blank">Adobe Alchemy</a></strong>. I decided upon a long time thing on my wish list; SID Playback in Flash. <strong><a href="http://en.wikipedia.org/wiki/MOS6581" target="_blank">What is SID ?</a></strong> Well, SID stands for Sound Interface Device, referring to the MOS6581 and it's a programmable audiochip as used in the Commodore 64 and Commodore 128. I grew up with the Commodore 64, and the audio it produces is still something I hold dearly. You are quite likely to have heard a SID chip before, if you listen to the radio, as it is quite a possible you've heard one of these baby's scream. Good recent examples are :</p>
<p><strong><a href="http://www.youtube.com/watch?v=8cWL89fjfUU" target="_blank">Bastian - You've got my love.</a></strong> (the beat in this song comes from Jeroen Tel's Rubicon).</p>
<p><strong><a href="http://www.youtube.com/watch?v=zusMLb44qXE" target="_blank">Nelly Furtado - Do It</a></strong> (controversy all around, <strong><a href="http://en.wikipedia.org/wiki/2007_Timbaland_plagiarism_controversy" target="_blank">Timbaland blatantly stole Glenn Rune Gallefoss's version of Acid Jazzed Evening</a></strong>).</p>
<p><strong><a href="http://www.youtube.com/watch?v=1teWn-HDUv4" target="_blank">De Jeugd van Tegenwoordig - Hollereer</a></strong> (Produced by Bastian, C64 lover himself).</p>
<p>My interest was more playing back the old C64 tunes from games and demos. Keep in mind, an average SID file is about 2kilobyte to 10kilobyte; a perfect Small Web Format for all your music during preloading needs <img src='http://www.unitzeroone.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> . Now, this is something I have been working on before in Flash 9, using the <strong><a href="http://osflash.org/fc64" target="_blank">FC64 project</a></strong>, the amazing Flash C64 emulation effort by Claus Wahlers and Darron Schall. Last year, I even made a start with porting FC64 to Flash 10, but that needed to be dropped in favor of actual client work. SID Playback is something different from playing back .mod .xm or .mid files, as the SID chip doesn't do much on it's own. Essentially, a .SID file is an executable meant to be ran on the 6510, the Commodore 64's CPU. So to playback the file, you not only need to emulate the SID chip, but also the 6510 and the needed registers / memory.</p>
<p>Software emulation of the SID chip has been around for a while, and all modern platforms have a way of playback SID files. Winamp plugins, command line utilities for conversion, it's all there. As is there opensource code to do this. There's libraries for most major languages. So, after a bit of research, I decided upon the <strong><a href="http://www.rsinsch.de/?id=7298b" target="_blank">Linux version of TinySid</a></strong>. This library is small enough and well optimized. It looked simple to port, so I went at it. All in all, 4 hours later, I had this baby up and running! (And an unhappy girlfriend who isn't into the nerd thing, nor is she into listening to chiptunes whilst trying to sleep). Considering my very rusty C and a little hack around I had to do for the audio output, Alchemy shows off it's feathers here. Many kudo's to the Alchemy and Flash Player team for this effort. Just now I spent half an hour building a tiny interface using <strong><a href="http://www.bit-101.com/blog/?p=1217" target="_blank">Keith Peter's Minimal Components</a></strong>, and collected some songs; and here it is.</p>
<p><strong><a href="http://www.unitzeroone.com/labs/tinysidflash/" target="_blank">TinySidFlash (open link, requires Flash 10).</a></strong></p>
<p>My favorites : Politik and Science (A C64 version of Coldplay's the Scientist), Morphing and Turbo. Yes, I love Dane's tunes!</p>
<p>There's no code yet, as this is still very rough and unfinished work. I'm pretty sure that when I get time again, I'll have a go at LibSidPlay instead, since the overall emulation in that library is a lot better.</p>

<div class="sociable">
<div class="sociable_tagline">
<strong>Digg, StumbleUpon, Slash and others:</strong>
</div>
<ul>
	<li class="sociablefirst"><a rel="nofollow" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.unitzeroone.com%2Fblog%2F2009%2F02%2F12%2Fplaying-with-alchemy-c64-music-playback-on-flash-10%2F&amp;title=Playing%20with%20Alchemy%20%3A%20C64%20Music%20Playback%20on%20Flash%2010.&amp;bodytext=%0D%0A%0D%0AIt%27s%20been%20silent%20here.%20Next%20to%20tripping%20to%20Tokyo%20to%20speak%20at%20Adobe%20MAX%20in%20Januari%20and%20doing%20some%20small%20jobs%2C%20I%27m%20doing%20a%20very%2C%20very%20cool%20Flash%2010%20Project%20utilizing%20the%20upcoming%20Papervision%20for%20Flash%2010.%20For%20some%20optimization%20parts%20I%27ve%20been%20looki" title="Digg"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="http://delicious.com/post?url=http%3A%2F%2Fwww.unitzeroone.com%2Fblog%2F2009%2F02%2F12%2Fplaying-with-alchemy-c64-music-playback-on-flash-10%2F&amp;title=Playing%20with%20Alchemy%20%3A%20C64%20Music%20Playback%20on%20Flash%2010.&amp;notes=%0D%0A%0D%0AIt%27s%20been%20silent%20here.%20Next%20to%20tripping%20to%20Tokyo%20to%20speak%20at%20Adobe%20MAX%20in%20Januari%20and%20doing%20some%20small%20jobs%2C%20I%27m%20doing%20a%20very%2C%20very%20cool%20Flash%2010%20Project%20utilizing%20the%20upcoming%20Papervision%20for%20Flash%2010.%20For%20some%20optimization%20parts%20I%27ve%20been%20looki" title="del.icio.us"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="http://www.dzone.com/links/add.html?url=http%3A%2F%2Fwww.unitzeroone.com%2Fblog%2F2009%2F02%2F12%2Fplaying-with-alchemy-c64-music-playback-on-flash-10%2F&amp;title=Playing%20with%20Alchemy%20%3A%20C64%20Music%20Playback%20on%20Flash%2010." title="DZone"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/dzone.png" title="DZone" alt="DZone" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.unitzeroone.com%2Fblog%2F2009%2F02%2F12%2Fplaying-with-alchemy-c64-music-playback-on-flash-10%2F&amp;title=Playing%20with%20Alchemy%20%3A%20C64%20Music%20Playback%20on%20Flash%2010." title="StumbleUpon"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="http://slashdot.org/bookmark.pl?title=Playing%20with%20Alchemy%20%3A%20C64%20Music%20Playback%20on%20Flash%2010.&amp;url=http%3A%2F%2Fwww.unitzeroone.com%2Fblog%2F2009%2F02%2F12%2Fplaying-with-alchemy-c64-music-playback-on-flash-10%2F" title="Slashdot"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/slashdot.png" title="Slashdot" alt="Slashdot" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="http://technorati.com/faves?add=http%3A%2F%2Fwww.unitzeroone.com%2Fblog%2F2009%2F02%2F12%2Fplaying-with-alchemy-c64-music-playback-on-flash-10%2F" title="Technorati"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="http://blogmarks.net/my/new.php?mini=1&amp;simple=1&amp;url=http%3A%2F%2Fwww.unitzeroone.com%2Fblog%2F2009%2F02%2F12%2Fplaying-with-alchemy-c64-music-playback-on-flash-10%2F&amp;title=Playing%20with%20Alchemy%20%3A%20C64%20Music%20Playback%20on%20Flash%2010." title="blogmarks"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/blogmarks.png" title="blogmarks" alt="blogmarks" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="" title="BlogMemes"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/" title="BlogMemes" alt="BlogMemes" class="sociable-hovers" /></a></li>
	<li class="sociablelast"><a rel="nofollow" href="" title="Ma.gnolia"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/" title="Ma.gnolia" alt="Ma.gnolia" class="sociable-hovers" /></a></li>
</ul>
</div>


<p>Related posts:<ol><li><a href='http://www.unitzeroone.com/blog/2009/11/17/triangle3d-small-flash-10-3d-demo/' rel='bookmark' title='Permanent Link: Triangle3D : Small Flash 10 3D demo.'>Triangle3D : Small Flash 10 3D demo.</a> <small> Over the last days I've spent some time twittering...</small></li><li><a href='http://www.unitzeroone.com/blog/2009/11/30/help-me-test-flash-vsync-and-screen-tearing/' rel='bookmark' title='Permanent Link: Help me test! Flash VSync and Screen Tearing.'>Help me test! Flash VSync and Screen Tearing.</a> <small> So, here's a post where I am asking you,...</small></li><li><a href='http://www.unitzeroone.com/blog/2010/05/12/flash-player-10-1-pre-release-on-nexus-one/' rel='bookmark' title='Permanent Link: Flash Player 10.1 pre-release on Nexus One'>Flash Player 10.1 pre-release on Nexus One</a> <small> Nexus One running Flash Player 10.1 from Ralph Hauwert...</small></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.unitzeroone.com/blog/2009/02/12/playing-with-alchemy-c64-music-playback-on-flash-10/feed/</wfw:commentRss>
		<slash:comments>34</slash:comments>
		</item>
		<item>
		<title>Some experiments with the FP10 3D api. Shading &amp; Speed</title>
		<link>http://www.unitzeroone.com/blog/2008/11/24/some-experiments-with-the-fp10-3d-api-shading-speed/</link>
		<comments>http://www.unitzeroone.com/blog/2008/11/24/some-experiments-with-the-fp10-3d-api-shading-speed/#comments</comments>
		<pubDate>Mon, 24 Nov 2008 22:48:08 +0000</pubDate>
		<dc:creator>UnitZeroOne</dc:creator>
				<category><![CDATA[Examples]]></category>
		<category><![CDATA[Papervision3D]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Work]]></category>
		<category><![CDATA[10]]></category>
		<category><![CDATA[3d]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[flash10]]></category>
		<category><![CDATA[flashplayer]]></category>
		<category><![CDATA[fp10]]></category>

		<guid isPermaLink="false">http://www.unitzeroone.com/blog/?p=163</guid>
		<description><![CDATA[Behind the scenes I've been insanely busy for the last months. But just to keep you posted on some progess on my side, here's some demos of me playing around with Flash Player 10's 3D API's.
I'll keep this short, here's some demos.
Some tests with shading : 1, 2, 3, 4, 5, 6
You'll notice that the [...]


Related posts:<ol><li><a href='http://www.unitzeroone.com/blog/2009/11/17/triangle3d-small-flash-10-3d-demo/' rel='bookmark' title='Permanent Link: Triangle3D : Small Flash 10 3D demo.'>Triangle3D : Small Flash 10 3D demo.</a> <small> Over the last days I've spent some time twittering...</small></li><li><a href='http://www.unitzeroone.com/blog/2009/11/30/help-me-test-flash-vsync-and-screen-tearing/' rel='bookmark' title='Permanent Link: Help me test! Flash VSync and Screen Tearing.'>Help me test! Flash VSync and Screen Tearing.</a> <small> So, here's a post where I am asking you,...</small></li><li><a href='http://www.unitzeroone.com/blog/2009/09/28/goodbye-papervision/' rel='bookmark' title='Permanent Link: Goodbye, Papervision.'>Goodbye, Papervision.</a> <small> Last week at Flash on the Beach I had...</small></li></ol>]]></description>
			<content:encoded><![CDATA[<div id="attachment_165" class="wp-caption alignnone" style="width: 440px"><a href="http://www.unitzeroone.com/blog/wp-content/uploads/2008/11/elephant1.jpg"><img class="size-full wp-image-165" title="elephant" src="http://www.unitzeroone.com/blog/wp-content/uploads/2008/11/elephant1.jpg" alt="A smooth shaded elephant." width="430" height="220" /></a><p class="wp-caption-text">A smooth shaded elephant.</p></div>
<p>Behind the scenes I've been insanely busy for the last months. But just to keep you posted on some progess on my side, here's some demos of me playing around with Flash Player 10's 3D API's.</p>
<p>I'll keep this short, here's some demos.</p>
<p>Some tests with shading : <a href="http://unitzeroone.com/labs/fp10_shadetests/Test_320_Faces.swf" target="_blank"><strong>1</strong></a>, <a href="http://unitzeroone.com/labs/fp10_shadetests/Test_1121_Faces.swf" target="_blank"><strong>2</strong></a>, <a href="http://unitzeroone.com/labs/fp10_shadetests/Test_1600_Faces.swf" target="_blank"><strong>3</strong></a>, <a href="http://unitzeroone.com/labs/fp10_shadetests/Test_1920_Faces.swf" target="_blank"><strong>4</strong></a>, <a href="http://unitzeroone.com/labs/fp10_shadetests/Test_3600_Faces.swf" target="_blank"><strong>5</strong></a>, <a href="http://www.unitzeroone.com/labs/fp10_shadetests/Test_10150_Faces.swf" target="_blank"><strong>6</strong></a></p>
<p>You'll notice that the speed slows down when you go up in the number of examples. The amount of triangles increase per example. Since shading is still one of the most heavy appliances of any 3D engine, I thought it would be good to start out testing that, and see how it would work in a realistic 3D engine environment.</p>
<p>Next, this is not adviced to look at if you get car-sick easily.....<a href="http://unitzeroone.com/labs/fp10_speed/Main.swf" target="_blank"><strong>a pure speed test</strong></a>.</p>
<p>A bit slower then it could run using any of the new wmodes, but for speeds sake, we're getting there.</p>
<p>Source code not available yet. First I'm looking at how to optimize. And yes, I'm working hard on a new version of Papervision3D, with the rest of the team. Soon I'll post some better examples, including a <a href="http://en.wikipedia.org/w/index.php?title=Binary_Space_Partition" target="_blank"><strong>BSP</strong></a> example.</p>

<div class="sociable">
<div class="sociable_tagline">
<strong>Digg, StumbleUpon, Slash and others:</strong>
</div>
<ul>
	<li class="sociablefirst"><a rel="nofollow" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.unitzeroone.com%2Fblog%2F2008%2F11%2F24%2Fsome-experiments-with-the-fp10-3d-api-shading-speed%2F&amp;title=Some%20experiments%20with%20the%20FP10%203D%20api.%20Shading%20%26%20Speed&amp;bodytext=%0D%0A%0D%0ABehind%20the%20scenes%20I%27ve%20been%20insanely%20busy%20for%20the%20last%20months.%20But%20just%20to%20keep%20you%20posted%20on%20some%20progess%20on%20my%20side%2C%20here%27s%20some%20demos%20of%20me%20playing%20around%20with%20Flash%20Player%2010%27s%203D%20API%27s.%0D%0A%0D%0AI%27ll%20keep%20this%20short%2C%20here%27s%20some%20demos.%0D%0A%0D%0ASome%20tes" title="Digg"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="http://delicious.com/post?url=http%3A%2F%2Fwww.unitzeroone.com%2Fblog%2F2008%2F11%2F24%2Fsome-experiments-with-the-fp10-3d-api-shading-speed%2F&amp;title=Some%20experiments%20with%20the%20FP10%203D%20api.%20Shading%20%26%20Speed&amp;notes=%0D%0A%0D%0ABehind%20the%20scenes%20I%27ve%20been%20insanely%20busy%20for%20the%20last%20months.%20But%20just%20to%20keep%20you%20posted%20on%20some%20progess%20on%20my%20side%2C%20here%27s%20some%20demos%20of%20me%20playing%20around%20with%20Flash%20Player%2010%27s%203D%20API%27s.%0D%0A%0D%0AI%27ll%20keep%20this%20short%2C%20here%27s%20some%20demos.%0D%0A%0D%0ASome%20tes" title="del.icio.us"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="http://www.dzone.com/links/add.html?url=http%3A%2F%2Fwww.unitzeroone.com%2Fblog%2F2008%2F11%2F24%2Fsome-experiments-with-the-fp10-3d-api-shading-speed%2F&amp;title=Some%20experiments%20with%20the%20FP10%203D%20api.%20Shading%20%26%20Speed" title="DZone"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/dzone.png" title="DZone" alt="DZone" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.unitzeroone.com%2Fblog%2F2008%2F11%2F24%2Fsome-experiments-with-the-fp10-3d-api-shading-speed%2F&amp;title=Some%20experiments%20with%20the%20FP10%203D%20api.%20Shading%20%26%20Speed" title="StumbleUpon"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="http://slashdot.org/bookmark.pl?title=Some%20experiments%20with%20the%20FP10%203D%20api.%20Shading%20%26%20Speed&amp;url=http%3A%2F%2Fwww.unitzeroone.com%2Fblog%2F2008%2F11%2F24%2Fsome-experiments-with-the-fp10-3d-api-shading-speed%2F" title="Slashdot"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/slashdot.png" title="Slashdot" alt="Slashdot" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="http://technorati.com/faves?add=http%3A%2F%2Fwww.unitzeroone.com%2Fblog%2F2008%2F11%2F24%2Fsome-experiments-with-the-fp10-3d-api-shading-speed%2F" title="Technorati"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="http://blogmarks.net/my/new.php?mini=1&amp;simple=1&amp;url=http%3A%2F%2Fwww.unitzeroone.com%2Fblog%2F2008%2F11%2F24%2Fsome-experiments-with-the-fp10-3d-api-shading-speed%2F&amp;title=Some%20experiments%20with%20the%20FP10%203D%20api.%20Shading%20%26%20Speed" title="blogmarks"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/blogmarks.png" title="blogmarks" alt="blogmarks" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="" title="BlogMemes"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/" title="BlogMemes" alt="BlogMemes" class="sociable-hovers" /></a></li>
	<li class="sociablelast"><a rel="nofollow" href="" title="Ma.gnolia"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/" title="Ma.gnolia" alt="Ma.gnolia" class="sociable-hovers" /></a></li>
</ul>
</div>


<p>Related posts:<ol><li><a href='http://www.unitzeroone.com/blog/2009/11/17/triangle3d-small-flash-10-3d-demo/' rel='bookmark' title='Permanent Link: Triangle3D : Small Flash 10 3D demo.'>Triangle3D : Small Flash 10 3D demo.</a> <small> Over the last days I've spent some time twittering...</small></li><li><a href='http://www.unitzeroone.com/blog/2009/11/30/help-me-test-flash-vsync-and-screen-tearing/' rel='bookmark' title='Permanent Link: Help me test! Flash VSync and Screen Tearing.'>Help me test! Flash VSync and Screen Tearing.</a> <small> So, here's a post where I am asking you,...</small></li><li><a href='http://www.unitzeroone.com/blog/2009/09/28/goodbye-papervision/' rel='bookmark' title='Permanent Link: Goodbye, Papervision.'>Goodbye, Papervision.</a> <small> Last week at Flash on the Beach I had...</small></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.unitzeroone.com/blog/2008/11/24/some-experiments-with-the-fp10-3d-api-shading-speed/feed/</wfw:commentRss>
		<slash:comments>22</slash:comments>
		</item>
		<item>
		<title>OpenSource Image Dithering for AS3. (demo+source).</title>
		<link>http://www.unitzeroone.com/blog/2008/05/06/opensource-image-dithering-for-as3-demosource/</link>
		<comments>http://www.unitzeroone.com/blog/2008/05/06/opensource-image-dithering-for-as3-demosource/#comments</comments>
		<pubDate>Tue, 06 May 2008 15:47:28 +0000</pubDate>
		<dc:creator>UnitZeroOne</dc:creator>
				<category><![CDATA[Examples]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[dithering]]></category>
		<category><![CDATA[halftone]]></category>
		<category><![CDATA[image]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[processing]]></category>

		<guid isPermaLink="false">http://www.unitzeroone.com/blog/?p=155</guid>
		<description><![CDATA[
Intro

As promised in my previous post, here's a small opensource project from my side. It's tiny, really, but I hadn't seen an ActionScript implementation of any form of Image dithering before.
Dithering....what ? 
Just a brief explanation what dithering in this context means. From wikipedia :
"Dither is an intentionally applied form of noise, used to randomize [...]


Related posts:<ol><li><a href='http://www.unitzeroone.com/blog/2009/11/17/triangle3d-small-flash-10-3d-demo/' rel='bookmark' title='Permanent Link: Triangle3D : Small Flash 10 3D demo.'>Triangle3D : Small Flash 10 3D demo.</a> <small> Over the last days I've spent some time twittering...</small></li></ol>]]></description>
			<content:encoded><![CDATA[<p><a title="Image Dithering" href="http://www.unitzeroone.com/examples/ImageDithering/index.html" target="_blank"><img class="alignnone size-full wp-image-156" title="Lena normal and Lena Dithered" src="http://www.unitzeroone.com/blog/wp-content/uploads/2008/05/lenas.jpg" alt="" width="430" height="200" /></a></p>
<p><strong>Intro<br />
</strong></p>
<p>As promised in my previous post, here's a small opensource project from my side. It's tiny, really, but I hadn't seen an ActionScript implementation of any form of Image dithering before.</p>
<p><strong>Dithering....what ? </strong></p>
<p>Just a brief explanation what dithering in this context means. <a href="http://en.wikipedia.org/wiki/Dithering" target="_blank">From wikipedia</a> :</p>
<p><em>"<strong>Dither</strong> is an intentionally applied form of noise, used to randomize quantization error, thereby preventing large-scale patterns such as contouring that are more objectionable than uncorrelated noise."</em></p>
<p>Words to take note of in that sentence are quantization, and "intentionally applied form of noise". In our case quantization is the removal or swapping of colors. The form of noise applied differs over the several implementations and in so called "ordered dithering" it's hardly noise, rather a carefully chosen threshold matrix.</p>
<p><strong>Dithering, why ? </strong></p>
<p>Dithering imagery has been around for some time. Put a close eye to any black and white printed newspaper's pictures and you'll see the effect.</p>
<p>It's basically been around a lot longer then I have in my 28 years of life...that's for sure. I first learned terms like "ordered dithering" and "Floyd-Steinberg Error Diffusion" in my young and early days on the Amiga hardware. See, in those days computer hardware wasn't capable of displaying the huge arrays of colours like now-a-days. Since you then had few colours to spare (a typical amiga workbench ran at 16 to 128 colours or so), you needed to be creative to get yourself a nicely pimped desktop image, whilst still sparing colours for your icons.</p>
<p>A better example of a dithering implementation for our industry is probably that checkbox when you want to save for web in Photoshop, using GIF. Or when you print something on a pure black and white printer.</p>
<p>Conclusion; dithering is normally used to create the illusion of tones on a device which is otherwise not capable of displaying it. So why port this to our ARGB/32Bit enabled Flash Player ? Part of the reason why I worked on this is because I just like the aesthetic of the effect. It just brings back wonderful memories of pimping my Amiga desktop.</p>
<p><strong>Dithering in AS3</strong></p>
<p>So, the algorithms for dithering are really quite simple. I was playing around with <span style="text-decoration: line-through;">hydra</span> Pixel Bender and had some ideas on converting some old algorithms to have them run in realtime. Then I thought I could make this run in realtime on Flash 9. So, first I did a version of the Algo in pure AS3. I played around with converting it to something fast enough to run at at least 20 frames per second on an average machine...and painfully failed. The remains are the AS3 version (<span style="text-decoration: line-through;">hydra</span> Pixel Bender version still in progress)....and I decided to clean that up a bit, and have it released as an OS project for anyone to use.</p>
<p>Currently it only contains so-called error-diffusion based ditherers. They make the most sense anyway, since the ordered ditherers really have nasty visual sideeffects, like <a title="Raster" href="http://www.pl32.com/tutorial/sraster/sraster.htm" target="_blank">Bayer's crosshatches</a>. Check the variants out in this little demo application using the class.</p>
<p><a href="http://www.unitzeroone.com/examples/ImageDithering/index.html" target="_blank">The Demo</a> : try and use "No Dithering" first to see the effects of regular palette conversion.</p>
<p><a href="http://code.google.com/p/imageditheringas3/" target="_blank">The Source</a></p>
<p>Usage :</p>
<p>ImageDithering.dither(bitmapData, type, levels, grayscale);</p>
<p>Where :</p>
<p><strong>BitmapData</strong> is the image to be manipulated.</p>
<p><strong>Type</strong> is the form of dithering, currently supported :</p>
<ol>
<li>ImageDitheringType.FLOYD_STEINBERG</li>
<li>ImageDitheringType.FALSE_FLOYD_STEINBERG</li>
<li>ImageDitheringType.STUCK</li>
<li>ImageDitheringType.NO_DITHER</li>
</ol>
<p><strong>Levels</strong> is the amount of colour levels to quantize to per channel.</p>
<p><strong>Grayscale</strong> is a boolean indicating whether to convert the image to grayscale before the process is ran.</p>
<p>Right click and viewsource on the example to see how it's implemented in Flex.</p>
<p>Quick update : <a title="Quasimondo" href="http://www.quasimondo.com/" target="_blank">Mario Klingemann</a>, working on <a href="http://a.viary.com/blog/posts/a-video-of-peacock-in-action" target="_blank">Aviary's Peacock</a> did a <a href="http://flickr.com/photos/quasimondo/2471315060/" target="_blank">quick test with it</a>. My effort had some use anyway!</p>

<div class="sociable">
<div class="sociable_tagline">
<strong>Digg, StumbleUpon, Slash and others:</strong>
</div>
<ul>
	<li class="sociablefirst"><a rel="nofollow" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.unitzeroone.com%2Fblog%2F2008%2F05%2F06%2Fopensource-image-dithering-for-as3-demosource%2F&amp;title=OpenSource%20Image%20Dithering%20for%20AS3.%20%28demo%2Bsource%29.&amp;bodytext=%0D%0A%0D%0AIntro%0D%0A%0D%0A%0D%0AAs%20promised%20in%20my%20previous%20post%2C%20here%27s%20a%20small%20opensource%20project%20from%20my%20side.%20It%27s%20tiny%2C%20really%2C%20but%20I%20hadn%27t%20seen%20an%20ActionScript%20implementation%20of%20any%20form%20of%20Image%20dithering%20before.%0D%0A%0D%0ADithering....what%20%3F%20%0D%0A%0D%0AJust%20a%20brief%20explana" title="Digg"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="http://delicious.com/post?url=http%3A%2F%2Fwww.unitzeroone.com%2Fblog%2F2008%2F05%2F06%2Fopensource-image-dithering-for-as3-demosource%2F&amp;title=OpenSource%20Image%20Dithering%20for%20AS3.%20%28demo%2Bsource%29.&amp;notes=%0D%0A%0D%0AIntro%0D%0A%0D%0A%0D%0AAs%20promised%20in%20my%20previous%20post%2C%20here%27s%20a%20small%20opensource%20project%20from%20my%20side.%20It%27s%20tiny%2C%20really%2C%20but%20I%20hadn%27t%20seen%20an%20ActionScript%20implementation%20of%20any%20form%20of%20Image%20dithering%20before.%0D%0A%0D%0ADithering....what%20%3F%20%0D%0A%0D%0AJust%20a%20brief%20explana" title="del.icio.us"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="http://www.dzone.com/links/add.html?url=http%3A%2F%2Fwww.unitzeroone.com%2Fblog%2F2008%2F05%2F06%2Fopensource-image-dithering-for-as3-demosource%2F&amp;title=OpenSource%20Image%20Dithering%20for%20AS3.%20%28demo%2Bsource%29." title="DZone"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/dzone.png" title="DZone" alt="DZone" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.unitzeroone.com%2Fblog%2F2008%2F05%2F06%2Fopensource-image-dithering-for-as3-demosource%2F&amp;title=OpenSource%20Image%20Dithering%20for%20AS3.%20%28demo%2Bsource%29." title="StumbleUpon"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="http://slashdot.org/bookmark.pl?title=OpenSource%20Image%20Dithering%20for%20AS3.%20%28demo%2Bsource%29.&amp;url=http%3A%2F%2Fwww.unitzeroone.com%2Fblog%2F2008%2F05%2F06%2Fopensource-image-dithering-for-as3-demosource%2F" title="Slashdot"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/slashdot.png" title="Slashdot" alt="Slashdot" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="http://technorati.com/faves?add=http%3A%2F%2Fwww.unitzeroone.com%2Fblog%2F2008%2F05%2F06%2Fopensource-image-dithering-for-as3-demosource%2F" title="Technorati"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="http://blogmarks.net/my/new.php?mini=1&amp;simple=1&amp;url=http%3A%2F%2Fwww.unitzeroone.com%2Fblog%2F2008%2F05%2F06%2Fopensource-image-dithering-for-as3-demosource%2F&amp;title=OpenSource%20Image%20Dithering%20for%20AS3.%20%28demo%2Bsource%29." title="blogmarks"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/blogmarks.png" title="blogmarks" alt="blogmarks" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="" title="BlogMemes"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/" title="BlogMemes" alt="BlogMemes" class="sociable-hovers" /></a></li>
	<li class="sociablelast"><a rel="nofollow" href="" title="Ma.gnolia"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/" title="Ma.gnolia" alt="Ma.gnolia" class="sociable-hovers" /></a></li>
</ul>
</div>


<p>Related posts:<ol><li><a href='http://www.unitzeroone.com/blog/2009/11/17/triangle3d-small-flash-10-3d-demo/' rel='bookmark' title='Permanent Link: Triangle3D : Small Flash 10 3D demo.'>Triangle3D : Small Flash 10 3D demo.</a> <small> Over the last days I've spent some time twittering...</small></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.unitzeroone.com/blog/2008/05/06/opensource-image-dithering-for-as3-demosource/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Papervision3D + Water Simulation = Waterballs</title>
		<link>http://www.unitzeroone.com/blog/2008/03/19/papervision3d-water-simulation-waterballs/</link>
		<comments>http://www.unitzeroone.com/blog/2008/03/19/papervision3d-water-simulation-waterballs/#comments</comments>
		<pubDate>Tue, 18 Mar 2008 23:49:48 +0000</pubDate>
		<dc:creator>UnitZeroOne</dc:creator>
				<category><![CDATA[Cool Sites]]></category>
		<category><![CDATA[Examples]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Papervision3D]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Work]]></category>
		<category><![CDATA[3d]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[Ball]]></category>
		<category><![CDATA[Water]]></category>

		<guid isPermaLink="false">http://www.unitzeroone.com/blog/2008/03/19/papervision3d-water-simulation-waterballs/</guid>
		<description><![CDATA[ 
You always have projects lying around that are to be finished...but probably never have the time for...
Today Exey Panteleev posted some creative use of Papervision3D and the Shaders in 2.0. Accompanying to his post he asked if it would be possible to run water simulation with Papervision3D....
Actually, yes...
Water Ball Experiment 1 Water Ball 2(cpu [...]


Related posts:<ol><li><a href='http://www.unitzeroone.com/blog/2009/11/17/triangle3d-small-flash-10-3d-demo/' rel='bookmark' title='Permanent Link: Triangle3D : Small Flash 10 3D demo.'>Triangle3D : Small Flash 10 3D demo.</a> <small> Over the last days I've spent some time twittering...</small></li><li><a href='http://www.unitzeroone.com/blog/2009/09/28/goodbye-papervision/' rel='bookmark' title='Permanent Link: Goodbye, Papervision.'>Goodbye, Papervision.</a> <small> Last week at Flash on the Beach I had...</small></li><li><a href='http://www.unitzeroone.com/blog/2009/11/30/help-me-test-flash-vsync-and-screen-tearing/' rel='bookmark' title='Permanent Link: Help me test! Flash VSync and Screen Tearing.'>Help me test! Flash VSync and Screen Tearing.</a> <small> So, here's a post where I am asking you,...</small></li></ol>]]></description>
			<content:encoded><![CDATA[<p> <a href="http://www.unitzeroone.com/blog/2008/03/19/papervision3d-water-simulation-waterballs/waterball-2/" target="_blank" rel="attachment wp-att-150" title="Waterball 2"><img src="http://www.unitzeroone.com/blog/wp-content/uploads/2008/03/waterball2.jpg" alt="Waterball 2" /></a></p>
<p>You always have projects lying around that are to be finished...but probably never have the time for...</p>
<p>Today <strong><a href="http://exey.ru/blog/home/fluid-simulation-pv3d-and-away3d" title="Exey's blog" target="_blank">Exey Panteleev</a></strong> posted <strong><a href="http://www.nabble.com/Fluid-Simulation-3D---Water-to16130437.html" target="_blank">some creative use of Papervision3D</a></strong> and the Shaders in 2.0. Accompanying to his post he asked if it would be possible to run water simulation with Papervision3D....</p>
<p><em>Actually, yes...</em><br />
<strong><a href="http://www.unitzeroone.com/papervision/waterBump/bin-release/WaterBall.swf" title="Waterball_1" target="_blank">Water Ball Experiment 1</a> </strong><strong><a href="http://www.unitzeroone.com/papervision/waterBall2/bin-release/WaterBall.swf" title="Waterball_2" target="_blank">Water Ball 2(cpu burner alert!)</a></strong></p>
<p>As one of those things I never finished and probably don't have time to finish within the next month or so, I have two examples of Papervision3D running interactive water on top of a sphere.</p>
<p>Disclaimer : these things are hacked together experiments from a couple of months ago...as a result performance isn't to good. I'm sure that given some time they can run smooth, without burning your cpu to the ground. Hope you enjoy anyway <img src='http://www.unitzeroone.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>

<div class="sociable">
<div class="sociable_tagline">
<strong>Digg, StumbleUpon, Slash and others:</strong>
</div>
<ul>
	<li class="sociablefirst"><a rel="nofollow" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.unitzeroone.com%2Fblog%2F2008%2F03%2F19%2Fpapervision3d-water-simulation-waterballs%2F&amp;title=Papervision3D%20%2B%20Water%20Simulation%20%3D%20Waterballs&amp;bodytext=%20%0D%0A%0D%0AYou%20always%20have%20projects%20lying%20around%20that%20are%20to%20be%20finished...but%20probably%20never%20have%20the%20time%20for...%0D%0A%0D%0AToday%20Exey%20Panteleev%20posted%20some%20creative%20use%20of%20Papervision3D%20and%20the%20Shaders%20in%202.0.%20Accompanying%20to%20his%20post%20he%20asked%20if%20it%20would%20be%20po" title="Digg"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="http://delicious.com/post?url=http%3A%2F%2Fwww.unitzeroone.com%2Fblog%2F2008%2F03%2F19%2Fpapervision3d-water-simulation-waterballs%2F&amp;title=Papervision3D%20%2B%20Water%20Simulation%20%3D%20Waterballs&amp;notes=%20%0D%0A%0D%0AYou%20always%20have%20projects%20lying%20around%20that%20are%20to%20be%20finished...but%20probably%20never%20have%20the%20time%20for...%0D%0A%0D%0AToday%20Exey%20Panteleev%20posted%20some%20creative%20use%20of%20Papervision3D%20and%20the%20Shaders%20in%202.0.%20Accompanying%20to%20his%20post%20he%20asked%20if%20it%20would%20be%20po" title="del.icio.us"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="http://www.dzone.com/links/add.html?url=http%3A%2F%2Fwww.unitzeroone.com%2Fblog%2F2008%2F03%2F19%2Fpapervision3d-water-simulation-waterballs%2F&amp;title=Papervision3D%20%2B%20Water%20Simulation%20%3D%20Waterballs" title="DZone"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/dzone.png" title="DZone" alt="DZone" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.unitzeroone.com%2Fblog%2F2008%2F03%2F19%2Fpapervision3d-water-simulation-waterballs%2F&amp;title=Papervision3D%20%2B%20Water%20Simulation%20%3D%20Waterballs" title="StumbleUpon"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="http://slashdot.org/bookmark.pl?title=Papervision3D%20%2B%20Water%20Simulation%20%3D%20Waterballs&amp;url=http%3A%2F%2Fwww.unitzeroone.com%2Fblog%2F2008%2F03%2F19%2Fpapervision3d-water-simulation-waterballs%2F" title="Slashdot"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/slashdot.png" title="Slashdot" alt="Slashdot" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="http://technorati.com/faves?add=http%3A%2F%2Fwww.unitzeroone.com%2Fblog%2F2008%2F03%2F19%2Fpapervision3d-water-simulation-waterballs%2F" title="Technorati"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="http://blogmarks.net/my/new.php?mini=1&amp;simple=1&amp;url=http%3A%2F%2Fwww.unitzeroone.com%2Fblog%2F2008%2F03%2F19%2Fpapervision3d-water-simulation-waterballs%2F&amp;title=Papervision3D%20%2B%20Water%20Simulation%20%3D%20Waterballs" title="blogmarks"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/blogmarks.png" title="blogmarks" alt="blogmarks" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="" title="BlogMemes"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/" title="BlogMemes" alt="BlogMemes" class="sociable-hovers" /></a></li>
	<li class="sociablelast"><a rel="nofollow" href="" title="Ma.gnolia"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/" title="Ma.gnolia" alt="Ma.gnolia" class="sociable-hovers" /></a></li>
</ul>
</div>


<p>Related posts:<ol><li><a href='http://www.unitzeroone.com/blog/2009/11/17/triangle3d-small-flash-10-3d-demo/' rel='bookmark' title='Permanent Link: Triangle3D : Small Flash 10 3D demo.'>Triangle3D : Small Flash 10 3D demo.</a> <small> Over the last days I've spent some time twittering...</small></li><li><a href='http://www.unitzeroone.com/blog/2009/09/28/goodbye-papervision/' rel='bookmark' title='Permanent Link: Goodbye, Papervision.'>Goodbye, Papervision.</a> <small> Last week at Flash on the Beach I had...</small></li><li><a href='http://www.unitzeroone.com/blog/2009/11/30/help-me-test-flash-vsync-and-screen-tearing/' rel='bookmark' title='Permanent Link: Help me test! Flash VSync and Screen Tearing.'>Help me test! Flash VSync and Screen Tearing.</a> <small> So, here's a post where I am asking you,...</small></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.unitzeroone.com/blog/2008/03/19/papervision3d-water-simulation-waterballs/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Papervision3D : Cut any mesh into 2 new meshes. (source).</title>
		<link>http://www.unitzeroone.com/blog/2008/03/17/papervision3d-cut-any-mesh-into-2-new-meshes-source/</link>
		<comments>http://www.unitzeroone.com/blog/2008/03/17/papervision3d-cut-any-mesh-into-2-new-meshes-source/#comments</comments>
		<pubDate>Mon, 17 Mar 2008 14:36:15 +0000</pubDate>
		<dc:creator>UnitZeroOne</dc:creator>
				<category><![CDATA[Examples]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Papervision3D]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[3d]]></category>
		<category><![CDATA[Cutting]]></category>
		<category><![CDATA[example]]></category>
		<category><![CDATA[Mesh]]></category>
		<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://www.unitzeroone.com/blog/2008/03/17/papervision3d-cut-any-mesh-into-2-new-meshes-source/</guid>
		<description><![CDATA[
A nice addition to the Papervision3D code base. With the latest repository version of Papervision3D 2.0 / GreatWhite, it is possible to cut any TriangleMesh into half. Here's how :
var meshes:Array = MeshUtil.cutTriangleMesh(triangleMesh, cuttingPlane);
Where the cutting plane is a Plane3D and the triangle mesh is any object with it's own triangle geometry, including for instance [...]


Related posts:<ol><li><a href='http://www.unitzeroone.com/blog/2009/09/28/goodbye-papervision/' rel='bookmark' title='Permanent Link: Goodbye, Papervision.'>Goodbye, Papervision.</a> <small> Last week at Flash on the Beach I had...</small></li><li><a href='http://www.unitzeroone.com/blog/2010/05/12/flash-player-10-1-pre-release-on-nexus-one/' rel='bookmark' title='Permanent Link: Flash Player 10.1 pre-release on Nexus One'>Flash Player 10.1 pre-release on Nexus One</a> <small> Nexus One running Flash Player 10.1 from Ralph Hauwert...</small></li><li><a href='http://www.unitzeroone.com/blog/2009/09/08/source-better-flash-10-3d-interaction-arcball/' rel='bookmark' title='Permanent Link: Source : Better Flash 10 3D interaction : ArcBall'>Source : Better Flash 10 3D interaction : ArcBall</a> <small> With the addition of the 2.5d API in Flash...</small></li></ol>]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.unitzeroone.com/blog/wp-content/uploads/2008/03/halfsphere.jpg" alt="Halved Sphere Example" /></p>
<p>A nice addition to the Papervision3D code base. With the latest repository version of Papervision3D 2.0 / GreatWhite, it is possible to cut any TriangleMesh into half. Here's how :</p>
<p><strong><em>var meshes:Array = MeshUtil.cutTriangleMesh(triangleMesh, cuttingPlane);</em></strong></p>
<p>Where the cutting plane is a Plane3D and the triangle mesh is any object with it's own triangle geometry, including for instance ASE, DAE, MD2 or Collada, but also all primitives.</p>
<p>Here's an example source for download : <a href="http://www.unitzeroone.com/blog/wp-content/uploads/2008/03/meshcutting.zip" title="Mesh Cutting sources">Mesh Cutting sources</a></p>

<div class="sociable">
<div class="sociable_tagline">
<strong>Digg, StumbleUpon, Slash and others:</strong>
</div>
<ul>
	<li class="sociablefirst"><a rel="nofollow" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.unitzeroone.com%2Fblog%2F2008%2F03%2F17%2Fpapervision3d-cut-any-mesh-into-2-new-meshes-source%2F&amp;title=Papervision3D%20%3A%20Cut%20any%20mesh%20into%202%20new%20meshes.%20%28source%29.&amp;bodytext=%0D%0A%0D%0AA%20nice%20addition%20to%20the%20Papervision3D%20code%20base.%20With%20the%20latest%20repository%20version%20of%20Papervision3D%202.0%20%2F%20GreatWhite%2C%20it%20is%20possible%20to%20cut%20any%20TriangleMesh%20into%20half.%20Here%27s%20how%20%3A%0D%0A%0D%0Avar%20meshes%3AArray%20%3D%20MeshUtil.cutTriangleMesh%28triangleMesh%2C%20cutt" title="Digg"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="http://delicious.com/post?url=http%3A%2F%2Fwww.unitzeroone.com%2Fblog%2F2008%2F03%2F17%2Fpapervision3d-cut-any-mesh-into-2-new-meshes-source%2F&amp;title=Papervision3D%20%3A%20Cut%20any%20mesh%20into%202%20new%20meshes.%20%28source%29.&amp;notes=%0D%0A%0D%0AA%20nice%20addition%20to%20the%20Papervision3D%20code%20base.%20With%20the%20latest%20repository%20version%20of%20Papervision3D%202.0%20%2F%20GreatWhite%2C%20it%20is%20possible%20to%20cut%20any%20TriangleMesh%20into%20half.%20Here%27s%20how%20%3A%0D%0A%0D%0Avar%20meshes%3AArray%20%3D%20MeshUtil.cutTriangleMesh%28triangleMesh%2C%20cutt" title="del.icio.us"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="http://www.dzone.com/links/add.html?url=http%3A%2F%2Fwww.unitzeroone.com%2Fblog%2F2008%2F03%2F17%2Fpapervision3d-cut-any-mesh-into-2-new-meshes-source%2F&amp;title=Papervision3D%20%3A%20Cut%20any%20mesh%20into%202%20new%20meshes.%20%28source%29." title="DZone"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/dzone.png" title="DZone" alt="DZone" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.unitzeroone.com%2Fblog%2F2008%2F03%2F17%2Fpapervision3d-cut-any-mesh-into-2-new-meshes-source%2F&amp;title=Papervision3D%20%3A%20Cut%20any%20mesh%20into%202%20new%20meshes.%20%28source%29." title="StumbleUpon"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="http://slashdot.org/bookmark.pl?title=Papervision3D%20%3A%20Cut%20any%20mesh%20into%202%20new%20meshes.%20%28source%29.&amp;url=http%3A%2F%2Fwww.unitzeroone.com%2Fblog%2F2008%2F03%2F17%2Fpapervision3d-cut-any-mesh-into-2-new-meshes-source%2F" title="Slashdot"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/slashdot.png" title="Slashdot" alt="Slashdot" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="http://technorati.com/faves?add=http%3A%2F%2Fwww.unitzeroone.com%2Fblog%2F2008%2F03%2F17%2Fpapervision3d-cut-any-mesh-into-2-new-meshes-source%2F" title="Technorati"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="http://blogmarks.net/my/new.php?mini=1&amp;simple=1&amp;url=http%3A%2F%2Fwww.unitzeroone.com%2Fblog%2F2008%2F03%2F17%2Fpapervision3d-cut-any-mesh-into-2-new-meshes-source%2F&amp;title=Papervision3D%20%3A%20Cut%20any%20mesh%20into%202%20new%20meshes.%20%28source%29." title="blogmarks"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/blogmarks.png" title="blogmarks" alt="blogmarks" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="" title="BlogMemes"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/" title="BlogMemes" alt="BlogMemes" class="sociable-hovers" /></a></li>
	<li class="sociablelast"><a rel="nofollow" href="" title="Ma.gnolia"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/" title="Ma.gnolia" alt="Ma.gnolia" class="sociable-hovers" /></a></li>
</ul>
</div>


<p>Related posts:<ol><li><a href='http://www.unitzeroone.com/blog/2009/09/28/goodbye-papervision/' rel='bookmark' title='Permanent Link: Goodbye, Papervision.'>Goodbye, Papervision.</a> <small> Last week at Flash on the Beach I had...</small></li><li><a href='http://www.unitzeroone.com/blog/2010/05/12/flash-player-10-1-pre-release-on-nexus-one/' rel='bookmark' title='Permanent Link: Flash Player 10.1 pre-release on Nexus One'>Flash Player 10.1 pre-release on Nexus One</a> <small> Nexus One running Flash Player 10.1 from Ralph Hauwert...</small></li><li><a href='http://www.unitzeroone.com/blog/2009/09/08/source-better-flash-10-3d-interaction-arcball/' rel='bookmark' title='Permanent Link: Source : Better Flash 10 3D interaction : ArcBall'>Source : Better Flash 10 3D interaction : ArcBall</a> <small> With the addition of the 2.5d API in Flash...</small></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.unitzeroone.com/blog/2008/03/17/papervision3d-cut-any-mesh-into-2-new-meshes-source/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Papervision3D Shaders / Bumpmap example sourcecode for CS3</title>
		<link>http://www.unitzeroone.com/blog/2008/03/12/papervision3d-shaders-bumpmap-example-sourcecode-for-cs3/</link>
		<comments>http://www.unitzeroone.com/blog/2008/03/12/papervision3d-shaders-bumpmap-example-sourcecode-for-cs3/#comments</comments>
		<pubDate>Wed, 12 Mar 2008 15:04:25 +0000</pubDate>
		<dc:creator>UnitZeroOne</dc:creator>
				<category><![CDATA[Conferences]]></category>
		<category><![CDATA[Examples]]></category>
		<category><![CDATA[FITC Amsterdam 2008]]></category>
		<category><![CDATA[Papervision3D]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Workshop]]></category>
		<category><![CDATA[3d]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[Bumpmap]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[example]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Shaders]]></category>
		<category><![CDATA[source]]></category>
		<category><![CDATA[Sourcecode]]></category>

		<guid isPermaLink="false">http://www.unitzeroone.com/blog/2008/03/12/papervision3d-shaders-bumpmap-example-sourcecode-for-cs3/</guid>
		<description><![CDATA[
This demo / source file is one which was used during the Papervision3D Workshop in Amsterdam, during the fantastic FITC Amsterdam 2008 event. These are the modified final sources for the example I did at the end of the day. Although quite simple, I think they are very useful at illustrating on how to use [...]


Related posts:<ol><li><a href='http://www.unitzeroone.com/blog/2009/11/17/triangle3d-small-flash-10-3d-demo/' rel='bookmark' title='Permanent Link: Triangle3D : Small Flash 10 3D demo.'>Triangle3D : Small Flash 10 3D demo.</a> <small> Over the last days I've spent some time twittering...</small></li><li><a href='http://www.unitzeroone.com/blog/2009/09/28/goodbye-papervision/' rel='bookmark' title='Permanent Link: Goodbye, Papervision.'>Goodbye, Papervision.</a> <small> Last week at Flash on the Beach I had...</small></li></ol>]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.unitzeroone.com/blog/wp-content/uploads/2008/03/bumpplanetexample.jpg" alt="Bumpmapped planet" /></p>
<p>This demo / source file is one which was used during the Papervision3D Workshop in Amsterdam, during the fantastic <strong><a href="http://www.fitc.ca" title="fitc homepage" target="_blank">FITC Amsterdam 2008</a></strong> event. These are the modified final sources for the example I did at the end of the day. Although quite simple, I think they are very useful at illustrating on how to use shaders. <strong><a href="http://www.unitzeroone.com/papervision/workshops/fitc_amsterdam_shader_src.zip" title="Papervision3D Shaders Bumpmap example." target="_blank">Download the sources here</a></strong>.</p>

<div class="sociable">
<div class="sociable_tagline">
<strong>Digg, StumbleUpon, Slash and others:</strong>
</div>
<ul>
	<li class="sociablefirst"><a rel="nofollow" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.unitzeroone.com%2Fblog%2F2008%2F03%2F12%2Fpapervision3d-shaders-bumpmap-example-sourcecode-for-cs3%2F&amp;title=Papervision3D%20Shaders%20%2F%20Bumpmap%20example%20sourcecode%20for%20CS3&amp;bodytext=%0D%0A%0D%0AThis%20demo%20%2F%20source%20file%20is%20one%20which%20was%20used%20during%20the%20Papervision3D%20Workshop%20in%20Amsterdam%2C%20during%20the%20fantastic%20FITC%20Amsterdam%202008%20event.%20These%20are%20the%20modified%20final%20sources%20for%20the%20example%20I%20did%20at%20the%20end%20of%20the%20day.%20Although%20quite%20simple%2C" title="Digg"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="http://delicious.com/post?url=http%3A%2F%2Fwww.unitzeroone.com%2Fblog%2F2008%2F03%2F12%2Fpapervision3d-shaders-bumpmap-example-sourcecode-for-cs3%2F&amp;title=Papervision3D%20Shaders%20%2F%20Bumpmap%20example%20sourcecode%20for%20CS3&amp;notes=%0D%0A%0D%0AThis%20demo%20%2F%20source%20file%20is%20one%20which%20was%20used%20during%20the%20Papervision3D%20Workshop%20in%20Amsterdam%2C%20during%20the%20fantastic%20FITC%20Amsterdam%202008%20event.%20These%20are%20the%20modified%20final%20sources%20for%20the%20example%20I%20did%20at%20the%20end%20of%20the%20day.%20Although%20quite%20simple%2C" title="del.icio.us"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="http://www.dzone.com/links/add.html?url=http%3A%2F%2Fwww.unitzeroone.com%2Fblog%2F2008%2F03%2F12%2Fpapervision3d-shaders-bumpmap-example-sourcecode-for-cs3%2F&amp;title=Papervision3D%20Shaders%20%2F%20Bumpmap%20example%20sourcecode%20for%20CS3" title="DZone"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/dzone.png" title="DZone" alt="DZone" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.unitzeroone.com%2Fblog%2F2008%2F03%2F12%2Fpapervision3d-shaders-bumpmap-example-sourcecode-for-cs3%2F&amp;title=Papervision3D%20Shaders%20%2F%20Bumpmap%20example%20sourcecode%20for%20CS3" title="StumbleUpon"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="http://slashdot.org/bookmark.pl?title=Papervision3D%20Shaders%20%2F%20Bumpmap%20example%20sourcecode%20for%20CS3&amp;url=http%3A%2F%2Fwww.unitzeroone.com%2Fblog%2F2008%2F03%2F12%2Fpapervision3d-shaders-bumpmap-example-sourcecode-for-cs3%2F" title="Slashdot"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/slashdot.png" title="Slashdot" alt="Slashdot" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="http://technorati.com/faves?add=http%3A%2F%2Fwww.unitzeroone.com%2Fblog%2F2008%2F03%2F12%2Fpapervision3d-shaders-bumpmap-example-sourcecode-for-cs3%2F" title="Technorati"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="http://blogmarks.net/my/new.php?mini=1&amp;simple=1&amp;url=http%3A%2F%2Fwww.unitzeroone.com%2Fblog%2F2008%2F03%2F12%2Fpapervision3d-shaders-bumpmap-example-sourcecode-for-cs3%2F&amp;title=Papervision3D%20Shaders%20%2F%20Bumpmap%20example%20sourcecode%20for%20CS3" title="blogmarks"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/blogmarks.png" title="blogmarks" alt="blogmarks" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="" title="BlogMemes"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/" title="BlogMemes" alt="BlogMemes" class="sociable-hovers" /></a></li>
	<li class="sociablelast"><a rel="nofollow" href="" title="Ma.gnolia"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/" title="Ma.gnolia" alt="Ma.gnolia" class="sociable-hovers" /></a></li>
</ul>
</div>


<p>Related posts:<ol><li><a href='http://www.unitzeroone.com/blog/2009/11/17/triangle3d-small-flash-10-3d-demo/' rel='bookmark' title='Permanent Link: Triangle3D : Small Flash 10 3D demo.'>Triangle3D : Small Flash 10 3D demo.</a> <small> Over the last days I've spent some time twittering...</small></li><li><a href='http://www.unitzeroone.com/blog/2009/09/28/goodbye-papervision/' rel='bookmark' title='Permanent Link: Goodbye, Papervision.'>Goodbye, Papervision.</a> <small> Last week at Flash on the Beach I had...</small></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.unitzeroone.com/blog/2008/03/12/papervision3d-shaders-bumpmap-example-sourcecode-for-cs3/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Flash 9 Example : 3d Landscapes (Voxel Engine)</title>
		<link>http://www.unitzeroone.com/blog/2006/10/03/flash-9-example-3d-landscapes-voxel-engine/</link>
		<comments>http://www.unitzeroone.com/blog/2006/10/03/flash-9-example-3d-landscapes-voxel-engine/#comments</comments>
		<pubDate>Tue, 03 Oct 2006 08:10:38 +0000</pubDate>
		<dc:creator>UnitZeroOne</dc:creator>
				<category><![CDATA[Examples]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.unitzeroone.com/wordpress/?p=52</guid>
		<description><![CDATA[This is something I've been wanting to put online for a long, long time. In fact; this is almost the exact same version as I had during the Flex 2 beta's; it's been that long (almost a year now!!!! damn). I've been wanting to put alot of work in this, but basically, I don't have [...]


Related posts:<ol><li><a href='http://www.unitzeroone.com/blog/2009/09/28/goodbye-papervision/' rel='bookmark' title='Permanent Link: Goodbye, Papervision.'>Goodbye, Papervision.</a> <small> Last week at Flash on the Beach I had...</small></li><li><a href='http://www.unitzeroone.com/blog/2009/11/17/triangle3d-small-flash-10-3d-demo/' rel='bookmark' title='Permanent Link: Triangle3D : Small Flash 10 3D demo.'>Triangle3D : Small Flash 10 3D demo.</a> <small> Over the last days I've spent some time twittering...</small></li></ol>]]></description>
			<content:encoded><![CDATA[<p>This is something I've been wanting to put online for a long, long time. In fact; this is almost the exact same version as I had during the Flex 2 beta's; it's been that long (almost a year now!!!! damn). I've been wanting to put alot of work in this, but basically, I don't have the time, and don't really see enough time to work on it. Besides, I've joined the <a href="http://osflash.org/fc64">FC64</a> team, and as soon as I get some real time, myself and Martin Wood hopefully get some progress on doing <a href="http://en.wikipedia.org/wiki/6581">SID</a> emulation... (it's commodore, it's sound, it's AS3, it's oldskool; what do you want more for a hobby project <img src='http://www.unitzeroone.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  ). Next to that, I'm turning in a Flex 2 fanboy, and finally recently started loving Flex 2 data services more and more too...busy, busy, busy. Anyway, let's get back to this thing.</p>
<p>When I first got my hands on AS3, the most obvious thing I could do was doing al these 'seemingly processor intensive' effects, like you've seen coming by here earlier, or stuff I showed at presentations. Voxels where one of the first things I started to do, and had a fun time doing them. Just never got to finish this.....</p>
<p>So, what's this ? The technical incorrect name for the effect is a Voxel engine. The history of more high quality voxel engines probably started with <a href="http://en.wikipedia.org/wiki/Comanche_Series">'Comanche Maximum Overkill'</a>, a pc game which in it's time had some amazing 3d visuals. Later on the game <a href="http://en.wikipedia.org/wiki/Outcast_(game)">"Outcast"</a> used a heavily 'pimped' voxel engine to produce some amazing graphics for the year 1999. This year the legendary Amiga demo group "The Black Lotus" released a demo called "Ocean Machine", showing of some real, real hardcore voxel work, running amazing graphics on an Amiga with no 3d graphics acceleration, and a CPU running at 50Mhz. Have a look at the youtube video <a href="http://youtube.com/watch?v=H4c-cvosz70">here</a>. So, the power of voxels is established.</p>
<p>Although one might call this demo a Voxel Engine, it isn't entirely, since a real voxel engine would represent volume in 3d space, while this type of engine usually has a limited freedom of vision and motion because of it's inherent 2d nature. Where as a voxel should represent volume in a 3d space, this type of engine represents 2d in a semi 3d engine; confused yet ? Actually, the maximum amount of freedom this type of engines is very restricted; but it gives something we still need; raw speed. Although the algorithm is relatively heavy, it can be optimized pretty easy; implemenations of Voxel engines have been done on mobile devices, calculators and of course, the good old <a href="http://noname.c64.org/csdb/release/?id=32392">c64</a>.</p>
<p>This engine on itself does the generation of a 2d image based on a perlin noise image it uses for a heightmap (that what actually represents the height), and textures an image based on those heights (and doesn't really do such a good job at the moment). Then it goes to the drawing phase, where it draws a part of the map based on a virtual position of a viewer and it's view angle and field of view, and draws columns very much similar in a way to what a raycasting engine would do. Of course the master of raycasting in Flash is <a href="http://lab.andre-michelle.com/raycaster-v3">Andre Michelle</a>, so go and have a look there.</p>
<p>This demo should have had a lot more, but for now it already has some pretty nice tricks; LOD (level-of-detail), implemented in 3 different ways, for speed, although buggy, there's a lot of clipping going on, and that what is clipped doesn't always seem to connect with the rest. Bilinear texture filtering, and ofcourse a procedural texure generator. I'll get back at doing the real work on it, one day.....one day.....one day.....<br />
For now it's more a proof of concept, although this concept really didn't need the proof, it just needed execution.</p>
<p><a href="http://www.unitzeroone.com/flex_2/voxel_landscape/" onclick="window.open('http://www.unitzeroone.com/flex_2/voxel_landscape/','popup','width=320,height=240,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false"><img src="http://www.unitzeroone.com/blog/images/voxel_screen.jpg" alt="voxel_screen.jpg" height="225" width="310" /><br />
See the engine in action, make sure you have Flash 9 player.</a></p>

<div class="sociable">
<div class="sociable_tagline">
<strong>Digg, StumbleUpon, Slash and others:</strong>
</div>
<ul>
	<li class="sociablefirst"><a rel="nofollow" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.unitzeroone.com%2Fblog%2F2006%2F10%2F03%2Fflash-9-example-3d-landscapes-voxel-engine%2F&amp;title=Flash%209%20Example%20%3A%203d%20Landscapes%20%28Voxel%20Engine%29&amp;bodytext=This%20is%20something%20I%27ve%20been%20wanting%20to%20put%20online%20for%20a%20long%2C%20long%20time.%20In%20fact%3B%20this%20is%20almost%20the%20exact%20same%20version%20as%20I%20had%20during%20the%20Flex%202%20beta%27s%3B%20it%27s%20been%20that%20long%20%28almost%20a%20year%20now%21%21%21%21%20damn%29.%20I%27ve%20been%20wanting%20to%20put%20alot%20of%20work%20in%20this" title="Digg"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="http://delicious.com/post?url=http%3A%2F%2Fwww.unitzeroone.com%2Fblog%2F2006%2F10%2F03%2Fflash-9-example-3d-landscapes-voxel-engine%2F&amp;title=Flash%209%20Example%20%3A%203d%20Landscapes%20%28Voxel%20Engine%29&amp;notes=This%20is%20something%20I%27ve%20been%20wanting%20to%20put%20online%20for%20a%20long%2C%20long%20time.%20In%20fact%3B%20this%20is%20almost%20the%20exact%20same%20version%20as%20I%20had%20during%20the%20Flex%202%20beta%27s%3B%20it%27s%20been%20that%20long%20%28almost%20a%20year%20now%21%21%21%21%20damn%29.%20I%27ve%20been%20wanting%20to%20put%20alot%20of%20work%20in%20this" title="del.icio.us"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="http://www.dzone.com/links/add.html?url=http%3A%2F%2Fwww.unitzeroone.com%2Fblog%2F2006%2F10%2F03%2Fflash-9-example-3d-landscapes-voxel-engine%2F&amp;title=Flash%209%20Example%20%3A%203d%20Landscapes%20%28Voxel%20Engine%29" title="DZone"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/dzone.png" title="DZone" alt="DZone" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.unitzeroone.com%2Fblog%2F2006%2F10%2F03%2Fflash-9-example-3d-landscapes-voxel-engine%2F&amp;title=Flash%209%20Example%20%3A%203d%20Landscapes%20%28Voxel%20Engine%29" title="StumbleUpon"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="http://slashdot.org/bookmark.pl?title=Flash%209%20Example%20%3A%203d%20Landscapes%20%28Voxel%20Engine%29&amp;url=http%3A%2F%2Fwww.unitzeroone.com%2Fblog%2F2006%2F10%2F03%2Fflash-9-example-3d-landscapes-voxel-engine%2F" title="Slashdot"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/slashdot.png" title="Slashdot" alt="Slashdot" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="http://technorati.com/faves?add=http%3A%2F%2Fwww.unitzeroone.com%2Fblog%2F2006%2F10%2F03%2Fflash-9-example-3d-landscapes-voxel-engine%2F" title="Technorati"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="http://blogmarks.net/my/new.php?mini=1&amp;simple=1&amp;url=http%3A%2F%2Fwww.unitzeroone.com%2Fblog%2F2006%2F10%2F03%2Fflash-9-example-3d-landscapes-voxel-engine%2F&amp;title=Flash%209%20Example%20%3A%203d%20Landscapes%20%28Voxel%20Engine%29" title="blogmarks"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/blogmarks.png" title="blogmarks" alt="blogmarks" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="" title="BlogMemes"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/" title="BlogMemes" alt="BlogMemes" class="sociable-hovers" /></a></li>
	<li class="sociablelast"><a rel="nofollow" href="" title="Ma.gnolia"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/" title="Ma.gnolia" alt="Ma.gnolia" class="sociable-hovers" /></a></li>
</ul>
</div>


<p>Related posts:<ol><li><a href='http://www.unitzeroone.com/blog/2009/09/28/goodbye-papervision/' rel='bookmark' title='Permanent Link: Goodbye, Papervision.'>Goodbye, Papervision.</a> <small> Last week at Flash on the Beach I had...</small></li><li><a href='http://www.unitzeroone.com/blog/2009/11/17/triangle3d-small-flash-10-3d-demo/' rel='bookmark' title='Permanent Link: Triangle3D : Small Flash 10 3D demo.'>Triangle3D : Small Flash 10 3D demo.</a> <small> Over the last days I've spent some time twittering...</small></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.unitzeroone.com/blog/2006/10/03/flash-9-example-3d-landscapes-voxel-engine/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Flash 8 Example : &#8220;3d&#8221; BumpMapping using Filters. (source included)</title>
		<link>http://www.unitzeroone.com/blog/2006/03/28/flash-8-example-3d-bumpmapping-using-filters-source-included/</link>
		<comments>http://www.unitzeroone.com/blog/2006/03/28/flash-8-example-3d-bumpmapping-using-filters-source-included/#comments</comments>
		<pubDate>Tue, 28 Mar 2006 09:12:47 +0000</pubDate>
		<dc:creator>UnitZeroOne</dc:creator>
				<category><![CDATA[Examples]]></category>
		<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://www.unitzeroone.com/wordpress/?p=36</guid>
		<description><![CDATA[Another oldskool effect! This technique is called bumpmapping and produces lightened heightmapped and textured images. I'm very happy about how this one looks, but even more on how I got to this. I needed to generate a static bumpmap for another thing I'm working on, and got kind of distracted doing it. I thought it [...]


No related posts.]]></description>
			<content:encoded><![CDATA[<p>Another oldskool effect! This technique is called bumpmapping and produces lightened heightmapped and textured images. I'm very happy about how this one looks, but even more on how I got to this. I needed to generate a static bumpmap for another thing I'm working on, and got kind of distracted doing it. I thought it would be a cool thing to do in Flash 8.5, and maybe build myself a little Flex 2 interface along the way.</p>
<p>While coding this in 8.5, it started out as a very mathematically correct (and thus non optimized) version of the basic 2d BumpMapping algorithm. Slowly I noticed that I could maybe do it per pixel, and fast enough to run frame by frame. While optimizing it to run faster, (Miko also put in some effort here)  I came to the conclusion that the optimized routine looked amazingly much like a Convolution Filter creating displacement lookups. And what do you know; it is. So I ended up being able to creatie this 8 version of the effect The algorithm itself is very well documented, so I won't go into that.</p>
<p>The 8.5 per-pixel version takes about 50% CPU (I'm still struggling with some perfomance issues I have with beta 2, how can it be that one (bitshifting) array lookup is slower then 4 getpixels?). Although it is to be expected that that can be reduced, it will never reacht he 5% load this thing gives on my CPU, producing the exact same result. Filters are sooo much fun.</p>
<p>The example shows 2 different combinations of lightmaps, bumpmaps and texture maps (UnitZeroOne and V for Vendetta). It's the most basic implementation of what the thing could look like. Imagine using animated bump and light maps....</p>
<p>Here's the <a href="http://www.unitzeroone.com/flashexamples/bumpMapping/">example</a>.<br />
[UPDATE]<br />
I've taken the sources offline until a reach my workstation again, since I made an error while exporting the project out of FDT. Sorry. Will post them again as soon as possible. Thank you Jens for the tip.<br />
[UPDATE2]<br />
And the <a href="http://www.unitzeroone.com/flashexamples/bumpMapping/filterbumps.zip">sources</a> are available, this time correct.</p>
<p>Preview picture of the now pimped &amp; bumpmapped uzo icon :<br />
<a href="http://www.unitzeroone.com/flashexamples/bumpMapping/" onclick="window.open('http://www.unitzeroone.com/flashexamples/bumpMapping/','popup','width=340,height=250,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false"><img src="http://www.unitzeroone.com/blog/pictures/uzo_bump_preview.jpg" alt="Preview picture of a bumpmapped unitzeroone logo" height="200" width="320" /></a></p>
<p>(You will need the Flash 8 plugin!)</p>

<div class="sociable">
<div class="sociable_tagline">
<strong>Digg, StumbleUpon, Slash and others:</strong>
</div>
<ul>
	<li class="sociablefirst"><a rel="nofollow" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.unitzeroone.com%2Fblog%2F2006%2F03%2F28%2Fflash-8-example-3d-bumpmapping-using-filters-source-included%2F&amp;title=Flash%208%20Example%20%3A%20%223d%22%20BumpMapping%20using%20Filters.%20%28source%20included%29&amp;bodytext=Another%20oldskool%20effect%21%20This%20technique%20is%20called%20bumpmapping%20and%20produces%20lightened%20heightmapped%20and%20textured%20images.%20I%27m%20very%20happy%20about%20how%20this%20one%20looks%2C%20but%20even%20more%20on%20how%20I%20got%20to%20this.%20I%20needed%20to%20generate%20a%20static%20bumpmap%20for%20another%20thin" title="Digg"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="http://delicious.com/post?url=http%3A%2F%2Fwww.unitzeroone.com%2Fblog%2F2006%2F03%2F28%2Fflash-8-example-3d-bumpmapping-using-filters-source-included%2F&amp;title=Flash%208%20Example%20%3A%20%223d%22%20BumpMapping%20using%20Filters.%20%28source%20included%29&amp;notes=Another%20oldskool%20effect%21%20This%20technique%20is%20called%20bumpmapping%20and%20produces%20lightened%20heightmapped%20and%20textured%20images.%20I%27m%20very%20happy%20about%20how%20this%20one%20looks%2C%20but%20even%20more%20on%20how%20I%20got%20to%20this.%20I%20needed%20to%20generate%20a%20static%20bumpmap%20for%20another%20thin" title="del.icio.us"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="http://www.dzone.com/links/add.html?url=http%3A%2F%2Fwww.unitzeroone.com%2Fblog%2F2006%2F03%2F28%2Fflash-8-example-3d-bumpmapping-using-filters-source-included%2F&amp;title=Flash%208%20Example%20%3A%20%223d%22%20BumpMapping%20using%20Filters.%20%28source%20included%29" title="DZone"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/dzone.png" title="DZone" alt="DZone" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.unitzeroone.com%2Fblog%2F2006%2F03%2F28%2Fflash-8-example-3d-bumpmapping-using-filters-source-included%2F&amp;title=Flash%208%20Example%20%3A%20%223d%22%20BumpMapping%20using%20Filters.%20%28source%20included%29" title="StumbleUpon"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="http://slashdot.org/bookmark.pl?title=Flash%208%20Example%20%3A%20%223d%22%20BumpMapping%20using%20Filters.%20%28source%20included%29&amp;url=http%3A%2F%2Fwww.unitzeroone.com%2Fblog%2F2006%2F03%2F28%2Fflash-8-example-3d-bumpmapping-using-filters-source-included%2F" title="Slashdot"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/slashdot.png" title="Slashdot" alt="Slashdot" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="http://technorati.com/faves?add=http%3A%2F%2Fwww.unitzeroone.com%2Fblog%2F2006%2F03%2F28%2Fflash-8-example-3d-bumpmapping-using-filters-source-included%2F" title="Technorati"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="http://blogmarks.net/my/new.php?mini=1&amp;simple=1&amp;url=http%3A%2F%2Fwww.unitzeroone.com%2Fblog%2F2006%2F03%2F28%2Fflash-8-example-3d-bumpmapping-using-filters-source-included%2F&amp;title=Flash%208%20Example%20%3A%20%223d%22%20BumpMapping%20using%20Filters.%20%28source%20included%29" title="blogmarks"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/blogmarks.png" title="blogmarks" alt="blogmarks" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="" title="BlogMemes"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/" title="BlogMemes" alt="BlogMemes" class="sociable-hovers" /></a></li>
	<li class="sociablelast"><a rel="nofollow" href="" title="Ma.gnolia"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/" title="Ma.gnolia" alt="Ma.gnolia" class="sociable-hovers" /></a></li>
</ul>
</div>


<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://www.unitzeroone.com/blog/2006/03/28/flash-8-example-3d-bumpmapping-using-filters-source-included/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Flash 8 Example : Oldskool 3D multilayer tunnel using DisplacementMapFilter</title>
		<link>http://www.unitzeroone.com/blog/2006/03/21/flash-8-example-oldskool-3d-multilayer-tunnel-using-displacementmapfilter/</link>
		<comments>http://www.unitzeroone.com/blog/2006/03/21/flash-8-example-oldskool-3d-multilayer-tunnel-using-displacementmapfilter/#comments</comments>
		<pubDate>Tue, 21 Mar 2006 20:02:03 +0000</pubDate>
		<dc:creator>UnitZeroOne</dc:creator>
				<category><![CDATA[Examples]]></category>
		<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://www.unitzeroone.com/wordpress/?p=35</guid>
		<description><![CDATA[A simple but effective Flash 8 effect. This is part of a bunch of effects I am going to release as soon as possible. It should be a familiar effect to anyone who has been in contact with the demo-scene around 1990-1996.
Turns out it's pretty easy to do using the displacement map filter. In the [...]


No related posts.]]></description>
			<content:encoded><![CDATA[<p>A simple but effective Flash 8 effect. This is part of a bunch of effects I am going to release as soon as possible. It should be a familiar effect to anyone who has been in contact with the demo-scene around 1990-1996.<br />
Turns out it's pretty easy to do using the displacement map filter. In the old days they used to create 2 lookup tables to do this trick; one transposing the pixel's original x to a radial point (or any transform in that case), and one transposing that pixel y's to a 'depth'. Although this effect would almost alway run on any platform, doing this effect pixel by pixel proofs to heavy for the flashplayer, <a href="http://www.betaruce.com/blog/?p=64" target="_blank">as betaruce showed to us earlier</a>. <a href="http://theuncles.fi" target="_blank">Mikko</a> (one my colleague's at Satama) took the time to explain this effect to me in detail, and the possible added tricks, and in the plane to Denmark (where I am right now) I figured a displacement map is exactly the same as these 2 luts, so using the displacementmapfilter is just as valid as using per pixel LUT's. The only issues compared to the original method would be that you can't do that much with the depth (like lighting etc) that easy. But the speed proofs fenominal using the displacement filters. I am still playing with this, so no sources yet, but I will release them this week. Click the preview image for the example.</p>
<p>Endorphins (thomas [at] mediawar.com), provided the music (Endorphins-Tamin' textures-"Tile based worlds")  for this little demo. Thanks again Thomas!</p>
<p><a href="http://www.unitzeroone.com/flashexamples/tunnel_v1/3dtunnel.html" onclick="window.open('http://www.unitzeroone.com/flashexamples/tunnel_v1/3dtunnel.html','popup','width=275,height=430,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false"><img src="http://www.unitzeroone.com/flashexamples/tunnel_v1/tunnelpreview.jpg" alt="preview picture of tunnel effect" height="100" width="100" /></a></p>

<div class="sociable">
<div class="sociable_tagline">
<strong>Digg, StumbleUpon, Slash and others:</strong>
</div>
<ul>
	<li class="sociablefirst"><a rel="nofollow" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.unitzeroone.com%2Fblog%2F2006%2F03%2F21%2Fflash-8-example-oldskool-3d-multilayer-tunnel-using-displacementmapfilter%2F&amp;title=Flash%208%20Example%20%3A%20Oldskool%203D%20multilayer%20tunnel%20using%20DisplacementMapFilter&amp;bodytext=A%20simple%20but%20effective%20Flash%208%20effect.%20This%20is%20part%20of%20a%20bunch%20of%20effects%20I%20am%20going%20to%20release%20as%20soon%20as%20possible.%20It%20should%20be%20a%20familiar%20effect%20to%20anyone%20who%20has%20been%20in%20contact%20with%20the%20demo-scene%20around%201990-1996.%0D%0ATurns%20out%20it%27s%20pretty%20easy%20to" title="Digg"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="http://delicious.com/post?url=http%3A%2F%2Fwww.unitzeroone.com%2Fblog%2F2006%2F03%2F21%2Fflash-8-example-oldskool-3d-multilayer-tunnel-using-displacementmapfilter%2F&amp;title=Flash%208%20Example%20%3A%20Oldskool%203D%20multilayer%20tunnel%20using%20DisplacementMapFilter&amp;notes=A%20simple%20but%20effective%20Flash%208%20effect.%20This%20is%20part%20of%20a%20bunch%20of%20effects%20I%20am%20going%20to%20release%20as%20soon%20as%20possible.%20It%20should%20be%20a%20familiar%20effect%20to%20anyone%20who%20has%20been%20in%20contact%20with%20the%20demo-scene%20around%201990-1996.%0D%0ATurns%20out%20it%27s%20pretty%20easy%20to" title="del.icio.us"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="http://www.dzone.com/links/add.html?url=http%3A%2F%2Fwww.unitzeroone.com%2Fblog%2F2006%2F03%2F21%2Fflash-8-example-oldskool-3d-multilayer-tunnel-using-displacementmapfilter%2F&amp;title=Flash%208%20Example%20%3A%20Oldskool%203D%20multilayer%20tunnel%20using%20DisplacementMapFilter" title="DZone"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/dzone.png" title="DZone" alt="DZone" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.unitzeroone.com%2Fblog%2F2006%2F03%2F21%2Fflash-8-example-oldskool-3d-multilayer-tunnel-using-displacementmapfilter%2F&amp;title=Flash%208%20Example%20%3A%20Oldskool%203D%20multilayer%20tunnel%20using%20DisplacementMapFilter" title="StumbleUpon"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="http://slashdot.org/bookmark.pl?title=Flash%208%20Example%20%3A%20Oldskool%203D%20multilayer%20tunnel%20using%20DisplacementMapFilter&amp;url=http%3A%2F%2Fwww.unitzeroone.com%2Fblog%2F2006%2F03%2F21%2Fflash-8-example-oldskool-3d-multilayer-tunnel-using-displacementmapfilter%2F" title="Slashdot"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/slashdot.png" title="Slashdot" alt="Slashdot" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="http://technorati.com/faves?add=http%3A%2F%2Fwww.unitzeroone.com%2Fblog%2F2006%2F03%2F21%2Fflash-8-example-oldskool-3d-multilayer-tunnel-using-displacementmapfilter%2F" title="Technorati"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="http://blogmarks.net/my/new.php?mini=1&amp;simple=1&amp;url=http%3A%2F%2Fwww.unitzeroone.com%2Fblog%2F2006%2F03%2F21%2Fflash-8-example-oldskool-3d-multilayer-tunnel-using-displacementmapfilter%2F&amp;title=Flash%208%20Example%20%3A%20Oldskool%203D%20multilayer%20tunnel%20using%20DisplacementMapFilter" title="blogmarks"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/blogmarks.png" title="blogmarks" alt="blogmarks" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="" title="BlogMemes"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/" title="BlogMemes" alt="BlogMemes" class="sociable-hovers" /></a></li>
	<li class="sociablelast"><a rel="nofollow" href="" title="Ma.gnolia"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/" title="Ma.gnolia" alt="Ma.gnolia" class="sociable-hovers" /></a></li>
</ul>
</div>


<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://www.unitzeroone.com/blog/2006/03/21/flash-8-example-oldskool-3d-multilayer-tunnel-using-displacementmapfilter/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Flash 8.5 Example : Mandelbrot-set Explorer (fasssttt)</title>
		<link>http://www.unitzeroone.com/blog/2005/11/08/flash-85-example-mandelbrot-set-explorer-fasssttt/</link>
		<comments>http://www.unitzeroone.com/blog/2005/11/08/flash-85-example-mandelbrot-set-explorer-fasssttt/#comments</comments>
		<pubDate>Wed, 09 Nov 2005 07:14:54 +0000</pubDate>
		<dc:creator>UnitZeroOne</dc:creator>
				<category><![CDATA[Examples]]></category>
		<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://www.unitzeroone.com/wordpress/?p=22</guid>
		<description><![CDATA[So, I have done some work on creating a very simple Mandelbrot-set Explorer. For the ones who don't know what a Mandelbrot is, just click around, and look at the nice computer generated pictures. I implemented a very simple colormapping routine too. It is probably the most common one, it takes the number of iterations [...]


No related posts.]]></description>
			<content:encoded><![CDATA[<p>So, I have done some work on creating a very simple <a href="http://en.wikipedia.org/wiki/Mandelbrot_set#Plotting_the_set">Mandelbrot-set</a> Explorer. For the ones who don't know what a Mandelbrot is, just click around, and look at the nice computer generated pictures. I implemented a very simple colormapping routine too. It is probably the most common one, it takes the number of iterations (which I maxed at 255 in this compile) and looks that up in a colormap table. The colormap itself is generated with the help of the .perlinNoise function.</p>
<p>It's not very flashy at all, but it was only made to test the speed of 8.5. A long long long time ago I did a mandelbrot plotter in Flash 4, I can remember it taking about 74 seconds before it was finished with a very low-res picture. This picture is 512x384, and at most plots I don't get more then a second of rendereing time.<br />
I've polished a bit, but not alot yet. Will do some more work later (this month), and eventually release the source.<br />
Remember : you need Flash Player 8.5 to look at this content. The player comes with the Builder.<br />
I have also found something weird with int / uint. The iteration counter in the mainloop was set as an int. Since it might as well be a uint, I converted it, resulting in about 6x longer rendering times, ending up 18x longer. Weirdddd....</p>
<p><a href="http://www.unitzeroone.com/flashexamples/mandelbrot/">Take a look : Mandelbrot-set explorer</a></p>

<div class="sociable">
<div class="sociable_tagline">
<strong>Digg, StumbleUpon, Slash and others:</strong>
</div>
<ul>
	<li class="sociablefirst"><a rel="nofollow" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.unitzeroone.com%2Fblog%2F2005%2F11%2F08%2Fflash-85-example-mandelbrot-set-explorer-fasssttt%2F&amp;title=Flash%208.5%20Example%20%3A%20Mandelbrot-set%20Explorer%20%28fasssttt%29&amp;bodytext=So%2C%20I%20have%20done%20some%20work%20on%20creating%20a%20very%20simple%20Mandelbrot-set%20Explorer.%20For%20the%20ones%20who%20don%27t%20know%20what%20a%20Mandelbrot%20is%2C%20just%20click%20around%2C%20and%20look%20at%20the%20nice%20computer%20generated%20pictures.%20I%20implemented%20a%20very%20simple%20colormapping%20routine%20too.%20" title="Digg"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="http://delicious.com/post?url=http%3A%2F%2Fwww.unitzeroone.com%2Fblog%2F2005%2F11%2F08%2Fflash-85-example-mandelbrot-set-explorer-fasssttt%2F&amp;title=Flash%208.5%20Example%20%3A%20Mandelbrot-set%20Explorer%20%28fasssttt%29&amp;notes=So%2C%20I%20have%20done%20some%20work%20on%20creating%20a%20very%20simple%20Mandelbrot-set%20Explorer.%20For%20the%20ones%20who%20don%27t%20know%20what%20a%20Mandelbrot%20is%2C%20just%20click%20around%2C%20and%20look%20at%20the%20nice%20computer%20generated%20pictures.%20I%20implemented%20a%20very%20simple%20colormapping%20routine%20too.%20" title="del.icio.us"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="http://www.dzone.com/links/add.html?url=http%3A%2F%2Fwww.unitzeroone.com%2Fblog%2F2005%2F11%2F08%2Fflash-85-example-mandelbrot-set-explorer-fasssttt%2F&amp;title=Flash%208.5%20Example%20%3A%20Mandelbrot-set%20Explorer%20%28fasssttt%29" title="DZone"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/dzone.png" title="DZone" alt="DZone" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.unitzeroone.com%2Fblog%2F2005%2F11%2F08%2Fflash-85-example-mandelbrot-set-explorer-fasssttt%2F&amp;title=Flash%208.5%20Example%20%3A%20Mandelbrot-set%20Explorer%20%28fasssttt%29" title="StumbleUpon"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="http://slashdot.org/bookmark.pl?title=Flash%208.5%20Example%20%3A%20Mandelbrot-set%20Explorer%20%28fasssttt%29&amp;url=http%3A%2F%2Fwww.unitzeroone.com%2Fblog%2F2005%2F11%2F08%2Fflash-85-example-mandelbrot-set-explorer-fasssttt%2F" title="Slashdot"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/slashdot.png" title="Slashdot" alt="Slashdot" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="http://technorati.com/faves?add=http%3A%2F%2Fwww.unitzeroone.com%2Fblog%2F2005%2F11%2F08%2Fflash-85-example-mandelbrot-set-explorer-fasssttt%2F" title="Technorati"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="http://blogmarks.net/my/new.php?mini=1&amp;simple=1&amp;url=http%3A%2F%2Fwww.unitzeroone.com%2Fblog%2F2005%2F11%2F08%2Fflash-85-example-mandelbrot-set-explorer-fasssttt%2F&amp;title=Flash%208.5%20Example%20%3A%20Mandelbrot-set%20Explorer%20%28fasssttt%29" title="blogmarks"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/blogmarks.png" title="blogmarks" alt="blogmarks" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" href="" title="BlogMemes"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/" title="BlogMemes" alt="BlogMemes" class="sociable-hovers" /></a></li>
	<li class="sociablelast"><a rel="nofollow" href="" title="Ma.gnolia"><img src="http://www.unitzeroone.com/blog/wp-content/plugins/sociable/images/" title="Ma.gnolia" alt="Ma.gnolia" class="sociable-hovers" /></a></li>
</ul>
</div>


<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://www.unitzeroone.com/blog/2005/11/08/flash-85-example-mandelbrot-set-explorer-fasssttt/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
	</channel>
</rss>
