<?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>TODAY, CREATE. &#187; Noise Tube</title>
	<atom:link href="http://www.todaycreate.com/category/noise-tube/feed" rel="self" type="application/rss+xml" />
	<link>http://www.todaycreate.com</link>
	<description>Home of the daily creative output and exploration of ideas for Mike Creighton, artist and programmer.</description>
	<lastBuildDate>Sat, 29 Oct 2011 22:04:57 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Noise Tube, Meet TouchDesigner</title>
		<link>http://www.todaycreate.com/2009/12/24/noise-tube-meet-touchdesigner</link>
		<comments>http://www.todaycreate.com/2009/12/24/noise-tube-meet-touchdesigner#comments</comments>
		<pubDate>Thu, 24 Dec 2009 23:07:13 +0000</pubDate>
		<dc:creator>Mike Creighton</dc:creator>
				<category><![CDATA[3D]]></category>
		<category><![CDATA[Abstract]]></category>
		<category><![CDATA[Generative]]></category>
		<category><![CDATA[Noise Tube]]></category>
		<category><![CDATA[Perlin]]></category>
		<category><![CDATA[Realtime]]></category>
		<category><![CDATA[TouchDesigner]]></category>

		<guid isPermaLink="false">http://www.todaycreate.com/?p=351</guid>
		<description><![CDATA[As I prepare for my new job which starts on January 4th, I&#8217;m taking some time to learn Derivative&#8217;s TouchDesigner. It&#8217;s a realtime procedural 3D / compositing tool. Well, it&#8217;s actually so much more than that, but it&#8217;s very difficult to describe. Anyway, I&#8217;m trying to learn it. And I&#8217;ve found the best way to [...]]]></description>
			<content:encoded><![CDATA[<p><object width="560" height="315"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=8375095&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=AAC132&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=8375095&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=AAC132&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="560" height="315"></embed></object></p>
<p>As I prepare for <a href="http://www.obscuradigital.com">my new job</a> which starts on January 4th, I&#8217;m taking some time to learn Derivative&#8217;s <a href="http://www.derivative.ca">TouchDesigner</a>. It&#8217;s a realtime procedural 3D / compositing tool. Well, it&#8217;s actually so much more than that, but it&#8217;s very difficult to describe.</p>
<p>Anyway, I&#8217;m trying to learn it. And I&#8217;ve found the best way to learn stuff (for me) is to take something I&#8217;ve already made and try to recreate it in the new environment. So, that&#8217;s what I&#8217;ve started doing here. I&#8217;m not sure how much further I want to go with this, but it&#8217;s nice to know that I could pull this much together after about an hour&#8217;s worth of work.</p>
<p>This software is terribly powerful, and more and more documentation / improvements / tutorial videos are being added all the time. It&#8217;s making me very excited about 2010.</p>
<p><a href="http://www.flickr.com/photos/mikecreighton/4212096934/" title="View the piece on Flickr."><img class="hasLargeImage" src="http://www.todaycreate.com/wp-content/creations/2009/12/2009-12-24_noise_tube_touch_test_01.jpg" alt="" border="0" /></a><span class="imageLinkHolder">+ <a href="http://www.flickr.com/photos/mikecreighton/4212096934/" title="View the piece on Flickr.">View the piece on Flickr.</a></span></p>
<p><a href="http://www.flickr.com/photos/mikecreighton/4211334877/" title="View the piece on Flickr."><img class="hasLargeImage" src="http://www.todaycreate.com/wp-content/creations/2009/12/2009-12-24_noise_tube_touch_test_02.jpg" alt="" border="0" /></a><span class="imageLinkHolder">+ <a href="http://www.flickr.com/photos/mikecreighton/4211334877/" title="View the piece on Flickr.">View the piece on Flickr.</a></span></p>
<p><a href="http://www.flickr.com/photos/mikecreighton/4212096950/" title="View the piece on Flickr."><img class="hasLargeImage" src="http://www.todaycreate.com/wp-content/creations/2009/12/2009-12-24_noise_tube_touch_test_03.jpg" alt="" border="0" /></a><span class="imageLinkHolder">+ <a href="http://www.flickr.com/photos/mikecreighton/4212096950/" title="View the piece on Flickr.">View the piece on Flickr.</a></span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.todaycreate.com/2009/12/24/noise-tube-meet-touchdesigner/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Some Noise Tube Renders</title>
		<link>http://www.todaycreate.com/2009/09/15/some-noise-tube-renders</link>
		<comments>http://www.todaycreate.com/2009/09/15/some-noise-tube-renders#comments</comments>
		<pubDate>Wed, 16 Sep 2009 01:52:00 +0000</pubDate>
		<dc:creator>Mike Creighton</dc:creator>
				<category><![CDATA[3D]]></category>
		<category><![CDATA[Abstract]]></category>
		<category><![CDATA[Art]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[Color]]></category>
		<category><![CDATA[Generative]]></category>
		<category><![CDATA[Noise Tube]]></category>
		<category><![CDATA[openFrameworks]]></category>
		<category><![CDATA[Perlin]]></category>
		<category><![CDATA[Realtime]]></category>

		<guid isPermaLink="false">http://www.todaycreate.com/?p=276</guid>
		<description><![CDATA[+ View hi-res on Flickr. Some progress has occurred. C++ is becoming clearer. Here&#8217;s what progressed in the first couple images: I created a Tween class for animating values. It&#8217;s modeled after CASA Lib&#8217;s Tween class. I&#8217;ll probably be releasing it to the community soon. I hooked up my MIDI controllers to the piece, so [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.flickr.com/photos/mikecreighton/3913144906/in/set-72157622348110646/"><img class="hasLargeImage" src="http://www.todaycreate.com/wp-content/creations/2009/09/noisetube_normals_lighting_01.jpg" alt="Noise Tube Progress Render" border="0" /></a><span class="imageLinkHolder">+ <a href="http://www.flickr.com/photos/mikecreighton/3913144906/in/set-72157622348110646/">View hi-res on Flickr.</a></span></p>
<p>Some progress has occurred. C++ is becoming clearer. Here&#8217;s what progressed  in the first couple images:</p>
<ol>
<li>I created a Tween class for animating values. It&#8217;s modeled after <a href="http://casalib.org" title="CASA Lib: An Open Source Code Library for ActionScript 2.0 &amp; 3.0">CASA Lib&#8217;s</a> Tween class. I&#8217;ll probably be releasing it to the community soon.</li>
<li>I hooked up my MIDI controllers to the piece, so I could have more control over tweaking values. I&#8217;m using a great add-on for openFrameworks called <a href="http://www.openframeworks.cc/forum/viewtopic.php?f=10&amp;t=2435" title="openframeworks.cc Forum: ofxMIDI Updates">ofxMIDI</a>.</li>
<li>Along the way, I learned how to implement openFrameworks event dispatchers and listeners. (Hint: search for &#8220;poco events&#8221; in the <a href="http://wiki.openframeworks.cc/" title="openFrameworks wiki">openFrameworks Wiki</a> if you want to learn how.)</li>
</ol>
<p>In doing all this, I was able to trigger light movements with a MIDI controller. I used my M-Audio Trigger Finger&#8217;s velocity-sensitive pads to animate two lights. Hard tap = fast movement.</p>
<p><a href="http://www.flickr.com/photos/mikecreighton/3912360723/in/set-72157622348110646/"><img class="hasLargeImage" src="http://www.todaycreate.com/wp-content/creations/2009/09/noisetube_normals_lighting_02.jpg" alt="Noise Tube Progress Render" border="0" /></a><span class="imageLinkHolder">+ <a href="http://www.flickr.com/photos/mikecreighton/3912360723/in/set-72157622348110646/">View hi-res on Flickr.</a></span></p>
<p>Here&#8217;s a video of the animated lights in action. Please excuse the stutters; while this does run at 30fps in realtime, SnapzPro isn&#8217;t able to keep up because of the CPU usage of the piece.</p>
<p><object width="560" height="315"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=6547134&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=AAC132&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=6547134&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=AAC132&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="560" height="315"></embed></object></p>
<p>Now after all this, I came to realize that I really wanted to be able to loop the Perlin noise that was creating the height map of the tube. Because, though you can&#8217;t see it, there&#8217;s an awful seam on the side facing away from the camera. By looping the noise, I could reliably look at it from all angles.</p>
<p>After some research, I came across a great library called <a href="http://libnoise.sourceforge.net/" title="libnoise: a portable, open-source, coherent noise-generating library for C++">libnoise</a>. Took me a little while to get it to compile, only to realize that while it did the job, it dropped my framerate from a respectable 45fps to 9fps. Definitely not suitable for realtime noise generation.</p>
<p>So I went back to the fastest Perlin noise generator I could find (<a href="http://www.flipcode.com/archives/Perlin_Noise_Class.shtml" title="flipcode - Perlin Noise Class">this class from John Ratcliff</a>), and I decided to live with the seam in the back.</p>
<p>Amidst all this, I also stumbled upon this awesome blog post about <a href="http://blog.wolfram.com/2009/09/11/twisted-architecture/" title="Wolfram Blog : Twisted Architecture">Twisted Architecture</a>. I thought it would be cool to implement something like that in my piece. So I did. But then I forgot about it.</p>
<p>It was only when I started twisting the &#8220;twist-associated&#8221; knob on my MIDI controller that the damn seam actually came to life. So, you can see how it starts to play out in the rest of the images here:</p>
<p><a href="http://www.flickr.com/photos/mikecreighton/3922512004/in/set-72157622348110646/"><img class="hasLargeImage" src="http://www.todaycreate.com/wp-content/creations/2009/09/noisetube_normals_lighting_03.jpg" alt="Noise Tube Progress Render" border="0" /></a><span class="imageLinkHolder">+ <a href="http://www.flickr.com/photos/mikecreighton/3922512004/in/set-72157622348110646/">View hi-res on Flickr.</a></span></p>
<p><a href="http://www.flickr.com/photos/mikecreighton/3921730079/in/set-72157622348110646/"><img class="hasLargeImage" src="http://www.todaycreate.com/wp-content/creations/2009/09/noisetube_normals_lighting_04.jpg" alt="Noise Tube Progress Render" border="0" /></a><span class="imageLinkHolder">+ <a href="http://www.flickr.com/photos/mikecreighton/3921730079/in/set-72157622348110646/">View hi-res on Flickr.</a></span></p>
<p><a href="http://www.flickr.com/photos/mikecreighton/3924822790/in/set-72157622348110646/"><img class="hasLargeImage" src="http://www.todaycreate.com/wp-content/creations/2009/09/noisetube_normals_lighting_05.jpg" alt="Noise Tube Progress Render" border="0" /></a><span class="imageLinkHolder">+ <a href="http://www.flickr.com/photos/mikecreighton/3924822790/in/set-72157622348110646/">View hi-res on Flickr.</a></span></p>
<p><a href="http://www.flickr.com/photos/mikecreighton/3924822920/in/set-72157622348110646/"><img class="hasLargeImage" src="http://www.todaycreate.com/wp-content/creations/2009/09/noisetube_normals_lighting_06.jpg" alt="Noise Tube Progress Render" border="0" /></a><span class="imageLinkHolder">+ <a href="http://www.flickr.com/photos/mikecreighton/3924822920/in/set-72157622348110646/">View hi-res on Flickr.</a></span></p>
<p>Also, in those last couple renders, I added a convex mesh to the background so that I could start incorporating background colors properly. Moreover, so I could get some light-generated gradients happening. More to come&#8230; more to come.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.todaycreate.com/2009/09/15/some-noise-tube-renders/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Noise Tube: Vertex Normals</title>
		<link>http://www.todaycreate.com/2009/09/05/noise-tube-vertex-normals</link>
		<comments>http://www.todaycreate.com/2009/09/05/noise-tube-vertex-normals#comments</comments>
		<pubDate>Sun, 06 Sep 2009 02:39:07 +0000</pubDate>
		<dc:creator>Mike Creighton</dc:creator>
				<category><![CDATA[3D]]></category>
		<category><![CDATA[Abstract]]></category>
		<category><![CDATA[Art]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[Generative]]></category>
		<category><![CDATA[Noise Tube]]></category>
		<category><![CDATA[openFrameworks]]></category>
		<category><![CDATA[Perlin]]></category>

		<guid isPermaLink="false">http://www.todaycreate.com/?p=270</guid>
		<description><![CDATA[+ View higher res image. + View higher res image. For those of you following me on Twitter today, you witnessed the pain I endured under the cruel, icy grip of OpenGL. That pain: learning how to compute vertex normals. But eight hours later, I managed to pull it off with the help of the [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.todaycreate.com/wp-content/creations/2009/09/noisetube_vertexnormals_01.jpg"><img class="hasLargeImage" src="http://www.todaycreate.com/wp-content/creations/2009/09/noisetube_vertexnormals_01_sm.jpg" alt="Noise Tube Vertex Normals Render" border="0" /></a><span class="imageLinkHolder">+ <a href="http://www.todaycreate.com/wp-content/creations/2009/09/noisetube_vertexnormals_01.jpg">View higher res image.</a></span></p>
<p><a href="http://www.todaycreate.com/wp-content/creations/2009/09/noisetube_vertexnormals_02.jpg"><img class="hasLargeImage" src="http://www.todaycreate.com/wp-content/creations/2009/09/noisetube_vertexnormals_02_sm.jpg" alt="Noise Tube Vertex Normals Render" border="0" /></a><span class="imageLinkHolder">+ <a href="http://www.todaycreate.com/wp-content/creations/2009/09/noisetube_vertexnormals_02.jpg">View higher res image.</a></span></p>
<p>For those of you following <a href="http://twitter.com/mikecreighton" title="View Mike Creighton on Twitter">me on Twitter</a> today, you witnessed the pain I endured under the cruel, icy grip of OpenGL.</p>
<p>That pain: learning how to compute vertex normals.</p>
<p>But eight hours later, I managed to pull it off with the help of the <a href="http://www.starstonesoftware.com/OpenGL/">OpenGL SuperBible</a>, <a href="http://www.gamedev.net/community/forums/topic.asp?topic_id=355340&#038;PageSize=25&#038;WhichPage=1">this thread</a>, and <a href="http://www.gamedev.net/reference/programming/features/normalheightfield/default.asp">this article</a>. Oh, and this amidst porting it to C++ (openFrameworks) for maximum control and speed.</p>
<p>Along the way, I learned how OpenGL lighting works. I was having such a hard time with it before because my form didn&#8217;t have its surface normals nor its vertex normals correctly calculated. So light wasn&#8217;t bouncing off it the way I expected. Now it&#8217;s all making good sense.</p>
<p>My next steps will be adding interactivity. I&#8217;m going to try to use my HP TouchSmart for touch input along with its webcam for vision input. Separately, I&#8217;ll try to make some sort of music visualizer out of this &#8212; or at least make it audio-responsive.</p>
<p>Check out a video from today:</p>
<p><object width="560" height="315"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=6450165&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=AAC132&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=6450165&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=AAC132&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="560" height="315"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://www.todaycreate.com/2009/09/05/noise-tube-vertex-normals/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Noise Tube: The First Renders</title>
		<link>http://www.todaycreate.com/2009/08/31/noise-tube-the-first-renders</link>
		<comments>http://www.todaycreate.com/2009/08/31/noise-tube-the-first-renders#comments</comments>
		<pubDate>Mon, 31 Aug 2009 23:02:04 +0000</pubDate>
		<dc:creator>Mike Creighton</dc:creator>
				<category><![CDATA[3D]]></category>
		<category><![CDATA[Abstract]]></category>
		<category><![CDATA[Art]]></category>
		<category><![CDATA[Generative]]></category>
		<category><![CDATA[Noise Tube]]></category>
		<category><![CDATA[Perlin]]></category>
		<category><![CDATA[Processing]]></category>

		<guid isPermaLink="false">http://www.todaycreate.com/?p=266</guid>
		<description><![CDATA[I&#8217;m continuing the Perlin noise saga. The last thing I did was port the Noise Column project over to Processing and openFrameworks. This time I wanted to add some actual volume &#8212; not just perceived volume &#8212; to the form. These are just some initial tests that you see above. I&#8217;ve got a ton to [...]]]></description>
			<content:encoded><![CDATA[<p><object width="560" height="315"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=6368409&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=AAC132&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=6368409&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=AAC132&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="560" height="315"></embed></object></p>
<p>I&#8217;m continuing the Perlin noise saga. The last thing I did was <a href="http://www.todaycreate.com/2009/07/25/porting-noise-column" title="Porting Noise Column">port the Noise Column project</a> over to <a href="http://www.processing.org" title="Processing 1.0">Processing</a> and <a href="http://openframeworks.cc" title="openFrameworks">openFrameworks</a>.</p>
<p>This time I wanted to add some actual volume &#8212; not just perceived volume &#8212; to the form. These are just some initial tests that you see above. I&#8217;ve got a ton to learn about lighting and optimization and matrix transformations. <a href="http://www.flight404.com" title="all manner of distractions">Robert</a> says I need to use &#8220;per-vertex normals&#8221;. I say &#8220;OKAY!&#8221; Hopefully I can start adding some of these things over the next couple weeks and really use this project as a general learning tool. </p>
<p>For now, I&#8217;m developing all this in Processing using the PGraphicsOpenGL renderer. I&#8217;m not using any actual OpenGL calls directly; I&#8217;m only using the Processing API. One little discovery I made yesterday: <a href="http://mrfeinberg.com/peasycam/">PeasyCam</a> turns out to be a really sweet little camera library for Processing. Adds mouse control over the camera with a single line of code.</p>
<p>The ultimate goal of this is to create two different pieces. One will be a rendered motion piece. It probably won&#8217;t have any audio and will function as an ambient looping video. It will be submitted to this call for entries: <a href="http://www.liveboxgallery.com/submissions.html" title="LiveBox GAllery Submisions">Flow Interrupted</a>.</p>
<p>The second piece would actually be interactive. I&#8217;m going to toy around with camera, audio, and touch as discreet inputs (all separately). This will give me a chance to play with the new HP TouchSmart PC I got. So you could consider the second execution to be more of an interactive installation piece. And that&#8217;s going to be submitted to this call for entries: <a href="http://www.fluid.localproject.org/indexENG.html" title="FLUID New Media Laboratory -- Espa&ntilde;ol">FLUID Interactive Digital Art</a>.</p>
<p>Check out some of the stills:</p>
<p><a href="http://www.todaycreate.com/wp-content/creations/2009/08/noisetube_firstrenders_01_large.png"><img class="hasLargeImage" src="http://www.todaycreate.com/wp-content/creations/2009/08/noisetube_firstrenders_01.jpg" alt="Noise Tube First Render" border="0" /></a><span class="imageLinkHolder">+ <a href="http://www.todaycreate.com/wp-content/creations/2009/08/noisetube_firstrenders_01_large.png">View larger Image.</a></span></p>
<p><a href="http://www.todaycreate.com/wp-content/creations/2009/08/noisetube_firstrenders_02_large.png"><img class="hasLargeImage" src="http://www.todaycreate.com/wp-content/creations/2009/08/noisetube_firstrenders_02.jpg" alt="Noise Tube First Render" border="0" /></a><span class="imageLinkHolder">+ <a href="http://www.todaycreate.com/wp-content/creations/2009/08/noisetube_firstrenders_02_large.png">View larger Image.</a></span></p>
<p><a href="http://www.todaycreate.com/wp-content/creations/2009/08/noisetube_firstrenders_03_large.png"><img class="hasLargeImage" src="http://www.todaycreate.com/wp-content/creations/2009/08/noisetube_firstrenders_03.jpg" alt="Noise Tube First Render" border="0" /></a><span class="imageLinkHolder">+ <a href="http://www.todaycreate.com/wp-content/creations/2009/08/noisetube_firstrenders_03_large.png">View larger Image.</a></span></p>
<p><a href="http://www.todaycreate.com/wp-content/creations/2009/08/noisetube_firstrenders_04_large.png"><img class="hasLargeImage" src="http://www.todaycreate.com/wp-content/creations/2009/08/noisetube_firstrenders_04.jpg" alt="Noise Tube First Render" border="0" /></a><span class="imageLinkHolder">+ <a href="http://www.todaycreate.com/wp-content/creations/2009/08/noisetube_firstrenders_04_large.png">View larger Image.</a></span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.todaycreate.com/2009/08/31/noise-tube-the-first-renders/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

