<?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>Neuro Productions &#187; Flash 3D</title>
	<atom:link href="http://www.neuroproductions.be/category/flash-3d/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.neuroproductions.be</link>
	<description>Freelance Creative Developer - IOS -WebGL - Flash</description>
	<lastBuildDate>Fri, 03 Feb 2012 13:30:02 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>A take on Generative Art</title>
		<link>http://www.neuroproductions.be/generative-art/a-take-on-generative-art/</link>
		<comments>http://www.neuroproductions.be/generative-art/a-take-on-generative-art/#comments</comments>
		<pubDate>Tue, 02 Nov 2010 12:53:32 +0000</pubDate>
		<dc:creator>Kris</dc:creator>
				<category><![CDATA[Flash 3D]]></category>
		<category><![CDATA[Generative art]]></category>

		<guid isPermaLink="false">http://www.neuroproductions.be/?p=452</guid>
		<description><![CDATA[Ok, I did some generative art-like things before. But it was never my goal, they where always somehow the side [...]]]></description>
			<content:encoded><![CDATA[<p>Ok, I did some generative art-like things <a title="generative art image distortion" href="http://www.neuroproductions.be/experiments/blowing-up-images/" target="_blank">before</a>. But it was never my goal, they where always somehow the side effect of experimenting with code.</p>
<p>But recently I did a nice project for <a href="http://www.littlemissrobot.com/">Little Miss Robot</a>. They asked me to make an Air application that generates images with code. At that point the code didn&#8217;t really mater. The only thing that counted was the result.</p>
<p>Some of the type of pictures the application creates (click to enlarge):<br />
<a rel="shadowbox" href="http://www.neuroproductions.be/uploads/blog/examples/generative_art_exp/genrative_triangles2.png"><br />
<img title="generative triangles 1" src="http://www.neuroproductions.be/uploads/blog/examples/generative_art_exp/genrative_triangles2_small.jpg" alt="generative art, perlin noise, delaunay triangulation" width="700" /></a></p>
<p><a rel="shadowbox" href="http://www.neuroproductions.be/uploads/blog/examples/generative_art_exp/genrative_triangles.png"><br />
<img title="generative triangles 2" src="http://www.neuroproductions.be/uploads/blog/examples/generative_art_exp/genrative_triangles_small.jpg" alt="generative art, perlin noise, delaunay triangulation" width="700" /></a></p>
<p>(no source code for now, but think Perlin Noise and Delaneay triangulation <img src='http://www.neuroproductions.be/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  ) Ill update this post when the app is available. In the meantime, there is a <a href="http://www.vimeo.com/15872096" target="_blank">video</a>.</p>
<p>This whas a big difference in mindset for me. The code was just the medium, not the goal, and I actually liked the approach of making interesting images instead of making interesting code.</p>
<p>I looked around on the internet to see what was actually going on in the <a href="http://www.flickr.com/groups/generatorx/" target="_blank">generative art scene</a>. And one thing I noticed is that a lot of people use photos to extract colours and/or shapes for there art (I also did it).  Which makes a lot of sense, photos always have a nice natural colour scheme. But with everything I saw that uses this technique, the source pictures got somehow lost.  So this gave me the idea to extend the original pictures instead of just using them.</p>
<p>Some results of exploring that concept (click to enlarge):</p>
<p><a rel="shadowbox" href="http://www.neuroproductions.be/uploads/blog/examples/generative_art_exp/generative_lines2.png"><br />
<img title="generative lines 1" src="http://www.neuroproductions.be/uploads/blog/examples/generative_art_exp/generative_lines2_small.jpg" alt="generative art, perlin noise" width="700" /></a></p>
<p><a rel="shadowbox" href="http://www.neuroproductions.be/uploads/blog/examples/generative_art_exp/generative_lines.png"><br />
<img title="generative lines 2" src="http://www.neuroproductions.be/uploads/blog/examples/generative_art_exp/generative_lines_small.jpg" alt="generative art, perlin noise" width="700" /></a></p>
<p>Original (public domain) pictures:<br />
<a href="http://www.flickr.com/photos/library_of_congress/2179909780/">http://www.flickr.com/photos/library_of_congress/2179909780/</a><br />
<a href="http://www.flickr.com/photos/library_of_congress/2179146618/">http://www.flickr.com/photos/library_of_congress/2179146618/</a></p>
<p>Source code:  <a class="downloadlink" href="http://www.neuroproductions.be/wp-content/plugins/download-monitor/download.php?id=2" title=" downloaded 1978 times" >generative_art_source</a></p>
<p>An other thing I saw where beautiful 3d structures (mostly made with <a title="3D generative art" href="http://structuresynth.sourceforge.net/" target="_blank">structuresynth</a> and rendered with <a href="http://sunflow.sourceforge.net/" target="_blank">sunflow</a>) So I thought it would be nice to make stuff like that in Flash.</p>
<p>Creating 3D structures ain&#8217;t a problem, but two things I really wanted for my renders where depth of field and ambient occlusion. So I messed a round with depth-maps to create screen-space ambient occlusion and custom blur filters for the depth of field. But the result wasn&#8217;t really satisfying. To get a good result I had to ray trace my structures.  Creating a ray tracer in ActionScript seemed like an interesting challenge, so that&#8217;s what I did&#8230;</p>
<p>Some of the ray traced images (click to enlarge) :<a rel="shadowbox" href="http://www.neuroproductions.be/uploads/blog/examples/generative_art_exp/fries_generative_art_full.jpg"><br />
<img title="generative art 3D 1" src="http://www.neuroproductions.be/uploads/blog/examples/generative_art_exp/fries_generative_art.jpg" alt="generative art, perlin noise, 3D flash ray-tracer" width="700" /></a><br />
<a rel="shadowbox" href="http://www.neuroproductions.be/uploads/blog/examples/generative_art_exp/generative_art_cubes_full.jpg"><br />
<img title="generative art 3D 1" src="http://www.neuroproductions.be/uploads/blog/examples/generative_art_exp/generative_art_cubes.jpg" alt="generative art, perlin noise, 3D flash ray-tracer" width="700" /></a><br />
Making a ray tracer is quit addictive, and soon I wasn&#8217;t satisfied with my limited feature set and at this point I don&#8217;t feel I have explored those 3D structures enough. So in the next post (coming very soon&#8230;) some more renders and more about the ray tracer + the ray tracer source code. So, stay tuned <img src='http://www.neuroproductions.be/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>And finally, a little preview of things to come ( I admit, the shading is a little bit overdone :p ):<br />
<a rel="shadowbox" href="http://www.neuroproductions.be/uploads/blog/examples/generative_art_exp/generative_art_pipes_full.jpg"><br />
<img title="generative triangles 2" src="http://www.neuroproductions.be/uploads/blog/examples/generative_art_exp/generative_art_pipes.jpg" alt="generative art, perlin noise, delaunay triangulation" width="700" /></a></p>
<div class="lightsocial_container"><a class="lightsocial_a" href="http://digg.com/submit?url=http%3A%2F%2Fwww.neuroproductions.be%2Fgenerative-art%2Fa-take-on-generative-art%2F&amp;title=A+take+on+Generative+Art" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/digg.png" alt="Digg This" title="Digg This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.reddit.com/submit?url=http%3A%2F%2Fwww.neuroproductions.be%2Fgenerative-art%2Fa-take-on-generative-art%2F&amp;title=A+take+on+Generative+Art" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/reddit.png" alt="Reddit This" title="Reddit This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.neuroproductions.be%2Fgenerative-art%2Fa-take-on-generative-art%2F&amp;title=A+take+on+Generative+Art" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/stumbleupon.png" alt="Stumble Now!" title="Stumble Now!" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://buzz.yahoo.com/buzz?targetUrl=http%3A%2F%2Fwww.neuroproductions.be%2Fgenerative-art%2Fa-take-on-generative-art%2F&amp;headline=A+take+on+Generative+Art" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/yahoo_buzz.png" alt="Buzz This" title="Buzz This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.dzone.com/links/add.html?title=A+take+on+Generative+Art&amp;url=http%3A%2F%2Fwww.neuroproductions.be%2Fgenerative-art%2Fa-take-on-generative-art%2F" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/dzone.png" alt="Vote on DZone" title="Vote on DZone" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.facebook.com/sharer.php?t=A+take+on+Generative+Art&amp;u=http%3A%2F%2Fwww.neuroproductions.be%2Fgenerative-art%2Fa-take-on-generative-art%2F" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/facebook.png" alt="Share on Facebook" title="Share on Facebook" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://delicious.com/save?title=A+take+on+Generative+Art&amp;url=http%3A%2F%2Fwww.neuroproductions.be%2Fgenerative-art%2Fa-take-on-generative-art%2F" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/delicious.png" alt="Bookmark this on Delicious" title="Bookmark this on Delicious" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.dotnetkicks.com/kick/?title=A+take+on+Generative+Art&amp;url=http%3A%2F%2Fwww.neuroproductions.be%2Fgenerative-art%2Fa-take-on-generative-art%2F" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/dotnetkicks.png" alt="Kick It on DotNetKicks.com" title="Kick It on DotNetKicks.com" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://dotnetshoutout.com/Submit?title=A+take+on+Generative+Art&amp;url=http%3A%2F%2Fwww.neuroproductions.be%2Fgenerative-art%2Fa-take-on-generative-art%2F" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/dotnetshoutout.png" alt="Shout it" title="Shout it" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fwww.neuroproductions.be%2Fgenerative-art%2Fa-take-on-generative-art%2F&amp;title=A+take+on+Generative+Art&amp;summary=&amp;source=" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/linkedin.png" alt="Share on LinkedIn" title="Share on LinkedIn" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.technorati.com/faves?add=http%3A%2F%2Fwww.neuroproductions.be%2Fgenerative-art%2Fa-take-on-generative-art%2F" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/technorati.png" alt="Bookmark this on Technorati" title="Bookmark this on Technorati" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://twitter.com/home?status=Reading+http%3A%2F%2Fwww.neuroproductions.be%2Fgenerative-art%2Fa-take-on-generative-art%2F" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/twitter.png" alt="Post on Twitter" title="Post on Twitter" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.google.com/buzz/post?url=http%3A%2F%2Fwww.neuroproductions.be%2Fgenerative-art%2Fa-take-on-generative-art%2F" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/google_buzz.png" alt="Google Buzz (aka. Google Reader)" title="Google Buzz (aka. Google Reader)" /></a>&nbsp;&nbsp;</div>]]></content:encoded>
			<wfw:commentRss>http://www.neuroproductions.be/generative-art/a-take-on-generative-art/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>3D Fractals (Ray-traced with Flash)</title>
		<link>http://www.neuroproductions.be/experiments/3d-fractels-actionscript/</link>
		<comments>http://www.neuroproductions.be/experiments/3d-fractels-actionscript/#comments</comments>
		<pubDate>Mon, 08 Feb 2010 12:32:57 +0000</pubDate>
		<dc:creator>Kris</dc:creator>
				<category><![CDATA[Experiments]]></category>
		<category><![CDATA[Flash 3D]]></category>
		<category><![CDATA[Generative art]]></category>
		<category><![CDATA[Source code & tutorials]]></category>

		<guid isPermaLink="false">http://www.neuroproductions.be/?p=63</guid>
		<description><![CDATA[I guess every developer has to play with fractals sooner or later. Now it was my turn. I decided to make it a little more challenging for myself and try something in 3D.]]></description>
			<content:encoded><![CDATA[<p><span class="hw">I guess every developer has to play with fractals sooner or later. Now it was my turn. </span></p>
<p><span class="hw">I didn&#8217;t feel much for creating an other flat Mandelbrot set. So I decided to make it a little more challenging for myself and try something in 3D.<br />
</span></p>
<p><img src="http://www.neuroproductions.be/uploads/blog/examples/fractal/fractal1.jpg" alt="fractal AS3" width="700" height="171" /></p>
<p><span class="hw">There are already  <a href="http://images.google.com/images?hl=en&amp;um=1&amp;q=3D+fractals&amp;sa=N&amp;start=0&amp;ndsp=18" target="_blank">many</a> <a href="http://www.skytopia.com/project/fractal/mandelbulb.html" target="_blank">amazing</a> renders out there. But instead of copy/pasting formulas, I tried to find my own. And to my surprise, I found some very strange and interesting stuff, especially if you consider they are just mathematical defined volumes.<br />
</span></p>
<p>To render those volumes I made a very simple (and very slow) ray-tracer which follows the ray and start checking points to see if they are in the fractal. A normal ray tracer would just calculate the intersection of the ray and the volume, but I don&#8217;t know if that is even possible with this kind of stuff?</p>
<p>If I found a point, I looked near that point for 2 other points so I could calculate the normal and &#8216;setPixel&#8217; a normal map of the volume.</p>
<p><img src="http://www.neuroproductions.be/uploads/blog/examples/fractal/normalMapFractel_2.jpg" alt="fractal AS3" /></p>
<h4><a rel="shadowbox;width=500;height=540" href="http://www.neuroproductions.be/uploads/blog/examples/fractal/RayTraceTest.swf">» a live example (low quality)<br />
</a></h4>
<p>After that, I used a Pixel Bender filter (from <a href="http://www.derschmale.com/2009/06/08/introducing-stok3d-more-fp10-3dpixel-bender-shading/" target="_blank">Stok3D</a> by <a href="http://www.derschmale.com/" target="_blank">David Lenaerts</a>) to add phong shading to the renders.</p>
<p>Some of the renders (click to enlarge):</p>
<table border="0" cellspacing="5" cellpadding="0">
<tbody>
<tr>
<td><a rel="shadowbox[MustangThumbs];options={counterType:'skip',continuous:true,animSequence:'sync'}" href="http://www.neuroproductions.be/uploads/blog/examples/fractal/fractal5.jpg"><img src="http://www.neuroproductions.be/uploads/blog/examples/fractal/fractal5_t.jpg" alt="WiiFlash1" /></a></td>
<td><a rel="shadowbox[MustangThumbs];options={counterType:'skip',continuous:true,animSequence:'sync'}" href="http://www.neuroproductions.be/uploads/blog/examples/fractal/fractal2.jpg"><img src="http://www.neuroproductions.be/uploads/blog/examples/fractal/fractal2_t.jpg" alt="WiiFlash1" /></a></td>
</tr>
<tr>
<td><a rel="shadowbox[MustangThumbs];options={counterType:'skip',continuous:true,animSequence:'sync'}" href="http://www.neuroproductions.be/uploads/blog/examples/fractal/fractal4.jpg"><img src="http://www.neuroproductions.be/uploads/blog/examples/fractal/fractal4_t.jpg" alt="WiiFlash1" /></a></td>
<td><a rel="shadowbox[MustangThumbs];options={counterType:'skip',continuous:true,animSequence:'sync'}" href="http://www.neuroproductions.be/uploads/blog/examples/fractal/fractal6.jpg"><img src="http://www.neuroproductions.be/uploads/blog/examples/fractal/fractal6_t.jpg" alt="WiiFlash1" /></a></td>
</tr>
</tbody>
</table>
<p>I found a lot of these things and I should have made more images,  but it takes many hours to render them in a high quality. I guess I really should start learning C++&#8230;</p>
<p>I included the source code so you can start looking yourself for those amazing volumes out there. If you find something cool, let me know <img src='http://www.neuroproductions.be/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
source code: <a class="downloadlink" href="http://www.neuroproductions.be/wp-content/plugins/download-monitor/download.php?id=24" title=" downloaded 1304 times" >fractal_raytracer_src</a></p>
<div class="lightsocial_container"><a class="lightsocial_a" href="http://digg.com/submit?url=http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2F3d-fractels-actionscript%2F&amp;title=3D+Fractals+%28Ray-traced+with+Flash%29" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/digg.png" alt="Digg This" title="Digg This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.reddit.com/submit?url=http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2F3d-fractels-actionscript%2F&amp;title=3D+Fractals+%28Ray-traced+with+Flash%29" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/reddit.png" alt="Reddit This" title="Reddit This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2F3d-fractels-actionscript%2F&amp;title=3D+Fractals+%28Ray-traced+with+Flash%29" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/stumbleupon.png" alt="Stumble Now!" title="Stumble Now!" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://buzz.yahoo.com/buzz?targetUrl=http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2F3d-fractels-actionscript%2F&amp;headline=3D+Fractals+%28Ray-traced+with+Flash%29" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/yahoo_buzz.png" alt="Buzz This" title="Buzz This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.dzone.com/links/add.html?title=3D+Fractals+%28Ray-traced+with+Flash%29&amp;url=http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2F3d-fractels-actionscript%2F" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/dzone.png" alt="Vote on DZone" title="Vote on DZone" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.facebook.com/sharer.php?t=3D+Fractals+%28Ray-traced+with+Flash%29&amp;u=http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2F3d-fractels-actionscript%2F" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/facebook.png" alt="Share on Facebook" title="Share on Facebook" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://delicious.com/save?title=3D+Fractals+%28Ray-traced+with+Flash%29&amp;url=http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2F3d-fractels-actionscript%2F" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/delicious.png" alt="Bookmark this on Delicious" title="Bookmark this on Delicious" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.dotnetkicks.com/kick/?title=3D+Fractals+%28Ray-traced+with+Flash%29&amp;url=http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2F3d-fractels-actionscript%2F" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/dotnetkicks.png" alt="Kick It on DotNetKicks.com" title="Kick It on DotNetKicks.com" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://dotnetshoutout.com/Submit?title=3D+Fractals+%28Ray-traced+with+Flash%29&amp;url=http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2F3d-fractels-actionscript%2F" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/dotnetshoutout.png" alt="Shout it" title="Shout it" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2F3d-fractels-actionscript%2F&amp;title=3D+Fractals+%28Ray-traced+with+Flash%29&amp;summary=&amp;source=" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/linkedin.png" alt="Share on LinkedIn" title="Share on LinkedIn" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.technorati.com/faves?add=http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2F3d-fractels-actionscript%2F" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/technorati.png" alt="Bookmark this on Technorati" title="Bookmark this on Technorati" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://twitter.com/home?status=Reading+http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2F3d-fractels-actionscript%2F" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/twitter.png" alt="Post on Twitter" title="Post on Twitter" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.google.com/buzz/post?url=http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2F3d-fractels-actionscript%2F" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/google_buzz.png" alt="Google Buzz (aka. Google Reader)" title="Google Buzz (aka. Google Reader)" /></a>&nbsp;&nbsp;</div>]]></content:encoded>
			<wfw:commentRss>http://www.neuroproductions.be/experiments/3d-fractels-actionscript/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>3D Pixel Fun</title>
		<link>http://www.neuroproductions.be/experiments/3d-pixel-fun/</link>
		<comments>http://www.neuroproductions.be/experiments/3d-pixel-fun/#comments</comments>
		<pubDate>Mon, 31 Aug 2009 12:17:36 +0000</pubDate>
		<dc:creator>Kris</dc:creator>
				<category><![CDATA[Experiments]]></category>
		<category><![CDATA[Flash 3D]]></category>
		<category><![CDATA[Source code & tutorials]]></category>

		<guid isPermaLink="false">http://www.neuroproductions.be/?p=60</guid>
		<description><![CDATA[Recently a client asked me to do something which involved a lot of 3D cubes. I did some tests with [...]]]></description>
			<content:encoded><![CDATA[<p>Recently a client asked me to do something which involved a lot of 3D cubes. I did some <a href="http://www.neuroproductions.be/experiments/basic-3d-shading-test/">tests with cubes</a> in the past and I knew the number of cubes you can render in Flash are relatively limited. Lets say you want 10x10x10 cubes = 1000 cubes =6000 sides = 12000 triangles, which is near or already over the limit. So I decided to take a different approach.</p>
<p>When you use an isometric perspective, the cubes are all the same. So instead of rendering each cube every frame, you can render only one cube and use that cube as a particle to render a full scene. This way you can easily extend the limit of +-1000 cubes to 20000 or more cubes.</p>
<p>Motivated by the very cool 3D pixel editor <a href="http://kyucon.com/qblock/">Q-BLOCK</a> by <a href="http://kyucon.com/">Okuyama Kazuya</a>, but mostly because it was great fun to make, I decided to take it one step further and started to build a simple 3D pixel engine.<br />
<a rel="shadowbox;width=800;height=600" href="http://www.neuroproductions.be/uploads/blog/examples/pixel3D/Pixel3DTest.swf"><br />
<img src="http://www.neuroproductions.be/uploads/blog/examples/pixel3D/3dpixel.jpg" alt="3D pixel engine" /></a><br />
Use the arrow keys to move the character, drag to rotate the scene.</p>
<h4><a rel="shadowbox;width=800;height=600" href="http://www.neuroproductions.be/uploads/blog/examples/pixel3D/Pixel3DTest.swf">» View 3D Pixel Engine</a></h4>
<p>At this point, the Pixel3DObjects have x, y, z, rotationX, rotationY, rotationZ properties + they  support very basic animation (gotoAndStop). As input it uses transparent bitmapdata (I use pngs) Where the horizontal &#8220;sprites&#8221; are the depth layers, and the vertical &#8220;sprites&#8221; the animation frames (see img below).<br />
<img src="http://www.neuroproductions.be/uploads/blog/examples/pixel3D/boy.jpg" alt="3D pixel engine" /></p>
<p>But a 3D engine wouldn&#8217;t be complete without a possibility to import external generated 3D objects, so I also made a Collada parser witch converts a standard 3D mesh to a 3D pixel object:<br />
<a rel="shadowbox;width=800;height=600" href="http://www.neuroproductions.be/uploads/blog/examples/pixel3D/ElefantTest.swf"><br />
<img src="http://www.neuroproductions.be/uploads/blog/examples/pixel3D/pixelCollada.jpg" alt="3D pixel engine collada" /></a></p>
<h4><a rel="shadowbox;width=800;height=600" href="http://www.neuroproductions.be/uploads/blog/examples/pixel3D/ElefantTest.swf">» View Collada Elephant<br />
</a></h4>
<p>For a good result I had to raytrace the mesh from different angles and regularly check for duplicated cubes. But for big or complicated objects it takes a while to generate all the needed data. So the elephant is actually pre-rendered and just uses the output data from the raytrace object.</p>
<p>I include the source code (with the two examples) but its not what you call user friendly and most features are incomplete or buggy at this point. So you are warned.<br />
Source code: <a class="downloadlink" href="http://www.neuroproductions.be/wp-content/plugins/download-monitor/download.php?id=21" title=" downloaded 2378 times" >Pixel3D_source</a></p>
<div class="lightsocial_container"><a class="lightsocial_a" href="http://digg.com/submit?url=http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2F3d-pixel-fun%2F&amp;title=3D+Pixel+Fun" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/digg.png" alt="Digg This" title="Digg This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.reddit.com/submit?url=http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2F3d-pixel-fun%2F&amp;title=3D+Pixel+Fun" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/reddit.png" alt="Reddit This" title="Reddit This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2F3d-pixel-fun%2F&amp;title=3D+Pixel+Fun" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/stumbleupon.png" alt="Stumble Now!" title="Stumble Now!" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://buzz.yahoo.com/buzz?targetUrl=http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2F3d-pixel-fun%2F&amp;headline=3D+Pixel+Fun" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/yahoo_buzz.png" alt="Buzz This" title="Buzz This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.dzone.com/links/add.html?title=3D+Pixel+Fun&amp;url=http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2F3d-pixel-fun%2F" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/dzone.png" alt="Vote on DZone" title="Vote on DZone" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.facebook.com/sharer.php?t=3D+Pixel+Fun&amp;u=http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2F3d-pixel-fun%2F" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/facebook.png" alt="Share on Facebook" title="Share on Facebook" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://delicious.com/save?title=3D+Pixel+Fun&amp;url=http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2F3d-pixel-fun%2F" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/delicious.png" alt="Bookmark this on Delicious" title="Bookmark this on Delicious" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.dotnetkicks.com/kick/?title=3D+Pixel+Fun&amp;url=http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2F3d-pixel-fun%2F" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/dotnetkicks.png" alt="Kick It on DotNetKicks.com" title="Kick It on DotNetKicks.com" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://dotnetshoutout.com/Submit?title=3D+Pixel+Fun&amp;url=http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2F3d-pixel-fun%2F" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/dotnetshoutout.png" alt="Shout it" title="Shout it" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2F3d-pixel-fun%2F&amp;title=3D+Pixel+Fun&amp;summary=&amp;source=" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/linkedin.png" alt="Share on LinkedIn" title="Share on LinkedIn" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.technorati.com/faves?add=http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2F3d-pixel-fun%2F" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/technorati.png" alt="Bookmark this on Technorati" title="Bookmark this on Technorati" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://twitter.com/home?status=Reading+http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2F3d-pixel-fun%2F" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/twitter.png" alt="Post on Twitter" title="Post on Twitter" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.google.com/buzz/post?url=http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2F3d-pixel-fun%2F" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/google_buzz.png" alt="Google Buzz (aka. Google Reader)" title="Google Buzz (aka. Google Reader)" /></a>&nbsp;&nbsp;</div>]]></content:encoded>
			<wfw:commentRss>http://www.neuroproductions.be/experiments/3d-pixel-fun/feed/</wfw:commentRss>
		<slash:comments>27</slash:comments>
		</item>
		<item>
		<title>3D Normal Mapping with Pixel Bender</title>
		<link>http://www.neuroproductions.be/experiments/3d-normal-mapping-pixelbender/</link>
		<comments>http://www.neuroproductions.be/experiments/3d-normal-mapping-pixelbender/#comments</comments>
		<pubDate>Mon, 03 Aug 2009 12:03:21 +0000</pubDate>
		<dc:creator>Kris</dc:creator>
				<category><![CDATA[Experiments]]></category>
		<category><![CDATA[Flash 3D]]></category>
		<category><![CDATA[Pixel Bender]]></category>
		<category><![CDATA[Source code & tutorials]]></category>

		<guid isPermaLink="false">http://www.neuroproductions.be/?p=57</guid>
		<description><![CDATA[In my previous normal mapping experiment I used just flat images, now it was time to do it in 3d, [...]]]></description>
			<content:encoded><![CDATA[<p>In my previous <a href="http://www.neuroproductions.be/experiments/normal-mapping-experiment/" target="_blank">normal mapping experiment</a> I used just flat images, now it was time to do it in 3d, with Pixel Bender.</p>
<p>But to do that, I needed a &#8220;world&#8221; normal map of the 3d object. The problem was that standard 3d normal mapping is done with local maps (img 3). I&#8217;m sure someone familiar with 3D modeling programs can create world normal maps, but I don&#8217;t, I tried for hours <img src='http://www.neuroproductions.be/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /><br />
<a rel="shadowbox;width=700;height=500" href="http://www.neuroproductions.be/uploads/blog/examples/normalmap/NormalMap.swf"><br />
<img src="http://www.neuroproductions.be/uploads/blog/examples/normalmap/normal_maps_3D.jpg" alt="normal map pixelbender" /></a></p>
<p>So I had to create the world map in Flash and unwrap the hole thing to the local map&#8217;s UV cords. Then I used Pixel Bender to create one map by adding the local and the world map together. So I ended up with 2 maps, the diffuse map (img 2) and the world normal map (with the details of the local map). All that was left to do was render the two on top of each other and apply a Pixel Bender blendmode to create the shading effect (something like <a href="http://www.neuroproductions.be/experiments/normal-mapping-experiment/" target="_blank">this</a>, but with Pixel Bender)</p>
<h4><a rel="shadowbox;width=700;height=500" href="http://www.neuroproductions.be/uploads/blog/examples/normalmap/NormalMap.swf">» View normal mapping experiment </a></h4>
<p>Ok, all nice and stuff, but there is actually something very interesting going on (correct me if I&#8217;m wrong).<br />
Lets say you want an object with a bitmap material and phong shading. In the classic way you have to project every normal of every vertex every frame and recalculate the the uv mapping to draw the phong layer, After that, you blend the phong and the diffuse layer.<br />
But with the normal map, you just have to (pixel)blend 2 bitmap material renders&#8230;. I didn&#8217;t tested it yet, but it sounds a lot faster to me? + there is no extra cost for adding local normal maps.</p>
<p>I joined the <a title="away3D" href="http://away3d.com/" target="_blank">Away3D</a> team and this is part of the experiments for a new FP10 branch. So no source code for now. If its still is interesting after optimalization and further testing, it will be in Away3D sooner or later.<br />
But if you have questions, your free to ask.</p>
<div class="lightsocial_container"><a class="lightsocial_a" href="http://digg.com/submit?url=http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2F3d-normal-mapping-pixelbender%2F&amp;title=3D+Normal+Mapping+with+Pixel+Bender" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/digg.png" alt="Digg This" title="Digg This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.reddit.com/submit?url=http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2F3d-normal-mapping-pixelbender%2F&amp;title=3D+Normal+Mapping+with+Pixel+Bender" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/reddit.png" alt="Reddit This" title="Reddit This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2F3d-normal-mapping-pixelbender%2F&amp;title=3D+Normal+Mapping+with+Pixel+Bender" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/stumbleupon.png" alt="Stumble Now!" title="Stumble Now!" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://buzz.yahoo.com/buzz?targetUrl=http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2F3d-normal-mapping-pixelbender%2F&amp;headline=3D+Normal+Mapping+with+Pixel+Bender" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/yahoo_buzz.png" alt="Buzz This" title="Buzz This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.dzone.com/links/add.html?title=3D+Normal+Mapping+with+Pixel+Bender&amp;url=http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2F3d-normal-mapping-pixelbender%2F" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/dzone.png" alt="Vote on DZone" title="Vote on DZone" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.facebook.com/sharer.php?t=3D+Normal+Mapping+with+Pixel+Bender&amp;u=http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2F3d-normal-mapping-pixelbender%2F" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/facebook.png" alt="Share on Facebook" title="Share on Facebook" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://delicious.com/save?title=3D+Normal+Mapping+with+Pixel+Bender&amp;url=http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2F3d-normal-mapping-pixelbender%2F" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/delicious.png" alt="Bookmark this on Delicious" title="Bookmark this on Delicious" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.dotnetkicks.com/kick/?title=3D+Normal+Mapping+with+Pixel+Bender&amp;url=http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2F3d-normal-mapping-pixelbender%2F" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/dotnetkicks.png" alt="Kick It on DotNetKicks.com" title="Kick It on DotNetKicks.com" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://dotnetshoutout.com/Submit?title=3D+Normal+Mapping+with+Pixel+Bender&amp;url=http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2F3d-normal-mapping-pixelbender%2F" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/dotnetshoutout.png" alt="Shout it" title="Shout it" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2F3d-normal-mapping-pixelbender%2F&amp;title=3D+Normal+Mapping+with+Pixel+Bender&amp;summary=&amp;source=" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/linkedin.png" alt="Share on LinkedIn" title="Share on LinkedIn" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.technorati.com/faves?add=http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2F3d-normal-mapping-pixelbender%2F" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/technorati.png" alt="Bookmark this on Technorati" title="Bookmark this on Technorati" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://twitter.com/home?status=Reading+http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2F3d-normal-mapping-pixelbender%2F" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/twitter.png" alt="Post on Twitter" title="Post on Twitter" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.google.com/buzz/post?url=http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2F3d-normal-mapping-pixelbender%2F" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/google_buzz.png" alt="Google Buzz (aka. Google Reader)" title="Google Buzz (aka. Google Reader)" /></a>&nbsp;&nbsp;</div>]]></content:encoded>
			<wfw:commentRss>http://www.neuroproductions.be/experiments/3d-normal-mapping-pixelbender/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Normal Mapping Experiment</title>
		<link>http://www.neuroproductions.be/experiments/normal-mapping-experiment/</link>
		<comments>http://www.neuroproductions.be/experiments/normal-mapping-experiment/#comments</comments>
		<pubDate>Tue, 28 Jul 2009 13:41:47 +0000</pubDate>
		<dc:creator>Kris</dc:creator>
				<category><![CDATA[Experiments]]></category>
		<category><![CDATA[Flash 3D]]></category>
		<category><![CDATA[Source code & tutorials]]></category>

		<guid isPermaLink="false">http://www.neuroproductions.be/?p=56</guid>
		<description><![CDATA[In my quest to learn more about 3D I came across normal mapping. So I had to try that out. [...]]]></description>
			<content:encoded><![CDATA[<p>In my quest to learn more about 3D I came across normal mapping. So I had to try that out. I saw <a href="http://www.unitzeroone.com/blog/">Ralph Hauwert</a> do this at FITC Amsterdam, so I knew it was possible.</p>
<p>As input for this test I &#8220;made&#8221; two images (The model came from here:  <a href="http://www.blendermodels.org/">blendermodels.org</a>): One with the normal mapping and one with the colours. (<a href="http://feeblemind.tuxfamily.org/dotclear/index.php/2005/08/23/43-tutorial-blender-and-normal-maps">normal mapping tutorial for blender</a>)</p>
<p><img src="http://www.neuroproductions.be/uploads/blog/examples/normalmap/normal_maps_flash.png" alt="normal map" /></p>
<p>Applying some Blendmodes and ColorMatrixFilters did the trick. Maybe to optimize the whole thing I should write a PixelBender filter for it, but I&#8217;m not sure its gone be faster? Anyway, here is the result:<br />
<a rel="shadowbox;width=1000;height=563" href="http://www.neuroproductions.be/uploads/blog/examples/normalmap/NormalMapTest.swf"><br />
<img src="http://www.neuroproductions.be/uploads/blog/examples/normalmap/tractorFull.png" alt="normal map" /></a></p>
<h4><a rel="shadowbox;width=1000;height=563" href="http://www.neuroproductions.be/uploads/blog/examples/normalmap/NormalMapTest.swf">» View normal mapping experiment </a></h4>
<p>The whole point of this is to create a low polygon model, mapped with a high polygon normal map and so creating a fast rendering model with lot of shaded details. But that&#8217;s probably for next week <img src='http://www.neuroproductions.be/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Source code: <a class="downloadlink" href="http://www.neuroproductions.be/wp-content/plugins/download-monitor/download.php?id=20" title=" downloaded 1480 times" >NormalMapTest_source</a></p>
<div class="lightsocial_container"><a class="lightsocial_a" href="http://digg.com/submit?url=http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2Fnormal-mapping-experiment%2F&amp;title=Normal+Mapping+Experiment" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/digg.png" alt="Digg This" title="Digg This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.reddit.com/submit?url=http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2Fnormal-mapping-experiment%2F&amp;title=Normal+Mapping+Experiment" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/reddit.png" alt="Reddit This" title="Reddit This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2Fnormal-mapping-experiment%2F&amp;title=Normal+Mapping+Experiment" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/stumbleupon.png" alt="Stumble Now!" title="Stumble Now!" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://buzz.yahoo.com/buzz?targetUrl=http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2Fnormal-mapping-experiment%2F&amp;headline=Normal+Mapping+Experiment" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/yahoo_buzz.png" alt="Buzz This" title="Buzz This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.dzone.com/links/add.html?title=Normal+Mapping+Experiment&amp;url=http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2Fnormal-mapping-experiment%2F" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/dzone.png" alt="Vote on DZone" title="Vote on DZone" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.facebook.com/sharer.php?t=Normal+Mapping+Experiment&amp;u=http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2Fnormal-mapping-experiment%2F" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/facebook.png" alt="Share on Facebook" title="Share on Facebook" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://delicious.com/save?title=Normal+Mapping+Experiment&amp;url=http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2Fnormal-mapping-experiment%2F" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/delicious.png" alt="Bookmark this on Delicious" title="Bookmark this on Delicious" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.dotnetkicks.com/kick/?title=Normal+Mapping+Experiment&amp;url=http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2Fnormal-mapping-experiment%2F" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/dotnetkicks.png" alt="Kick It on DotNetKicks.com" title="Kick It on DotNetKicks.com" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://dotnetshoutout.com/Submit?title=Normal+Mapping+Experiment&amp;url=http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2Fnormal-mapping-experiment%2F" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/dotnetshoutout.png" alt="Shout it" title="Shout it" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2Fnormal-mapping-experiment%2F&amp;title=Normal+Mapping+Experiment&amp;summary=&amp;source=" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/linkedin.png" alt="Share on LinkedIn" title="Share on LinkedIn" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.technorati.com/faves?add=http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2Fnormal-mapping-experiment%2F" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/technorati.png" alt="Bookmark this on Technorati" title="Bookmark this on Technorati" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://twitter.com/home?status=Reading+http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2Fnormal-mapping-experiment%2F" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/twitter.png" alt="Post on Twitter" title="Post on Twitter" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.google.com/buzz/post?url=http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2Fnormal-mapping-experiment%2F" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/google_buzz.png" alt="Google Buzz (aka. Google Reader)" title="Google Buzz (aka. Google Reader)" /></a>&nbsp;&nbsp;</div>]]></content:encoded>
			<wfw:commentRss>http://www.neuroproductions.be/experiments/normal-mapping-experiment/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>&#8220;ZBrush modelling&#8221; in Flash</title>
		<link>http://www.neuroproductions.be/experiments/zbrush-modelling-in-flash/</link>
		<comments>http://www.neuroproductions.be/experiments/zbrush-modelling-in-flash/#comments</comments>
		<pubDate>Mon, 13 Jul 2009 11:43:36 +0000</pubDate>
		<dc:creator>Kris</dc:creator>
				<category><![CDATA[Experiments]]></category>
		<category><![CDATA[Flash 3D]]></category>
		<category><![CDATA[Source code & tutorials]]></category>
		<category><![CDATA[Websites]]></category>

		<guid isPermaLink="false">http://www.neuroproductions.be/?p=55</guid>
		<description><![CDATA[While doing some 3D research I stumbled on ZBrush, a cool 3D modelling application. The concept of the app is [...]]]></description>
			<content:encoded><![CDATA[<p>While doing some 3D research I stumbled on <a href="http://www.pixologic.com/" target="_blank">ZBrush</a>, a cool 3D modelling application. The concept of the app is different than the average 3D modelling tool. Basically, you start with a shape and draw to add and remove volume. I thought it would be fun to make something like that in Flash. Et voila!<br />
<a href="http://www.neuroproductions.be/online_zbrush/" target="_blank"><br />
<img src="http://www.neuroproductions.be/uploads/blog/examples/zbrush/siteZbrush.jpg" alt="online ZBrush" /></a></p>
<h4><a href="http://www.neuroproductions.be/online_zbrush/" target="_blank">» View &#8220;ZBrush&#8221; experiment</a></h4>
<p>It&#8217;s far from perfect, but it will do for now <img src='http://www.neuroproductions.be/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Source code: <a class="downloadlink" href="http://www.neuroproductions.be/wp-content/plugins/download-monitor/download.php?id=19" title=" downloaded 1372 times" >flash_zbrush_source</a>  (Its a mess, sorry)<br />
I shamelessly based the geodesic sphere code on the <a href="http://away3d.com/" target="_blank">Away3D</a> geodesic sphere and the shading on <a href="http://d.hatena.ne.jp/keim_at_Si/" target="_blank">keim at Si</a>&#8216;s cool wonderfl&#8217;s experiments. (I think that is his name?)</p>
<div class="lightsocial_container"><a class="lightsocial_a" href="http://digg.com/submit?url=http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2Fzbrush-modelling-in-flash%2F&amp;title=%22ZBrush+modelling%22+in+Flash" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/digg.png" alt="Digg This" title="Digg This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.reddit.com/submit?url=http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2Fzbrush-modelling-in-flash%2F&amp;title=%22ZBrush+modelling%22+in+Flash" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/reddit.png" alt="Reddit This" title="Reddit This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2Fzbrush-modelling-in-flash%2F&amp;title=%22ZBrush+modelling%22+in+Flash" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/stumbleupon.png" alt="Stumble Now!" title="Stumble Now!" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://buzz.yahoo.com/buzz?targetUrl=http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2Fzbrush-modelling-in-flash%2F&amp;headline=%22ZBrush+modelling%22+in+Flash" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/yahoo_buzz.png" alt="Buzz This" title="Buzz This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.dzone.com/links/add.html?title=%22ZBrush+modelling%22+in+Flash&amp;url=http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2Fzbrush-modelling-in-flash%2F" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/dzone.png" alt="Vote on DZone" title="Vote on DZone" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.facebook.com/sharer.php?t=%22ZBrush+modelling%22+in+Flash&amp;u=http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2Fzbrush-modelling-in-flash%2F" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/facebook.png" alt="Share on Facebook" title="Share on Facebook" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://delicious.com/save?title=%22ZBrush+modelling%22+in+Flash&amp;url=http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2Fzbrush-modelling-in-flash%2F" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/delicious.png" alt="Bookmark this on Delicious" title="Bookmark this on Delicious" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.dotnetkicks.com/kick/?title=%22ZBrush+modelling%22+in+Flash&amp;url=http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2Fzbrush-modelling-in-flash%2F" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/dotnetkicks.png" alt="Kick It on DotNetKicks.com" title="Kick It on DotNetKicks.com" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://dotnetshoutout.com/Submit?title=%22ZBrush+modelling%22+in+Flash&amp;url=http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2Fzbrush-modelling-in-flash%2F" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/dotnetshoutout.png" alt="Shout it" title="Shout it" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2Fzbrush-modelling-in-flash%2F&amp;title=%22ZBrush+modelling%22+in+Flash&amp;summary=&amp;source=" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/linkedin.png" alt="Share on LinkedIn" title="Share on LinkedIn" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.technorati.com/faves?add=http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2Fzbrush-modelling-in-flash%2F" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/technorati.png" alt="Bookmark this on Technorati" title="Bookmark this on Technorati" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://twitter.com/home?status=Reading+http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2Fzbrush-modelling-in-flash%2F" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/twitter.png" alt="Post on Twitter" title="Post on Twitter" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.google.com/buzz/post?url=http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2Fzbrush-modelling-in-flash%2F" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/google_buzz.png" alt="Google Buzz (aka. Google Reader)" title="Google Buzz (aka. Google Reader)" /></a>&nbsp;&nbsp;</div>]]></content:encoded>
			<wfw:commentRss>http://www.neuroproductions.be/experiments/zbrush-modelling-in-flash/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Nurbs!</title>
		<link>http://www.neuroproductions.be/experiments/nurbs/</link>
		<comments>http://www.neuroproductions.be/experiments/nurbs/#comments</comments>
		<pubDate>Tue, 07 Jul 2009 17:57:06 +0000</pubDate>
		<dc:creator>Kris</dc:creator>
				<category><![CDATA[Experiments]]></category>
		<category><![CDATA[Flash 3D]]></category>
		<category><![CDATA[Source code & tutorials]]></category>
		<category><![CDATA[drawDriangles]]></category>
		<category><![CDATA[qubic_bezier]]></category>

		<guid isPermaLink="false">http://www.neuroproductions.be/?p=54</guid>
		<description><![CDATA[In my previous post about Envelope distortion Fabrice Closier made a short but very interesting comment. He suggested nurbs. With [...]]]></description>
			<content:encoded><![CDATA[<p>In my previous post about <a title="envelope-distort" href="http://www.neuroproductions.be/experiments/envelope-distort-with-actionscript/" target="_blank">Envelope distortion</a> <a href="http://blog.closier.nl/">Fabrice Closier</a> made a short but very interesting comment. He suggested nurbs. With nurbs a 3D mesh is not defined by every single triangle, but with the control and anchor points of the Bezier curves that form that mesh. So I made a small experiment by making the envelope distort &#8220;3D&#8221;.<br />
<a rel="shadowbox;width=800;height=600" href="http://www.neuroproductions.be/uploads/blog/examples/nurbs1/NurbsTest.swf"><br />
<img src="http://www.neuroproductions.be/uploads/blog/examples/nurbs1/nurbs.jpg" alt="nurbs with actionscript" /></a><br />
Drag the image to rotate in 3D, the red elements are the top view, the blue the front.</p>
<h4><a rel="shadowbox;width=800;height=600" href="http://www.neuroproductions.be/uploads/blog/examples/nurbs1/NurbsTest.swf">» View test</a></h4>
<p>One of the cool things is that you don&#8217;t have to project every single vertex,  but only the control and anchor points.  ( Assuming you can z-sort en calculate the normals without it&#8230;?  I still need to look at that <img src='http://www.neuroproductions.be/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  ). An other cool aspect is that you can easily change the quality (= number of triangles ) at runtime, by changing the number of segments of the beziers.</p>
<p>Its just the beginning, still a lot of research and experimenting to do before It becomes something useful. If it ever will&#8230;</p>
<p>Source code: <a class="downloadlink" href="http://www.neuroproductions.be/wp-content/plugins/download-monitor/download.php?id=18" title=" downloaded 1320 times" >source_nurbs_part1</a></p>
<div class="lightsocial_container"><a class="lightsocial_a" href="http://digg.com/submit?url=http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2Fnurbs%2F&amp;title=Nurbs%21" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/digg.png" alt="Digg This" title="Digg This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.reddit.com/submit?url=http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2Fnurbs%2F&amp;title=Nurbs%21" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/reddit.png" alt="Reddit This" title="Reddit This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2Fnurbs%2F&amp;title=Nurbs%21" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/stumbleupon.png" alt="Stumble Now!" title="Stumble Now!" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://buzz.yahoo.com/buzz?targetUrl=http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2Fnurbs%2F&amp;headline=Nurbs%21" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/yahoo_buzz.png" alt="Buzz This" title="Buzz This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.dzone.com/links/add.html?title=Nurbs%21&amp;url=http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2Fnurbs%2F" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/dzone.png" alt="Vote on DZone" title="Vote on DZone" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.facebook.com/sharer.php?t=Nurbs%21&amp;u=http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2Fnurbs%2F" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/facebook.png" alt="Share on Facebook" title="Share on Facebook" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://delicious.com/save?title=Nurbs%21&amp;url=http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2Fnurbs%2F" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/delicious.png" alt="Bookmark this on Delicious" title="Bookmark this on Delicious" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.dotnetkicks.com/kick/?title=Nurbs%21&amp;url=http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2Fnurbs%2F" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/dotnetkicks.png" alt="Kick It on DotNetKicks.com" title="Kick It on DotNetKicks.com" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://dotnetshoutout.com/Submit?title=Nurbs%21&amp;url=http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2Fnurbs%2F" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/dotnetshoutout.png" alt="Shout it" title="Shout it" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2Fnurbs%2F&amp;title=Nurbs%21&amp;summary=&amp;source=" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/linkedin.png" alt="Share on LinkedIn" title="Share on LinkedIn" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.technorati.com/faves?add=http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2Fnurbs%2F" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/technorati.png" alt="Bookmark this on Technorati" title="Bookmark this on Technorati" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://twitter.com/home?status=Reading+http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2Fnurbs%2F" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/twitter.png" alt="Post on Twitter" title="Post on Twitter" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.google.com/buzz/post?url=http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2Fnurbs%2F" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/google_buzz.png" alt="Google Buzz (aka. Google Reader)" title="Google Buzz (aka. Google Reader)" /></a>&nbsp;&nbsp;</div>]]></content:encoded>
			<wfw:commentRss>http://www.neuroproductions.be/experiments/nurbs/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Basic 3D shading test</title>
		<link>http://www.neuroproductions.be/experiments/basic-3d-shading-test/</link>
		<comments>http://www.neuroproductions.be/experiments/basic-3d-shading-test/#comments</comments>
		<pubDate>Thu, 25 Jun 2009 12:27:44 +0000</pubDate>
		<dc:creator>Kris</dc:creator>
				<category><![CDATA[Experiments]]></category>
		<category><![CDATA[Flash 3D]]></category>
		<category><![CDATA[Source code & tutorials]]></category>
		<category><![CDATA[drawGraphicsData]]></category>
		<category><![CDATA[drawTriangles]]></category>
		<category><![CDATA[shader]]></category>
		<category><![CDATA[shaderFill]]></category>

		<guid isPermaLink="false">http://www.neuroproductions.be/?p=52</guid>
		<description><![CDATA[An other try at 3D, this time a shading test. I first wanted to try it with a PixelBender shader, [...]]]></description>
			<content:encoded><![CDATA[<p><a rel="shadowbox;width=788;height=759" href="http://www.neuroproductions.be/uploads/blog/examples/simpleShading/Cubes3D.swf"><br />
<img src="http://www.neuroproductions.be/uploads/blog/examples/simpleShading/shading_square.jpg" alt="as3 shading drawingAPI" /></a></p>
<p>An other try at 3D, this time a shading test.</p>
<p>I first wanted to try it with a PixelBender shader, but I found out you can&#8217;t use UVW mapping with a shaderFill? I also abandoned the whole drawTriangles method (to much disadvantages) and switched to the drawGraphicsData method, it&#8217;s not that fast as drawTriangles, but its much faster than the classic drawing API.</p>
<h4><a rel="shadowbox;width=788;height=759" href="http://www.neuroproductions.be/uploads/blog/examples/simpleShading/Cubes3D.swf">» View test</a></h4>
<p>(drag to rotate the cube)<br />
Source code: <a class="downloadlink" href="http://www.neuroproductions.be/wp-content/plugins/download-monitor/download.php?id=16" title=" downloaded 1324 times" >shader_source</a> (Warning! Its a mess <img src='http://www.neuroproductions.be/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  )</p>
<div class="lightsocial_container"><a class="lightsocial_a" href="http://digg.com/submit?url=http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2Fbasic-3d-shading-test%2F&amp;title=Basic+3D+shading+test" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/digg.png" alt="Digg This" title="Digg This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.reddit.com/submit?url=http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2Fbasic-3d-shading-test%2F&amp;title=Basic+3D+shading+test" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/reddit.png" alt="Reddit This" title="Reddit This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2Fbasic-3d-shading-test%2F&amp;title=Basic+3D+shading+test" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/stumbleupon.png" alt="Stumble Now!" title="Stumble Now!" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://buzz.yahoo.com/buzz?targetUrl=http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2Fbasic-3d-shading-test%2F&amp;headline=Basic+3D+shading+test" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/yahoo_buzz.png" alt="Buzz This" title="Buzz This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.dzone.com/links/add.html?title=Basic+3D+shading+test&amp;url=http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2Fbasic-3d-shading-test%2F" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/dzone.png" alt="Vote on DZone" title="Vote on DZone" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.facebook.com/sharer.php?t=Basic+3D+shading+test&amp;u=http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2Fbasic-3d-shading-test%2F" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/facebook.png" alt="Share on Facebook" title="Share on Facebook" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://delicious.com/save?title=Basic+3D+shading+test&amp;url=http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2Fbasic-3d-shading-test%2F" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/delicious.png" alt="Bookmark this on Delicious" title="Bookmark this on Delicious" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.dotnetkicks.com/kick/?title=Basic+3D+shading+test&amp;url=http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2Fbasic-3d-shading-test%2F" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/dotnetkicks.png" alt="Kick It on DotNetKicks.com" title="Kick It on DotNetKicks.com" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://dotnetshoutout.com/Submit?title=Basic+3D+shading+test&amp;url=http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2Fbasic-3d-shading-test%2F" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/dotnetshoutout.png" alt="Shout it" title="Shout it" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2Fbasic-3d-shading-test%2F&amp;title=Basic+3D+shading+test&amp;summary=&amp;source=" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/linkedin.png" alt="Share on LinkedIn" title="Share on LinkedIn" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.technorati.com/faves?add=http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2Fbasic-3d-shading-test%2F" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/technorati.png" alt="Bookmark this on Technorati" title="Bookmark this on Technorati" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://twitter.com/home?status=Reading+http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2Fbasic-3d-shading-test%2F" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/twitter.png" alt="Post on Twitter" title="Post on Twitter" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.google.com/buzz/post?url=http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2Fbasic-3d-shading-test%2F" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/google_buzz.png" alt="Google Buzz (aka. Google Reader)" title="Google Buzz (aka. Google Reader)" /></a>&nbsp;&nbsp;</div>]]></content:encoded>
			<wfw:commentRss>http://www.neuroproductions.be/experiments/basic-3d-shading-test/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>3D Fur Renderer</title>
		<link>http://www.neuroproductions.be/experiments/3d-fur-renderer/</link>
		<comments>http://www.neuroproductions.be/experiments/3d-fur-renderer/#comments</comments>
		<pubDate>Mon, 08 Jun 2009 11:02:10 +0000</pubDate>
		<dc:creator>Kris</dc:creator>
				<category><![CDATA[Experiments]]></category>
		<category><![CDATA[Flash 3D]]></category>
		<category><![CDATA[Generative art]]></category>
		<category><![CDATA[Source code & tutorials]]></category>
		<category><![CDATA[Matrix3D]]></category>
		<category><![CDATA[triangulation]]></category>

		<guid isPermaLink="false">http://www.neuroproductions.be/?p=51</guid>
		<description><![CDATA[This weekend I was playing around with normals. Normals are vectors that are perpendicular to a flat surface and thereby [...]]]></description>
			<content:encoded><![CDATA[<p>This weekend I was playing around with normals. Normals are vectors that are perpendicular to a flat surface and thereby indicating the direction of that surface. In 3D they are mostly used in to create shading effects. But when I saw all those normals on my test triangles, they reminded me of hair. So I combined my <a title="collada parser as3" href="http://www.neuroproductions.be/experiments/flashplayer-10-collada-parser/" target="_blank">Collada Parser</a> with my new knowledge, and created a fur renderer in ActionScript.</p>
<p><img src="http://www.neuroproductions.be/uploads/blog/examples/fur/furry_santa.jpg" alt="fur santa" /></p>
<p>Since I had the normals, I also added some very simple shading. You can view the fur shading process <a rel="shadowbox;width=600;height=770" href="http://www.neuroproductions.be/uploads/blog/examples/fur/Fur3D.swf">here</a> (Click to start rendering. Update your FlashPlayer if you don&#8217;t see anything or when the model is very small ). The rendering is very slow, the Santa is created with more than 10 million line-segments and I didn&#8217;t really optimise the code. So have some patience. <img src='http://www.neuroproductions.be/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Source code: <a class="downloadlink" href="http://www.neuroproductions.be/wp-content/plugins/download-monitor/download.php?id=15" title=" downloaded 1453 times" >Fur_3D_source</a></p>
<div class="lightsocial_container"><a class="lightsocial_a" href="http://digg.com/submit?url=http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2F3d-fur-renderer%2F&amp;title=3D+Fur+Renderer" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/digg.png" alt="Digg This" title="Digg This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.reddit.com/submit?url=http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2F3d-fur-renderer%2F&amp;title=3D+Fur+Renderer" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/reddit.png" alt="Reddit This" title="Reddit This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2F3d-fur-renderer%2F&amp;title=3D+Fur+Renderer" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/stumbleupon.png" alt="Stumble Now!" title="Stumble Now!" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://buzz.yahoo.com/buzz?targetUrl=http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2F3d-fur-renderer%2F&amp;headline=3D+Fur+Renderer" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/yahoo_buzz.png" alt="Buzz This" title="Buzz This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.dzone.com/links/add.html?title=3D+Fur+Renderer&amp;url=http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2F3d-fur-renderer%2F" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/dzone.png" alt="Vote on DZone" title="Vote on DZone" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.facebook.com/sharer.php?t=3D+Fur+Renderer&amp;u=http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2F3d-fur-renderer%2F" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/facebook.png" alt="Share on Facebook" title="Share on Facebook" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://delicious.com/save?title=3D+Fur+Renderer&amp;url=http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2F3d-fur-renderer%2F" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/delicious.png" alt="Bookmark this on Delicious" title="Bookmark this on Delicious" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.dotnetkicks.com/kick/?title=3D+Fur+Renderer&amp;url=http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2F3d-fur-renderer%2F" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/dotnetkicks.png" alt="Kick It on DotNetKicks.com" title="Kick It on DotNetKicks.com" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://dotnetshoutout.com/Submit?title=3D+Fur+Renderer&amp;url=http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2F3d-fur-renderer%2F" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/dotnetshoutout.png" alt="Shout it" title="Shout it" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2F3d-fur-renderer%2F&amp;title=3D+Fur+Renderer&amp;summary=&amp;source=" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/linkedin.png" alt="Share on LinkedIn" title="Share on LinkedIn" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.technorati.com/faves?add=http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2F3d-fur-renderer%2F" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/technorati.png" alt="Bookmark this on Technorati" title="Bookmark this on Technorati" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://twitter.com/home?status=Reading+http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2F3d-fur-renderer%2F" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/twitter.png" alt="Post on Twitter" title="Post on Twitter" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.google.com/buzz/post?url=http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2F3d-fur-renderer%2F" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/google_buzz.png" alt="Google Buzz (aka. Google Reader)" title="Google Buzz (aka. Google Reader)" /></a>&nbsp;&nbsp;</div>]]></content:encoded>
			<wfw:commentRss>http://www.neuroproductions.be/experiments/3d-fur-renderer/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>FlashPlayer 10 Collada Parser</title>
		<link>http://www.neuroproductions.be/experiments/flashplayer-10-collada-parser/</link>
		<comments>http://www.neuroproductions.be/experiments/flashplayer-10-collada-parser/#comments</comments>
		<pubDate>Mon, 25 May 2009 18:39:41 +0000</pubDate>
		<dc:creator>Kris</dc:creator>
				<category><![CDATA[Experiments]]></category>
		<category><![CDATA[Flash 3D]]></category>
		<category><![CDATA[Source code & tutorials]]></category>
		<category><![CDATA[drawTriangles]]></category>
		<category><![CDATA[Matrix3D]]></category>

		<guid isPermaLink="false">http://www.neuroproductions.be/?p=48</guid>
		<description><![CDATA[In a project I have recently done, I had  (still have actually) some memory leak issues with the papervision3D DAEs. [...]]]></description>
			<content:encoded><![CDATA[<p>In a project I have recently done, I had  (still have actually) some memory leak issues with the papervision3D DAEs. And since we have now &#8220;3D support&#8221; in the FlashPlayer, I tried to make my own collada parser from scratch.</p>
<p><a rel="shadowbox;width=1000;height=1000" href="http://www.neuroproductions.be/uploads/blog/examples/collada/ColadaTest.swf"><br />
<img src="http://www.neuroproductions.be/uploads/blog/examples/collada/collada_flash.jpg" alt="" width="700" height="261" /></a><br />
<a rel="shadowbox;width=1000;height=1000" href="http://www.neuroproductions.be/uploads/blog/examples/collada/ColadaTest.swf"></a></p>
<p>But I soon stumbled on some problems.</p>
<p>-  The drawTriangles method uses the same indices for the uv mapping and the vertices. In the collada they are separated (witch makes actually more sense)<br />
- Drawtriangles doesn&#8217;t do z-sorting.<br />
- Drawtriangles only takes one bitmap for the mapping.</p>
<p>Overcoming these problems is actually pretty simple. Just calculate and draw each triangle individually and do the z-sorting in between. But thats very very slow&#8230;  So I had to drop the live mapping.</p>
<p>Instructions: Click on the stage to &#8220;render&#8221;, click on the blue circle to switch between models. If you don&#8217;t see anything, or the models are very small, you need to update your FlashPlayer.</p>
<h4><a rel="shadowbox;width=1000;height=1000" href="http://www.neuroproductions.be/uploads/blog/examples/collada/ColadaTest.swf"><br />
» View example</a></h4>
<p>Anyway, learned a lot of new things about 3D and I&#8217;m looking forward to the release of PapervisionX to see how they handled it, and how much of the new API they actually use.</p>
<p>Source code: <a class="downloadlink" href="http://www.neuroproductions.be/wp-content/plugins/download-monitor/download.php?id=12" title=" downloaded 1083 times" >collada_source</a>  (only works with <a href="http://sketchup.google.com/3dwarehouse/" target="_blank">Google sketchup colladas</a> with bitmap materials)</p>
<div class="lightsocial_container"><a class="lightsocial_a" href="http://digg.com/submit?url=http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2Fflashplayer-10-collada-parser%2F&amp;title=FlashPlayer+10+Collada+Parser" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/digg.png" alt="Digg This" title="Digg This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.reddit.com/submit?url=http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2Fflashplayer-10-collada-parser%2F&amp;title=FlashPlayer+10+Collada+Parser" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/reddit.png" alt="Reddit This" title="Reddit This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2Fflashplayer-10-collada-parser%2F&amp;title=FlashPlayer+10+Collada+Parser" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/stumbleupon.png" alt="Stumble Now!" title="Stumble Now!" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://buzz.yahoo.com/buzz?targetUrl=http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2Fflashplayer-10-collada-parser%2F&amp;headline=FlashPlayer+10+Collada+Parser" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/yahoo_buzz.png" alt="Buzz This" title="Buzz This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.dzone.com/links/add.html?title=FlashPlayer+10+Collada+Parser&amp;url=http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2Fflashplayer-10-collada-parser%2F" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/dzone.png" alt="Vote on DZone" title="Vote on DZone" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.facebook.com/sharer.php?t=FlashPlayer+10+Collada+Parser&amp;u=http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2Fflashplayer-10-collada-parser%2F" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/facebook.png" alt="Share on Facebook" title="Share on Facebook" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://delicious.com/save?title=FlashPlayer+10+Collada+Parser&amp;url=http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2Fflashplayer-10-collada-parser%2F" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/delicious.png" alt="Bookmark this on Delicious" title="Bookmark this on Delicious" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.dotnetkicks.com/kick/?title=FlashPlayer+10+Collada+Parser&amp;url=http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2Fflashplayer-10-collada-parser%2F" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/dotnetkicks.png" alt="Kick It on DotNetKicks.com" title="Kick It on DotNetKicks.com" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://dotnetshoutout.com/Submit?title=FlashPlayer+10+Collada+Parser&amp;url=http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2Fflashplayer-10-collada-parser%2F" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/dotnetshoutout.png" alt="Shout it" title="Shout it" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2Fflashplayer-10-collada-parser%2F&amp;title=FlashPlayer+10+Collada+Parser&amp;summary=&amp;source=" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/linkedin.png" alt="Share on LinkedIn" title="Share on LinkedIn" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.technorati.com/faves?add=http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2Fflashplayer-10-collada-parser%2F" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/technorati.png" alt="Bookmark this on Technorati" title="Bookmark this on Technorati" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://twitter.com/home?status=Reading+http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2Fflashplayer-10-collada-parser%2F" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/twitter.png" alt="Post on Twitter" title="Post on Twitter" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.google.com/buzz/post?url=http%3A%2F%2Fwww.neuroproductions.be%2Fexperiments%2Fflashplayer-10-collada-parser%2F" target="_blank"><img class="lightsocial_img" src="http://www.neuroproductions.be/wp-content/plugins/light-social/google_buzz.png" alt="Google Buzz (aka. Google Reader)" title="Google Buzz (aka. Google Reader)" /></a>&nbsp;&nbsp;</div>]]></content:encoded>
			<wfw:commentRss>http://www.neuroproductions.be/experiments/flashplayer-10-collada-parser/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>

