<?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>Robert Hodgin</title>
	<atom:link href="http://roberthodgin.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://roberthodgin.com</link>
	<description>Portfolio</description>
	<lastBuildDate>Wed, 13 Mar 2013 17:05:42 +0000</lastBuildDate>
	
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Look Up: 100 Year Starship Screensaver</title>
		<link>http://roberthodgin.com/look-up-100-year-starship-screensaver/</link>
		<comments>http://roberthodgin.com/look-up-100-year-starship-screensaver/#comments</comments>
		<pubDate>Wed, 13 Mar 2013 04:18:36 +0000</pubDate>
		<dc:creator>Robert Hodgin</dc:creator>
				<category><![CDATA[Cinder]]></category>

		<guid isPermaLink="false">http://roberthodgin.com/?p=1100</guid>
		<description><![CDATA[Travel the stars in this screensaver for Mac and PC.]]></description>
			<content:encoded><![CDATA[<h2><a href="http://farm9.staticflickr.com/8515/8549108183_6ce449dbf1_b.jpg"><img class="alignnone" src="http://farm9.staticflickr.com/8515/8549108183_6ce449dbf1_b.jpg" alt="" width="800" /></a></h2>
<p><em>You can <a href="http://100yss.org/donate">download the screensaver</a> from the 100 Year Starship site. A donation is required to get to the download page but you can suggest whatever donation you feel comfortable with.</em></p>
<p><iframe src="http://player.vimeo.com/video/61680767?color=55c4e4" width="800" height="450" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe></p>
<p><strong>Look Up</strong> is a project I worked on for <a href="http://barbariangroup.com/">the Barbarian Group</a>. They are sponsors of the <a href="http://100yss.org/">100 Year Starship</a> (100YSS) initiative headed up by Astronaut <a href="http://en.wikipedia.org/wiki/Mae_Jemison">Mae Jemison</a>. The purpose of the 100YSS is &#8220;<em>&#8230; to make the capability of human travel beyond our solar system a reality within the next 100 years</em>.&#8221; For now, this means discussing the many enormous hurdles that stand in our way, but also finding ways to get people interested in the concept and inspired by the possibilities.</p>
<p>I was asked if I wanted to make a screensaver that explored the nearest stars to our sun and I immediately said yes. I am addicted to all things space. I had worked on a series of projects for the 2012 <a href="http://eyeofestival.com/">Eyeo Festival</a> and one of those was a very basic <a href="https://vimeo.com/43802796">star browser</a>. That project was quick and dirty and though I could salvage bits and pieces from it (such as the 100,000 star text file and the code to parse the data), all of the rest of it would need to be designed from scratch. I was further inspired by the great work of <a href="http://www.html5rocks.com/en/tutorials/casestudies/100000stars/">Michael Chang</a> and the rest of the team that worked on the <a href="http://www.chromeexperiments.com/detail/100000-stars/">100,000 Stars</a> Chrome experiment.</p>
<p><strong>The Tools</strong><br />
I used the <a href="http://libcinder.org">Cinder C++ framework</a> for this project. Cinder makes it incredibly easy to compile a .saver for Mac or a .scr for the PC. I also want to thank <a href="http://drawnline.net">Andrew Bell</a> for his assistance in tracking down a bug or two, and for handling the port to VC10 for the PC build. The data used in this screensaver was pulled mostly from Wikipedia with some extra details coming from <a href="http://www.solstation.com/">Sol Station</a>. I also enjoyed reading the post-launch writeup Michael wrote for <a href="http://www.html5rocks.com/en/tutorials/casestudies/100000stars/">HTML5Rocks about the 100,000 Stars project</a>. Helped me focus.</p>
<p><strong>Reality vs. Fantasy</strong><br />
One of the goals with this project was to make space more inviting. The reality of space is lonely and dangerous and we wanted this screensaver to minimize the <em>endless black void</em><em> </em><em>over</em><em>tones</em><em> </em>and try to find a way to show space fantastically without completely deviating from reality.</p>
<p><strong><em>Challenge: Scale</em></strong><br />
The scale of the radius of a star compared to the vast distances between the stars is hard to wrap one&#8217;s head around and it certainly doesn&#8217;t make for easy code. A lot of trickery (and even a bold faced lie or two) was required to make the experience seem reasonable but not too unbelievable. The cheat was to just make the stars bigger. If we left the stars at a radius that was in proportion to the distances between them, the camera would have to get really really really close to a star before it became large enough to view well. This can be quite problematic. So we just made them bigger. A better solution would be to make a camera system that transitions between zones of scale. A challenge for another day.</p>
<p><a href="http://farm9.staticflickr.com/8528/8549109427_52099c3fd1_b.jpg"><img class="alignnone" src="http://farm9.staticflickr.com/8528/8549109427_52099c3fd1_b.jpg" alt="" width="800" /></a></p>
<p><em><strong>Challenge: the surroundings</strong></em><br />
Another issue was the backdrop. I tried a couple different images of the Milky Way Galaxy but I just couldn&#8217;t find a look that I was satisfied with. I poked around on Google images for artistic representations of space and the ones that were the most visually rich were the ones that had pronounced nebula clouds in the background. I was not in the position to do real-time generative nebula effects (and honestly have never tried such a thing) so I decided to just use a photo of the <a href="http://en.wikipedia.org/wiki/Carina_Nebula">Carina Nebula</a> as the backdrop.</p>
<p><a href="http://farm9.staticflickr.com/8521/8549814905_54e1847f92_c.jpg"><img class="alignnone" src="http://farm9.staticflickr.com/8521/8549814905_54e1847f92_c.jpg" alt="" width="800" height="500" /></a></p>
<p><strong><em>Challenge: Binary Stars</em></strong><br />
Next there is the issue of multi-star systems. Upon beginning the data research portion of this project, I was surprised to read that most bright visible stars are often actually a small group of stars bound to each other&#8217;s gravitation influence. Despite being composed of multiple stars, these systems would be hard to visualize because the distance between these bound stars is still pretty vast. As an example, the nearest star to us is Proxima Centauri which is considered to be part of the Alpha Centauri system which is itself a binary star pair. The distance between Alpha Centauri A and B is comparable to the distance between our sun and Neptune. However, the distance of Proxima Centauri to Alpha Centauri is around 15,000 times the distance from the Earth to the Sun. So if I were to try and show all three stars in the system and maintain a realistic relationship of their radii and their positions in space, they would need to be tiny points, the very thing I wanted to avoid having as the centerpiece of this screensaver. So I cheated. I pushed the multi-star systems closer so I could render them larger.</p>
<p><a href="http://farm9.staticflickr.com/8380/8549107867_9c0646fc0f_c.jpg"><img class="alignnone" src="http://farm9.staticflickr.com/8380/8549107867_9c0646fc0f_c.jpg" alt="" width="800" height="500" /></a></p>
<p><strong><em>Challenge: Moving forward</em></strong><br />
Finally, there was the issue of the journey itself. We would need to travel many millions of times faster than the speed of light to travel from star to star in 30 seconds or less. I am aware of all the cliche star-stretching-warp effects of Star Trek, Star Wars and the rest. Since our journeys would be of a much smaller distance, you wouldn&#8217;t necessarily pass any other stars on the way. For example, on the 40 trillion kilometer journey from our sun to the nearest star, Proxima Centauri, you would pass by no other (known) stars. This means the star-warp effect couldn&#8217;t effectively be used. So I ended up doing something more like a dust-warp effect which is like the better known starry version but less bright. Simply put, they are speed lines. Without it, you just don&#8217;t feel like you are moving anywhere at all. I also added some subtle nebula graphics along the way so you feel like you are passing through the occasional sparse dust cloud. They help to imply forward movement.</p>
<p><a href="http://farm9.staticflickr.com/8104/8550852692_0cfb1a0ed5_b.jpg"><img class="alignnone" src="http://farm9.staticflickr.com/8104/8550852692_c685b2d754_b.jpg" alt="" width="800" /></a></p>
<p><strong>Full of Stars</strong><br />
The position of the stars was the starting point. Using the <a href="http://astronexus.com/node/34">HYG database from Astronexus</a>, I was quickly able to plot the stars as 3D points in space. The database provides the star positions as <a href="http://en.wikipedia.org/wiki/Right_ascension">right ascension</a>, <a href="http://en.wikipedia.org/wiki/Declination">declination</a> and <a href="http://en.wikipedia.org/wiki/Light_year">distance</a> so I did a bit of preprocessing of the data to convert it into simple xyz coordinates. Since this project was meant to showcase the stars nearest to ours, I thought I would cull the list down by excluding any stars that were many hundreds of light years away. This brought the number of stars down to just over 75,000.</p>
<p>I then divided the list into three different categories: <strong>faint</strong>, <strong>bright</strong>, and <strong>main</strong>.</p>
<p>The <strong>faint</strong> stars are the ones that are dim and too far out to be larger part of this experience. They would be represented as low alpha GL_POINTS and they are there to just help the background seem less empty. They are rendered with their spectrum information but otherwise, they have no dimension. There are 71,678 of these faint stars in this project.</p>
<p>The <strong>bright</strong> stars are the stars that are closer and brighter and therefore deserve extra attention when it comes time to render them. They do have dimension and are rendered as a pair of overlapping quads with gradient glow that fades in as they get closer to the camera position. There are about 3600 of these bright stars in this project.</p>
<p>The <strong>main</strong> stars are the ones you visit. There are 34 of these systems (many of the <em>stars</em> we know are actually double or triple stars so despite there being 34 systems, there are a total of 48 individual stars). These are the ones that require special treatment since they will be viewed from much shorter distances than the rest of the stars. Some of these main stars are large enough to span over half the height of the display. They should be varied enough to not feel repetitive, they should have some subtle texture on their surface, they should feature an intense glow, and most importantly, they should feel energetic. This last feature was certainly the hardest to pull off and I ended up trying out a few different methods before settling on the final effect.</p>
<p><a href="http://farm9.staticflickr.com/8524/8549147273_bf41964c64_c.jpg"><img class="alignnone" src="http://farm9.staticflickr.com/8524/8549147273_bf41964c64_c.jpg" alt="" width="800" height="600" /></a></p>
<p><span style="font-weight: bold;">The Journey</span></p>
<p>One of the things we wanted to add to this screensaver experience is dynamically calculated data about the journey itself. Since this is meant to put as much focus on the journey as the destination, we came up with the idea to compare the trip to things the viewer could more easily wrap their heads around. We calculate things like how long the trip would take by car, 747, Space Shuttle Atlantis and Voyager I. We also mention how many generations would be born during a trip of that duration and even the volume of air each person would require to take the trip if they travelled at the speed of Voyager I.</p>
<p><a href="http://farm9.staticflickr.com/8512/8550208842_85cc00fd98_b.jpg"><img class="alignnone" src="http://farm9.staticflickr.com/8512/8550208842_85cc00fd98_b.jpg" alt="" width="800" /></a></p>
<p><strong>The Corona</strong><br />
Coming up with an interesting corona effect was an unspoken goal for this project. My first attempt was not unlike what I outlined at Eyeo Festival 2012 when I showed a breakdown of <a href="https://vimeo.com/43802794">how to make a star</a>. However I quickly became annoyed at how unrealistic the particle emitters looked so I scrapped those right away. For a while, I settled on just using a few different corona images overlapping and rotating in different directions but this too felt too rigid and there was no sense of any energy emanating from the surface of the star.</p>
<p>I then began to tackle the problem with geometry. I built a front-facing disk whose inner diameter was equal to the star&#8217;s diameter and I animated a texture away from the star center. This solution was decent. I considered adding more geometry in the form of coronal flares but never followed through with it. So I left the coronal disks in place and moved on to a different problem.</p>
<p>The night before I was to be completed, I stumbled upon a GLSL project that was posted to <a href="http://www.shadertoy.com">ShaderToy</a> by <a href="https://www.shadertoy.com/user/Trisomie21">Trisomie21</a>. It was a <a href="https://www.shadertoy.com/view/lsf3RH">simple fireball effect</a> written entirely in GLSL (WebGL enabled browser required to view). It seemed like something I could definitely use so I started poking at the code and eventually realized that I could add an additional noise variable to adjust the resolution value passed back into the noise function which would create some nice whirling loops which looked not unlike some videos I have seen of the corona of our sun. The following short video shows the corona effect, and eventually the other bits are turned back on to eventually show the final effect.</p>
<p><iframe src="http://player.vimeo.com/video/61586255?color=55c4e4" width="800" height="450" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe></p>
<p>As a challenge to myself, I started playing around in ShaderToy to see if I could also create the solar surface entirely in the shader without having to introduce a 3D model of a sphere. This is as far as I have gotten with it. The code was getting really messy so I went ahead and saved it but I am happy with the progress. <a href="https://www.shadertoy.com/view/4dXGR4">Main Sequence Star shader (WebGL enabled browser required)</a></p>
<p><a href="http://farm9.staticflickr.com/8243/8549109839_8368510b18_b.jpg"><img class="alignnone" src="http://farm9.staticflickr.com/8243/8549109839_8368510b18_b.jpg" alt="" width="800" /></a></p>
<p>So there you have it. You can <a href="http://100yss.org/donate">download the screensaver</a> from the 100 Year Starship site. A donation is required to get to the download page but you can suggest whatever donation you feel comfortable with.</p>
]]></content:encoded>
			<wfw:commentRss>http://roberthodgin.com/look-up-100-year-starship-screensaver/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>LEAP Motion Controller Demo Apps</title>
		<link>http://roberthodgin.com/leap-motion-controller/</link>
		<comments>http://roberthodgin.com/leap-motion-controller/#comments</comments>
		<pubDate>Mon, 25 Feb 2013 04:38:32 +0000</pubDate>
		<dc:creator>Robert Hodgin</dc:creator>
				<category><![CDATA[Cinder]]></category>

		<guid isPermaLink="false">http://roberthodgin.com/?p=1080</guid>
		<description><![CDATA[Manipulating the virtual with the LEAP Motion Controller.]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.flickr.com/photos/flight404/8505198067/"><img class="alignnone" src="http://farm9.staticflickr.com/8522/8505198067_5da53b256b_b.jpg" alt="" width="800" /></a></p>
<p>I few weeks ago, I was fortunate enough to get ahold of a developer version of the soon-to-be-released <a title="LEAP Motion" href="https://www.leapmotion.com/" target="_blank">LEAP Motion Controller</a>. If you haven&#8217;t read up about it yet, you could probably just think of it as a Kinect-like device that sits on your desktop and points upwards. It has very small footprint as you can see from the photos and runs at a fast clip. It is able to give you fingertip and hand position data at up to 120fps, though for my needs 60fps was fine. The lag is minimal and the makers herald it as having sub-millimeter accuracy.</p>
<p>Since this device is still being developed and isn&#8217;t ready for the masses just yet, I will hold off on any formal review of its capabilities. The developers are very good about releasing regular updates and each one of these updates usually ends up addressing a concern or request from the testers.</p>
<p>I have started making a handful of different demo apps, but I am only featuring two here for now. The first is LEAP Flocking.</p>
<p><a href="http://www.flickr.com/photos/flight404/8506306530/"><img class="alignnone" src="http://farm9.staticflickr.com/8366/8506306530_bdf4abc8d1_b.jpg" alt="" width="800" /></a></p>
<p>Those familiar with my work know me to be fond of flocking simulations. The first thing I did when I got the device is to dust off some old fish bait-ball code. I optimized it further by pushing the work load to the GPU which allowed me to go from approximately 500 fish to around 5000 and still hold at a steady 60fps on my laptop. The LEAP version of this code assigns a point of interest to each of the finger-tips that the LEAP device detects. If your movements are slow, the fish will be drawn to these glowing tips. Move your fingers too quickly, and the fish become frightened.</p>
<p><a href="http://www.flickr.com/photos/flight404/8505198519/"><img class="alignnone" src="http://farm9.staticflickr.com/8526/8505198519_bd611e48f3_b.jpg" alt="" width="800" /></a></p>
<p>The second demo app is called LEAP Gravitation. My main goal for this app was to showcase the accuracy of the LEAP finger-tip and palm data. The LEAP provides a great deal of information about what it sees that will allow you to reconstruct a hand skeleton with relative ease. By knowing the finger-tip position and direction along with the palm position and orientation, you can easily reconstruct a representation of the hand.</p>
<p>Once I had the hand working, I decided to exploit one of the early <em>extras</em> which was added to the SDK. You can now query the position and radius of a sphere that would fit in your hand just touching the palm and finger-tips. When you put your hand into view of the LEAP and you curl your fingers a bit, you create a small sphere that has a low gravitational influence. If you straighten your fingers, the sphere gets larger and its gravitational influence increases. Floating throughout the space are hundreds of smaller balls. They are drawn to the sphere in your hand. The longer your hand stays in view of the LEAP, the more spherical particles will attach themselves to you.</p>
<p><a href="http://www.flickr.com/photos/flight404/8506307528/"><img class="alignnone" src="http://farm9.staticflickr.com/8385/8506307528_91eb3211c2_b.jpg" alt="" width="800" /></a></p>
<p>Here is a short reel which showcases these two demo apps. I hope to add a few more examples in the coming weeks. Special thanks to the friendly people at LEAP for getting me early access to one of the developer devices. Additional thanks to theStark for granting me permission to use a snippet of a track off his album, QUADRATIC (available for download at <a href="http://thestark.com/">theStark.com</a>).</p>
<p><iframe src="http://player.vimeo.com/video/60406787?color=55c4e4" width="800" height="450" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe></p>
]]></content:encoded>
			<wfw:commentRss>http://roberthodgin.com/leap-motion-controller/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Eyeo 2012</title>
		<link>http://roberthodgin.com/eyeo-2012/</link>
		<comments>http://roberthodgin.com/eyeo-2012/#comments</comments>
		<pubDate>Mon, 11 Jun 2012 07:41:52 +0000</pubDate>
		<dc:creator>Robert Hodgin</dc:creator>
		
		<guid isPermaLink="false">http://roberthodgin.com/?p=1049</guid>
		<description><![CDATA[12 new projects created for Eyeo Festival 2012. Balloons, suicidal ants, and exoplanets.]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.flickr.com/photos/flight404/sets/72157630037728681/with/7174950437/"><img class="alignnone" title="Surprise" src="http://farm8.staticflickr.com/7085/7175623967_02c3c0c11e_c.jpg" alt="" width="800" height="450" /></a></p>
<p>UPDATE: The video of the presentation has been uploaded courtesy of Eyeo.</p>
<p><iframe src="http://player.vimeo.com/video/45526286?color=55c4e4" width="800" height="450" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe></p>
<p><strong>Technical notes</strong><br />
• All of these projects were made with the C++ framework <a href="http://libcinder.org">Cinder</a> which I work on with <a href="http://www.drawnline.net">Andrew Bell</a>, <a href="http://www.sayinghai.com/wp/">Hai Nguyen</a> and <a href="http://www.bantherewind.com/">Steven Schieberl</a>.<br />
• I have released the source code for all of these projects (except for Collider which needs a solid overhaul). <a href="https://github.com/flight404/Eyeo2012">Github</a>.<br />
• With a couple exceptions, these projects run at 60fps on my Macbook Pro.<br />
• I used Screenium to capture videos of these demos running in realtime (except for Forces and Collider, which both are realtime projects but need optimization). Screenium is pretty great but there are still some dropped frames. I went with Screenium instead of rendering out a videos because most of these projects also have an audio component.<br />
• I used FMOD for the audio. This was my first attempt at doing audio playback of sound effects I either created, or downloaded from <a href="http://www.freesound.org/">Freesound.org</a>. Special thanks to freesound users HerbertBoland, pushToBreak, totya, halion, and smokeyvw.</p>
<p><strong>Introduction</strong><br />
On June 5th, 2012, I spoke at <a href="http://eyeofestival.com/">Eyeo Festival 2012</a> in Minneapolis. For the talk, I created 12 new projects. The theme present in all of the projects was the <a href="http://en.wikipedia.org/wiki/Cornell_Box">Cornell Box</a>. I wanted to try something different from my usual way of doing things. Usually I focus on the content and neglect the environment so all of my work usually floats in an infinite black or white void. This time, I would create an environment in which to stage my experiments and go from there. This environment, or setting, should be simple. Something I know I could do well as opposed to something more complex like a full terrain engine which I might be able to pull off but it would be sloppy at best.</p>
<p>I created a room. A simple grey box with a full ceiling light panel. In this room, I can control the lighting, gravity, and playback speed of time (allowing me to speed up the simulations or even make time freeze). The camera in the room can be moved around to offer different views of the content which would come later. My goal was to make the room as fully featured as I required without it getting to overloaded with excess code. From there, I would begin building out some content all based on the themes of particle physics, cosmology and collective behavior.</p>
<p><a href="http://www.flickr.com/photos/flight404/sets/72157630037728681/with/7174950437/"><img class="alignnone" title="The Room" src="http://farm8.staticflickr.com/7101/7174950437_0b48d2f00d_c.jpg" alt="" width="800" height="450" /></a></p>
<p><strong>Big Bang</strong><br />
The first project in the series is an artistic interpretation of the Big Bang. I wasn&#8217;t sure how best to approach this project and there were a few false starts. I eventually decided to stop taking myself so seriously and to try something more abstracted from what my mind wanted to picture. I ended up going with the ultimate surprise party. You turn on the lights to the room and the center explodes with party balloons, confetti and streamers, to the audio of people yelling &#8220;YAY&#8221; and applauding the ultimate beginning of everything.</p>
<p>The question I was asked most often after my talk is how I got my balloons so shiny. One of the benefits of putting the content in a box is I can easily make a cube map that looks like the room and apply it to the objects in the room. This way, the balloons have a realistic environmental reflection that looks like ray tracing (though the reflection of other balloons is noticeably absent).</p>
<p><iframe src="http://player.vimeo.com/video/43802123" width="800" height="450" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe></p>
<p><strong>Matter</strong><br />
This was actually the first project I started working on in this series. I had recently been reading about how physicists are still uncertain why there was an imbalance of matter and antimatter when the universe was formed. Scientists believe that for every 1,000,000,000 particles of antimatter, there existed 1,000,000,001 particles of matter. And this extra 1 part per billion of matter is what makes up everything in the universe: every star, every planet, every life-form and every mote of dust (to borrow a favorite phrase from Sagan). Some believe the dark matter or dark energy might be the signs of the presence of antimatter but I think this is considered to be most likely incorrect. With this project, you put a quantity of matter and antimatter in the same room and see what happens. The results is somewhere between cute and violent.</p>
<p><iframe src="http://player.vimeo.com/video/43802124" width="800" height="450" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe></p>
<p><strong>Annihilation</strong><br />
This is a companion piece to Matter. In this version, the reaction is shown in macro-scale with one of each type of particle. Once you turn out the lights, the antimatter begins to reach out towards the matter. Whenever the antimatter &#8216;tentacles&#8217; touch the dense spherical surface of the matter particle, there is a spark and tiny compression wave. If the core of the antimatter touches the matter, they annihilate each other and the simulation resets. I am drawn to visualizing these incredibly small particles because they cant really be described in terms of what they might <i>look</i> like. They are smaller than the wavelengths of light required to view them so any representation would be subjective. I prefer to think of my antimatter as being overly needy.</p>
<p><iframe src="http://player.vimeo.com/video/43802125" width="800" height="450" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe></p>
<p><strong>Bubble Chamber</strong><br />
My first exposure to the aesthetic possibilites of physics was when I saw my first images from experiments conducted in <a href="http://en.wikipedia.org/wiki/Bubble_chamber">bubble chambers</a>. I loved those <a href="https://www.google.com/search?q=bubble+chamber+photos&#038;hl=en&#038;safe=off&#038;prmd=imvnsfd&#038;tbm=isch&#038;tbo=u&#038;source=univ&#038;sa=X&#038;ei=dpzVT8-BJaPg2gXVqKSNDw&#038;ved=0CEoQsAQ&#038;biw=1365&#038;bih=1319">beautifully etched spirals</a>. This project brings that experience into the Room. As particles shower through the space, they have a chance of experiencing a collision with another particle or (imaginary) particles of dust. Because I am impatient, I added the ability to put a bunch of moths into the space in order to facilitate collision events. When a particle hits a moth, it shatters into component particles which go spiraling off until they meet a wall or wink out of existence.</p>
<p><iframe src="http://player.vimeo.com/video/43802126" width="800" height="450" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe></p>
<p><strong>Forces</strong><br />
This is a variation of a project I made a couple years ago called <a href="http://roberthodgin.com/additionsubtraction/">Addition/Subtraction</a>. It is an attempt to show how the presence of forces can warp the space around it. This warping is made visible by the trails of particles as they move through the space.</p>
<p><iframe src="http://player.vimeo.com/video/43802465" width="800" height="450" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe></p>
<p><strong>Ant Mill</strong><br />
I am highly disturbed by the phenomenon of the <a href="http://blogs.howstuffworks.com/2010/09/14/how-death-spirals-work-in-ants/">ant death spiral</a>, or ant mill. I have not witnessed one so I tried to make it happen through simulation. I created a system where ants move around in search for food while leaving behind pheromone trails to help them find their way home. The hope was that eventually a group of ants would get cut off from the main trail and form this death spiral. Due to the relatively small size of the room, and a lack of simulated flash floods or other disasters, no such death spirals appeared. However, it was a great exercise in trying to simulate the behavior of ants which I had not attempted before. Eventually, I got so annoyed with the behavior of these simulated ants, I decided to surprise them with a piece of Anti-Food. And we already know what happens when Food and Anti-food collide&#8230;</p>
<p><iframe src="http://player.vimeo.com/video/43802466" width="800" height="450" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe></p>
<p><strong>Shockwaves</strong><br />
I recently decided to tackle how to introduce shockwaves into my work. I was used to thinking of an explosion as an incredibly short event. When the explosion happens, you spawn a bunch of smoke or fire or spark particles and that is it. With a shockwave, the explosion needs to stick around for a while. So I created a shockwave class which has a position, radius and intensity. As the radius increases the intensity decreases. As the shockwave expands, all objects check their distance to the shockwave center. If that distance is close to the radius of the shockwave, you push the object away from the shockwave center and the strength of that push is related to the intensity. Once the intensity becomes negligible, you remove the shockwave.</p>
<p><iframe src="http://player.vimeo.com/video/43802127" width="800" height="450" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe></p>
<p><strong>Flocking</strong><br />
I have been working with <a href="http://www.flight404.com/blog/?p=459">flocking simulations</a> for a while. This version is the next iteration in my tutorial on how to do particle flocking in Cinder. This version pushes the flocking logic to the GPU which allows you to get away with 4x as many particles in realtime. I also added some glowing bait spheres which attract the flocking particles forcing them into natural looking vortices. They also have to avoid the predators who are forever hunting.</p>
<p><iframe src="http://player.vimeo.com/video/43802463" width="800" height="450" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe></p>
<p><strong>Repulsion</strong><br />
This piece is a bit of a mystery for me. My experience with GPU-based physics calculations is still very much in its infancy. All I wanted from this project was do basic sphere-sphere collision and response but have all the math done on the graphics card. I thought I knew what I was doing but when I finally ran the project, I realized quickly that I had a bug. The particles would clump together then they would inexplicably form these tendrils that reached out into space and whirled and stretched and though I tried to figure out why it behaved this way, I eventually abandoned trying to find the bug because the behavior was so novel. It almost felt like I had accidentally created a life-form.</p>
<p><iframe src="http://player.vimeo.com/video/43802795" width="800" height="450" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe></p>
<p><strong>Terrain</strong><br />
I created a <a href="https://vimeo.com/14153020">reaction diffusion</a> piece a couple years ago that used wind as a parameter. The result was something that looked like dune migration. I based this project on that original reaction diffusion calculation and turned it into a 3D terrain. The sphere in the scene helps to facilitate the creation of these dunes and its position also dictates which way the wind blows. The results are quite organic and look very much like dune patterns you would see in large deserts.</p>
<p><iframe src="http://player.vimeo.com/video/43802797" width="800" height="450" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe></p>
<p><strong>Star</strong><br />
I was recently asked how I made the stars in the <a href="http://planetary.bloom.io/">Planetary app</a> I created with <a href="http://bloom.io">Bloom</a>. This project is a tutorial that shows the steps for creating energetic balls of light. I break it down into 7 steps and use the result to show the scale of some stars in our galaxy.</p>
<p><iframe src="http://player.vimeo.com/video/43802794" width="800" height="450" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe></p>
<p><strong>Catalog</strong><br />
I downloaded a <a href="http://astronexus.com/node/34">database of 116,166 of the closest and brightest stars to our sun</a>. After plotting these points in space, I created a system where I could look at any star from any other star. The initial inspiration was based on wondering what the night sky would look like from Gliese 581g, the first exoplanet thought to be a candidate for supporting Earth-like life.</p>
<p><iframe src="http://player.vimeo.com/video/43802796" width="800" height="450" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe></p>
<p><strong>Collider</strong><br />
One of the reasons I decided to make all these smaller pieces is because I had been working on a larger project that really started to get away from me. I was so busy adding in visual extras, the whole code base became quite confusing to me which made it much harder to fix the foundational issues regarding the physics and collision detection. These smaller projects were a way for me to better understand the individual pieces that I wanted to work together in the final project. Below is the work in progress video I showed at the conclusion of my talk at Eyeo. I plan on rebuilding it from scratch while paying special attention to the foundation so I can hopefully avoid similar issues as the project continues to grow.</p>
<p><img class="alignnone" title="Catalog" src="http://farm8.staticflickr.com/7211/7175601163_762f764462_c.jpg" alt="" width="800" height="450" /></p>
<p><iframe src="http://player.vimeo.com/video/43803955" width="800" height="450" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe></p>
<p>Audio by Hilmar Örn Hilmarsson and Sigur Ros.<br />
Fer&#060;eth&#062; from the album Englar Alheimsins</p>
]]></content:encoded>
			<wfw:commentRss>http://roberthodgin.com/eyeo-2012/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Crystalline</title>
		<link>http://roberthodgin.com/crystalline/</link>
		<comments>http://roberthodgin.com/crystalline/#comments</comments>
		<pubDate>Fri, 09 Dec 2011 23:24:04 +0000</pubDate>
		<dc:creator>Robert Hodgin</dc:creator>
		
		<guid isPermaLink="false">http://roberthodgin.com/?p=1043</guid>
		<description><![CDATA[Propagation of crystalline structures in the presence of a strong magnetic field.]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone" title="Crystalline detail" src="http://farm8.staticflickr.com/7034/6484069457_0e1532b704_b.jpg" alt="" width="1024" height="768" /></p>
<p>This project revisits the code originally created for the <a href="http://roberthodgin.com/written-images-cme/">Written Images</a> project. There were some aspects of the code which always frustrated me that I didn&#8217;t know how to address at the time. In reworking this code, I finally figured out how to deal with large numbers of point lights in GLSL shaders as well as getting a better handle on dealing with the magnetic field itself. Previous versions used a rotation matrix to try and whip and spin the magnetic field into interesting forms. This was not an ideal solution. So I gutted the magnetism code and restructured it so that I wouldn&#8217;t need to rely on tricks. The results are quite promising.</p>
<p><img class="alignnone" title="Crystalline" src="http://farm8.staticflickr.com/7147/6483987241_c7a996b9a4_b.jpg" alt="" width="768" height="1024" /></p>
<p>The project begins with a simple central sphere. Onto the surface of this sphere are placed a large number of charged particles. The charge is random so some are negative and the rest are positive. After giving these forces a few seconds to spread out or coalesce, I freeze the simulation and have each charged particle emit a series of weaker particles whose direction of travel is wholly dictated by the interacting magnetic field surrounding the form.</p>
<p><img class="alignnone" title="Crystalline" src="http://farm8.staticflickr.com/7013/6483987761_e2458a9868_b.jpg" alt="" width="768" height="1024" /></p>
<p>While the weaker particles trace out strands within the magnetic field, crystalline structures begin to form around the surface-bound charged particles. The stronger the charge, the faster the crystal growth.</p>
<p><img class="alignnone" title="Crystalline" src="http://farm8.staticflickr.com/7009/6483987641_e63632eb69_b.jpg" alt="" width="768" height="1024" /></p>
<p>These four prints are each a unique 1 of 1. They were created for the <a href="http://www.gaffta.org/galvanize/">GAFFTA benefit gala</a>.</p>
<p><img class="alignnone" title="Crystalline" src="http://farm8.staticflickr.com/7028/6483987473_0f29358d95_b.jpg" alt="" width="768" height="1024" /></p>
<p>Crystalline was made with the <a href="http://libcinder.org">Cinder C++ framework</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://roberthodgin.com/crystalline/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Planetary iPad App</title>
		<link>http://roberthodgin.com/planetary-ipad-app/</link>
		<comments>http://roberthodgin.com/planetary-ipad-app/#comments</comments>
		<pubDate>Thu, 18 Aug 2011 01:15:14 +0000</pubDate>
		<dc:creator>Robert Hodgin</dc:creator>
		
		<guid isPermaLink="false">http://roberthodgin.com/?p=1030</guid>
		<description><![CDATA[Explore the universe of your iPad music.]]></description>
			<content:encoded><![CDATA[<p>In February 2011, I started working on an iPad app for/with <a href="http://bloom.io/">Bloom Studios</a>. The app was to be a new way to browse through music collections. We decided on the metaphor of a solar system to represent the work of an artist. Each artist would be a star, the sun for that system. Each planet would represent an album by that artist. Each planet would have a system of moons (or maybe just a single moon) that would represent the tracks on that album. Backing further out, the galaxy represents all the music in your collection.</p>
<p>I <a href="http://blog.bloom.io/2011/07/11/creating-new-worlds/">wrote about the process</a> for making the application over on the Bloom Studios blog.</p>
<p>The application, called Planetary, is <a href="http://itunes.apple.com/app/planetary/id432462305">available at the App store</a> for iPads. In the first few days after its release, it reached #1 in many countries. The feedback has been fantastic. An update is in the works. Below are some screengrabs showing off the new look for the application. Check back at the <a href="http://planetary.bloom.io/">Planetary website</a> to find out more details about when the update will be released.</p>
<div class="wp-caption alignnone" style="width: 810px"><img src="http://farm7.static.flickr.com/6182/6036528420_6db366aa17_b.jpg" alt="" width="800" /><p class="wp-caption-text">The new galaxy view shows you all the artists in your iPad. Here, I am filtering by first letter.</p></div>
<div class="wp-caption alignnone" style="width: 810px"><img src="http://farm7.static.flickr.com/6204/6035974447_16a18c3627_b.jpg" alt="" width="800" /><p class="wp-caption-text">The Flashbulb star and its 6 orbiting planets.</p></div>
<div class="wp-caption alignnone" style="width: 810px"><img src="http://farm7.static.flickr.com/6070/6035974279_38a3a43e53_b.jpg" alt="" width="800" /><p class="wp-caption-text">Closeup of the Flashbulb planet &quot;Red Extensions of Me&quot; which features a bright red album cover. The planet and its moons derive their surface patterns and colors from the album art.</p></div>
<div class="wp-caption alignnone" style="width: 810px"><img src="http://farm7.static.flickr.com/6200/6035974395_ae094a2fbc_b.jpg" alt="" width="800" /><p class="wp-caption-text">Image of the revised eclipse effect.</p></div>
<div class="wp-caption alignnone" style="width: 810px"><img src="http://farm7.static.flickr.com/6066/6036528348_3c948a4bbf_b.jpg" alt="" width="800" /><p class="wp-caption-text">Looking at the Aphex Twin planet for the album &quot;Selected Ambient Works 85-92&quot;. The track Heliosphan is the track I have played the most on that album. Accretion disk shadows have been added in the new version of the app.</p></div>
]]></content:encoded>
			<wfw:commentRss>http://roberthodgin.com/planetary-ipad-app/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Aphex Twin NYE show visuals</title>
		<link>http://roberthodgin.com/aphex-twin-nye-show-visuals/</link>
		<comments>http://roberthodgin.com/aphex-twin-nye-show-visuals/#comments</comments>
		<pubDate>Fri, 07 Jan 2011 01:52:16 +0000</pubDate>
		<dc:creator>Robert Hodgin</dc:creator>
		
		<guid isPermaLink="false">http://roberthodgin.com/?p=1017</guid>
		<description><![CDATA[Aphex Twin + WeirdCore + Cinder + Kinect + Palazzo dei Congressi]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone" src="http://farm6.static.flickr.com/5087/5331254259_1a1b93d07e_b.jpg" alt="" width="800" /></p>
<p>Shortly after posting &#8220;Getting Stuff Done&#8221; Kinect experiment to Vimeo, I got a couple comments from people saying it would make for a nice Aphex Twin video. The project makes use of the Kinect to obtain depth information as well as the infrared video feed. By saving previous frames to an array, I was able to create a time echo effect where your movements are repeated by additional copies of you.</p>
<p>Because the video feed is mapped onto geometry that is created with the depth map information, it was a step better than just doing standard video frame overlays. Now, you could walk backwards and hide in the shadow of an earlier copy of yourself. It made for some amusing evenings of flailing my arms about in my apartment with the lights off.</p>
<p><img alt="" src="http://farm6.static.flickr.com/5209/5256474093_ba0f2d20f3_b.jpg" class="alignnone" width="800" /></p>
<p><iframe src="http://player.vimeo.com/video/17749121?portrait=0&amp;color=01AAEA" width="800" height="600" frameborder="0"></iframe></p>
<p>Surprisingly, I received an email a short while later from WeirdCore who was in the process of working on live visuals for Aphex Twin&#8217;s new years eve show in Rome. He had shown some of the videos to Aphex and they were positively received.</p>
<p>I ended up creating a Cinder app that had 10 preset modes and various parameter controls that WeirdCore could interact with in realtime during the show. The modes ranged from simple 3D point clouds to variations of <a href="http://roberthodgin.com/body-dysmorphia/">Body Dysmorphia</a>.</p>
<p>WeirdCore did a fantastic job integrating the Kinect content with the other feeds consisting of visuals created with QC, MaxMSP/Jitter, VDMX, and v002. Here is some footage of the last bit of his set.</p>
<p><iframe src="http://player.vimeo.com/video/18516782?portrait=0&amp;color=01AAEA" width="800" height="450" frameborder="0"></iframe></p>
<p><img alt="" src="http://farm6.static.flickr.com/5169/5331865326_89328cb703_b.jpg" class="alignnone" width="800" /></p>
<p><img alt="" src="http://farm6.static.flickr.com/5168/5331874330_10dcc866f9_b.jpg" class="alignnone" width="800" /></p>
<p>Nice to see Aphex do the head circle maneuver near the end. I do the same thing! <img src='http://roberthodgin.com/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p>
<p><img alt="" src="http://farm6.static.flickr.com/5086/5259600733_bcee627e4c_b.jpg" class="alignnone" width="800" /></p>
<p>Many thanks to Richard James (Aphex Twin) and Nicky Smith (WeirdCore) for the opportunity.</p>
<p><a href="http://en.wikipedia.org/wiki/Aphex_Twin">Aphex Twin Wikipedia page</a><br />
<a href="http://weirdcore.tv/">WeirdCore.tv</a><br />
<a href="http://vimeo.com/weirdcore">WeirdCore on Vimeo</a></p>
]]></content:encoded>
			<wfw:commentRss>http://roberthodgin.com/aphex-twin-nye-show-visuals/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Body Dysmorphia</title>
		<link>http://roberthodgin.com/body-dysmorphia/</link>
		<comments>http://roberthodgin.com/body-dysmorphia/#comments</comments>
		<pubDate>Wed, 01 Dec 2010 23:11:31 +0000</pubDate>
		<dc:creator>Robert Hodgin</dc:creator>
		
		<guid isPermaLink="false">http://roberthodgin.com/?p=981</guid>
		<description><![CDATA[This real-time interactive video mirror will fatten you right up.]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.flickr.com/photos/flight404/sets/72157625322162813/"><img class="alignnone" src="http://farm6.static.flickr.com/5202/5197584355_97d6f71bb7_b.jpg" alt="" width="800" /></a></p>
<p><a href="http://en.wikipedia.org/wiki/Body_dysmorphic_disorder">Body Dysmorphia (or Body Dysmorphic Disorder)</a> is a disorder in which the affected are &#8220;excessively concerned about and preoccupied by a perceived defect in his or her physical features&#8221;. In this realtime interactive project, I manipulate the data from a Kinect sensor and create a type of mirror which can make the viewer excessively puffy or excessively emaciated.</p>
<p><a href="http://www.flickr.com/photos/flight404/sets/72157625322162813/"><img class="alignnone" src="http://farm5.static.flickr.com/4129/5197357081_5bbdd42666_b.jpg" alt="" width="800" /></a></p>
<p>This effect occurs in realtime and does not require any environmental preparation (such as controlled lighting or uncluttered background as is usually the case with standard webcam-based video mirrors).</p>
<p>I obtain the depth map from the Kinect and create a rough normal map. Using the normal map in conjunction with the RGB webcam data also coming from the Kinect, I am able to get an idea of how the surfaces in the scene are oriented. This is a surprisingly powerful bit of information. From it, I am able to adjust the lighting in the virtual scene creating realistic highlights and shadows in the virtual scene that do not exist in reality.</p>
<p>More interestingly, I am able to push the surfaces out along the corresponding normals in order to make the subject fatter or thinner.</p>
<p><iframe src="http://player.vimeo.com/video/17073934?portrait=0&amp;color=01AAEA" width="800" height="450" frameborder="0"></iframe></p>
<p><iframe src="http://player.vimeo.com/video/17075378?portrait=0&amp;color=01AAEA" width="800" height="450" frameborder="0"></iframe></p>
<p><a href="http://www.flickr.com/photos/flight404/sets/72157625322162813/"><img class="alignnone" src="http://farm6.static.flickr.com/5170/5217320208_4486b61d26_b.jpg" alt="" width="800" /></a></p>
<p><a href="http://www.flickr.com/photos/flight404/sets/72157625322162813/"><img class="alignnone" src="http://farm6.static.flickr.com/5168/5217320256_d4c56ae342_b.jpg" alt="" width="800" /></a></p>
<p>If you do not blur the depth map before calculating the normal, the resulting 3D model will be very bumpy and disturbing.</p>
<p><a href="http://www.flickr.com/photos/flight404/sets/72157625322162813/"><img class="alignnone" src="http://farm5.static.flickr.com/4128/5213932432_5384039aa6_b.jpg" alt="" width="800" /></a></p>
<p>A couple of blur passes on the depth map will create smoother models.<br />
<a href="http://www.flickr.com/photos/flight404/sets/72157625322162813/"><img class="alignnone" src="http://farm6.static.flickr.com/5128/5213338199_27c97f011a_b.jpg" alt="" width="800" /></a></p>
<p>More information about Cinder: http://libcinder.org<br />
More information about Kinect CinderBlock: http://forum.libcinder.org/#Topic/23286000000453029</p>
]]></content:encoded>
			<wfw:commentRss>http://roberthodgin.com/body-dysmorphia/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CinderISO Studies</title>
		<link>http://roberthodgin.com/cinderiso-studies/</link>
		<comments>http://roberthodgin.com/cinderiso-studies/#comments</comments>
		<pubDate>Thu, 02 Dec 2010 01:35:31 +0000</pubDate>
		<dc:creator>Robert Hodgin</dc:creator>
		
		<guid isPermaLink="false">http://roberthodgin.com/?p=1010</guid>
		<description><![CDATA[Experiments with <a href="http://sayinghai.com">Hai Nguyen</a>'s <a href="http://forum.libcinder.org/#Topic/23286000000468046">CinderISO library</a> for Cinder.]]></description>
			<content:encoded><![CDATA[<p><a href="http://sayinghai.com">Hai Nguyen</a> has ported over his <a href="http://sayinghai.com/metaballs3d.html">Maya Moonshine</a> plugin to <a href="http://libcinder.org">Cinder</a>. It is now called CinderISO. It is a multi-threaded particle mesher and it&#8217;s a beauty.</p>
<p>In the following images, I have created a dynamic metaball from a group of flocking particles. All of the rendering was done from within Cinder using GLSL shaders. Eventually, I saved out the form as a .obj file and then converted it to a .stl using Blender. I could now have the .stl printed in 3D to create physical sculptures of virtual scenarios.<br />
<a href="http://www.flickr.com/photos/flight404/sets/72157625449991170/"><img class="alignnone" src="http://farm2.static.flickr.com/1302/5183362755_62e080e304_b.jpg" alt="" width="800" /></a></p>
<p><iframe src="http://player.vimeo.com/video/16919515?portrait=0&amp;color=01AAEA" width="800" height="450" frameborder="0"></iframe></p>
<p><a href="http://www.flickr.com/photos/flight404/sets/72157625449991170/"><img class="alignnone" src="http://farm5.static.flickr.com/4090/5173979560_f09297e99d_b.jpg" alt="" width="800" /></a></p>
<p><iframe src="http://player.vimeo.com/video/16747890?portrait=0&amp;color=01AAEA" width="800" height="450" frameborder="0"></iframe></p>
<p><a href="http://www.flickr.com/photos/flight404/sets/72157625449991170/"><img class="alignnone" src="http://farm6.static.flickr.com/5284/5199796871_72a9925936_b.jpg" alt="" width="800" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://roberthodgin.com/cinderiso-studies/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Into the Trees</title>
		<link>http://roberthodgin.com/into-the-trees/</link>
		<comments>http://roberthodgin.com/into-the-trees/#comments</comments>
		<pubDate>Mon, 04 Oct 2010 02:35:51 +0000</pubDate>
		<dc:creator>Robert Hodgin</dc:creator>
		
		<guid isPermaLink="false">http://roberthodgin.com/?p=651</guid>
		<description><![CDATA[Cellist Zoë Keating and I build our own world.]]></description>
			<content:encoded><![CDATA[<p>In late September of 2010, the cellist <a href="http://www.zoekeating.com/">Zoë Keating</a> and I collaborated on an audio-visual piece for the <a href="http://01sj.org/2010/performance/into-the-trees/">San Jose Biennial</a>. The piece was entitled &#8220;Into the Trees&#8221;. The project ended up being conceptually sound for a few reasons. First of all, Zoë&#8217;s newest album is called &#8220;Into the Trees&#8221; and is an exploration of Zoë&#8217;s love of her home which is situated in the redwoods of northern California. Secondly, I have been fascinated with creating virtual worlds with code for years and was happy to have another opportunity to rewrite a terrain engine. I would create a virtual world with code while Zoë would create an audial world with her music and we would do it at an arts festival whose theme was &#8220;Build Your Own World&#8221;. </p>
<p><a href="http://www.flickr.com/photos/flight404/sets/72157624822688296/"><img class="alignnone" src="http://farm5.static.flickr.com/4090/4956112111_f8a7eff201_b.jpg" alt="" width="800" /></a></p>
<p>Zoë composed a new piece for this collaboration. It is roughly 14 minutes long and builds a wall of sound that is eventually peeled away piece by piece until you emerge back at the beginning. The song begins and ends with the same haunting two notes.</p>
<p>I decided to depart from my usual process of relying on microphone input to create the visuals. I wanted to do all of it by hand. There would be no audio reactive landscape or beat driven content. This decision wasn&#8217;t entirely without outside influences. Stringed instruments, particularly ones played by bow, are notoriously difficult to analyze. It is very difficult to pull out any beats from a wall of sound. Also, the piece Zoë composed was much more ambient than previous works. It was very dark and somber so beat-detection would have been useless. There were simply no beats to detect. The visuals would have to be controlled by hand.</p>
<p><a href="http://www.flickr.com/photos/flight404/sets/72157624822688296/"><img class="alignnone" src="http://farm5.static.flickr.com/4134/4950212653_d8b83d1c96_b.jpg" alt="" width="800" /></a></p>
<p>The rough outline of the piece is as follows:<br />
• Create an algorithmic terrain and meandering path<br />
• Create sky with a dynamic day/night cycle<br />
• Create boulders and grass<br />
• Fill the landscape with towering trees<br />
• Return to barren terrain and meandering path</p>
<h2>The Terrain and Path</h2>
<p>The canvas for this project is a smoothly winding path through a subtly changing terrain. The path is a combination of sine waves. There is a main wave with a very low frequency and on top of that is added a higher frequency wave with a much smaller amplitude. Even though the wave is very repetitive and predictable, it ends up working fine for my needs. I didn&#8217;t want to draw too much attention to the path by making it noisier, but I also didn&#8217;t want a straight line.</p>
<p>The terrain is also very subtle. It is a combination of sine waves but with a little Perlin noise influence. The Perlin is scaled up very high so you never really feel the <em>Perlinness</em> of the algorithm. Like the path, I wanted something between boring and chaotic. Over the course of the 14 minute piece, the altitude of the terrain changes. By the end of the piece, the changes in elevation are about 10x what they are when the piece begins.</p>
<p>The visual of the path is very simple and is done in a shader. I use the distance of every pixel to the path to create a subtle gradient and then add some striping to make it stand out. The camera also follows the sine wave equation for the path, with some variation. It is allowed to swing a bit outside the path, but never wanders too far away. The direction the camera faces is also automated, but can be controlled with mouse input as well.</p>
<p><a href="http://www.flickr.com/photos/flight404/sets/72157624822688296/"><img class="alignnone" src="http://farm5.static.flickr.com/4149/5048928182_0f7b9061bd_b.jpg" alt="" width="800" /></a></p>
<p>Here is an early study showing a wireframe view of the terrain.<br />
<iframe src="http://player.vimeo.com/video/14417062?portrait=0&amp;color=01AAEA" width="800" height="450" frameborder="0"></iframe></p>
<h2>The Sky</h2>
<p>The sky proved to be the most interesting challenge. I wanted to implement a smooth night-to-day-to-night cycle which is something I had not attempted before. I have done some simple <em>sun as light source</em> studies in the past, but never tried to create a proper dynamic sky-box (or dome). It ended up being fairly simple once I came to grips with the fact that dynamic cloud movement was beyond my skill level for now so I should just pretend it wasn&#8217;t even an option.</p>
<p>I purchased some spherical textures of skies and picked out four which I could cross fade as the sun rose and set. If the sun is below the horizon, I would use the night texture. If the sun was high in the sky, I would use the blue sky texture. For other sun positions, I would linearly interpolate between the 4 textures to create a smooth transition from day to night.</p>
<p>Sadly, this ended up looking rather blah. It all felt very static and felt like a matte painting. It was finally time to implement my first dynamic bloom and God ray effect. Again, this ended up being fairly simple since I had already learned how to deal with FBOs (using <a href="http://libcinder.org">Cinder</a>, FBOs are very easy to implement and control).</p>
<p><a href="http://www.flickr.com/photos/flight404/sets/72157624822688296/"><img class="alignnone" src="http://farm5.static.flickr.com/4147/5048928128_890c6c93e6_b.jpg" alt="" width="800" /></a></p>
<p>From what I <a href="http://http.developer.nvidia.com/GPUGems3/gpugems3_ch13.html">read</a> <a href="http://fabiensanglard.net/lightScattering/index.php">online</a>, bloom effects are created by rendering the lighting to a separate FBO and then overlaying a blurred version of the FBO on top of the fully rendered scene. I decided to simplify things a bit and just render the whole scene to a separate and smaller FBO. After a blur and contrast bump, I then overlay the bloom FBO back onto the scene. This helped me solve (i.e., ignore) the bloom occlusion issue. And it turns out, this is most of what is required to implement the beautiful (i.e., easily abused) <a href="http://en.wikipedia.org/wiki/Crepuscular_rays">God ray effect</a>.</p>
<p><a href="http://www.flickr.com/photos/flight404/sets/72157624822688296/"><img class="alignnone" src="http://farm5.static.flickr.com/4097/4936751756_1dbb1ec5e9_b.jpg" alt="" width="800" /></a></p>
<p>If you render the bloom FBO multiple times with an increase to the image&#8217;s scale with each iteration, you get a fairly nice atmospheric ray effect. It isn&#8217;t perfect and unless it is done on the GPU it can be quite slow. Since I was already doing the bloom overlay in a shader, it was easy to throw in a <em>for</em> loop, take the light source location into account, and render the bloom FBO 50 times per frame with the appropriate scale increase. This really drove home how impressive shaders can be. To do a fullscreen post-process render 50 times per frame and still be able to achieve real-time framerates&#8230; wow. GLSL, I love you very much.</p>
<p>The God rays allowed me to pay less attention to the realism of the sky and focus more on the fantasy of my world. A failed attempt to create a realistic sky is much less compelling than a successful attempt to create a fantastic, though unrealistic, sky. These crepuscular rays also helped me with the realism of the elements which would eventually populate the terrain. A bright bloom with corresponding rays over mostly silhouetted content can be quite compelling.</p>
<p><a href="http://www.flickr.com/photos/flight404/sets/72157624822688296/"><img class="alignnone" src="http://farm5.static.flickr.com/4101/4933976264_f10db57aa5_b.jpg" alt="" width="800" /></a></p>
<p>I also ended up using a 1D gradient texture which allowed me to fog my foreground assets to a reasonable color as the lighting changes. During the day, the trees and rocks fade over distance to a blueish hue. At sunset, they fade to a pinkish-orange. And at night, they fade to a deep purple. I do these color interpolations using shaders.</p>
<p>Video of the day-night sequence.<br />
<iframe src="http://player.vimeo.com/video/14600383?portrait=0&amp;color=01AAEA" width="800" height="450" frameborder="0"></iframe></p>
<h2>The Boulders</h2>
<p>The super-ellipsoids I used for the boulders were the only part of the <a href="http://roberthodgin.com/fuji/">Fuji</a> project that I recycled. It is such a nice solution, I just had to use it again. The boulders first came about when I saw <a href="http://www.andre-michelle.com/">Andre Michelle</a> use a <a href="http://en.wikipedia.org/wiki/Superellipsoid">superellipsoid</a>(Wikipedia) in an <a href="http://lab.andre-michelle.com/superellipse">audio visualization</a>. And since Wikipedia makes all math look frustratingly difficult (in my opinion, of course), here is a <a href="http://local.wasp.uwa.edu.au/~pbourke/geometry/superellipse/">nicer article on the superellipsoid</a> by the creator himself, <a href="http://local.wasp.uwa.edu.au/~pbourke/">Paul Bourke</a>.</p>
<p><a href="http://www.flickr.com/photos/flight404/sets/72157624822688296/"><img class="alignnone" src="http://farm5.static.flickr.com/4108/5048306905_e705eed9bc_b.jpg" alt="" width="800" /></a></p>
<p>For my boulders, I create a superellipsoid and save all the vertex positions to it&#8217;s own VBO. This way, I am only calculating the positions once for each boulder&#8217;s lifetime. Since I am storing the positions, I can add some Perlin noise to the vertices in order to randomize the forms a bit without much strain on the processor. Voila! Instant boulders.</p>
<p><a href="http://www.flickr.com/photos/flight404/sets/72157624822688296/"><img class="alignnone" src="http://farm5.static.flickr.com/4133/4947244615_65a6c9cee8_b.jpg" alt="" width="800" /></a></p>
<h2>The Trees</h2>
<p>Along with water, smoke, and fire, trees are some of the more difficult things to attempt with code. Trying to code realistic algorithmic trees is quite the rabbit hole. Once you start, you will never be content with how they look or how quickly they render. Finding the right balance between speed and realism is key. Sure, you can run a few million iterations of some L-system or branching node network code, but good luck getting even one to render 60 frames a second. The flip side is to just stick a billboarded tree graphic into your scene. However, any scrutinization and your laziness will become very obvious.</p>
<p><a href="http://www.flickr.com/photos/flight404/sets/72157624822688296/"><img class="alignnone" src="http://farm5.static.flickr.com/4111/5048928300_898841e781_b.jpg" alt="" width="800" /></a></p>
<p>I decided to only be semi-lazy. I used two styles of trees: large and 3D(ish), or small and flat. I didn&#8217;t have to worry about full access to all of the terrain from all angles. In other words, this wasn&#8217;t a free-roaming first-person-shooter. The camera always moves roughly forward and faces roughly forward.  This made the flat trees more realistic because nobody was ever viewing them side-on and I also didn&#8217;t have to worry about the uncanny effect that occurs when a single image of a tree is made to always face the camera.</p>
<p>The small trees were made with two quads in a right angle cross. I used 16 different images (purchased from a texture site) in one large texture and just chose a random set of UV coordinates for each tree. The large trees needed to have a bit more character so I ended up using a perturbed cylinder to create the massive trunks and stuck a two-quad cross on the top half. I used images of red woods for a couple reasons. They are the type of trees that exist near Zoë&#8217;s home, and they have a very straight trunk and high canopy which made my job much easier. And let&#8217;s not forget the God rays&#8230; those things shining through the canopy with a bright bloom can really bring some much needed drama to the scene while obscuring just how the trees were made.</p>
<p><a href="http://www.flickr.com/photos/flight404/sets/72157624822688296/"><img class="alignnone" src="http://farm5.static.flickr.com/4078/4950212759_4e4ea9e554_b.jpg" alt="" width="800" /></a></p>
<p>In order to bring the trees in without any pop, I create them at a miniature scale in the distance and make them grow quickly to full size (approximately 1 to 2 seconds of growth time). Though not realistic (you can obviously see them grow into place), the effect was quite magical.</p>
<h2><strong>The Details</strong></h2>
<p><a href="http://www.johndcook.com/blog/2008/03/30/god-is-in-the-details/">God is in the details, so it is said</a>. I like to look for God in particles. This project uses a few basic particle emitters which really help establish the mood of the piece.</p>
<p><strong>• Glowing dust</strong><br />
What forest scene is complete without a bunch of floating glowy things. Whether they are stand-ins for fireflies or dust motes, they push the 3D illusion of the space while adding some interesting visual noise.</p>
<p><strong>• Ground mist</strong><br />
Because the project was to be projected, I couldn&#8217;t rely on the subtle forest-at-night lighting to come through. I didn&#8217;t know ahead of time what the ambient lighting situation was going to be so I added a ground mist toggle which I could turn on to add some nice smoky effects to the scene. This would help add contrast to the piece by pushing the silhouetted look of the trees. Plus, I had recently played <a href="http://www.thesixthaxis.com/wp-content/uploads/2010/07/Screenshot-8-1024x576.jpg">Limbo</a> and I was really impressed with the look. It was definitely an influence on the final piece.</p>
<p><strong>• Shooting stars</strong><br />
The night sky was a high resolution photograph of the Milky Way overlayed on a more traditional field of bright stars. To increase the fantasy aspect of the scene, I added a large number of meteorites to help draw attention to the night sky. They were very simple, very short lived, line segments which emerge from a specific radiant and shoot off in a random direction for 5 to 15 frames.</p>
<p><strong>• Random trails</strong><br />
The forest scene also had some particle trails which generally hovered over the path and would travel away from the camera. They moved along sine waves and trailed a couple dozen previous positions that were connected with a quad-strip.</p>
<p><a href="http://www.flickr.com/photos/flight404/sets/72157624822688296/"><img class="alignnone" src="http://farm5.static.flickr.com/4112/4972718097_c55ecbbdf5_b.jpg" alt="" width="800" /></a></p>
<h2><strong>Control</strong></h2>
<p>Controlling the application was very simple. It was all done manually. I created keyboard commands which would trigger various objects. If I press &#8216;1&#8242;, the skydome would toggle on or off. If I press &#8216;2&#8242;, the terrain would toggle. &#8216;3&#8242; is for grass. &#8216;4&#8242; is for trees, etc. Triggering these effects required me to do some camera manipulation to avoid pop-in of the assets. For example, I didn&#8217;t want the terrain to just appear out of nowhere so when it was time to bring in the terrain, I would aim the camera up at the sky and then press &#8216;2&#8242;. This way, the terrain would appear while the camera was looking away. I could also do this when it was time to toggle the sky. I would just look down at the terrain and then press &#8216;1&#8242;.</p>
<p>The trees and boulders were a bit easier to deal with. The key presses would trigger the creation of a bunch of objects rather than just toggle them on or off. The trees are always on, but until I press &#8216;4&#8242;, none exist onscreen. Also, the trees would scale up over time and the boulders would rise up out of the ground so it didn&#8217;t matter where I was looking when I triggered them. This way, I got to <em>play in</em> the assets. </p>
<p>Finally, there was a minor manual audio effect which I didn&#8217;t really use much but I wanted to mention it here because I think it is a fantastic effect. It would be better suited to a project with an intense bass beat. Each press of the space bar sends out a shock-wave through the terrain which also effects the boulders and trees.</p>
<h2>Final piece</h2>
<p><strong> </strong>&#8220;Into the Trees&#8221; was performed in the South Hall at the San Jose 2010 Biennial. The venue was brilliant. Inside the South Hall tent, a huge Mad Maxian drive-in theater was created. The audience sat in rusted, dented, and crashed cars, sometimes stacked 2 high. The cars were often missing tires and windshields and some even had empty space where the engine should have been. The drive-in screen was beautifully built, complete with the name EMPIRE written across the top in 3D block letters, but the M and trailing E had long since fallen off. It felt like a post-apocolyptic theater with an audience of survivors trying to rebuild after the bomb, attempting to distract themselves from the destruction by creating impromptu performances about creation. It was really quite moving. Many thanks to the ZER01 team for creating such a beautiful venue and additional thanks to Jaime Austin, Steve Dietz, Craig Hobbs, and of course the extremely talented Zoë Keating.</p>
<p>Photo by <a href="http://www.flickr.com/photos/mangtronix/">mangtronix</a><br />
<a href="http://www.flickr.com/photos/mangtronix/5003269705/"><img class="alignnone" src="http://farm5.static.flickr.com/4132/5003269705_13b8e71035_b.jpg" alt="" width="800" /></a></p>
<p>Photo by <a href="http://www.flickr.com/photos/54343928@N08/">creativeartsmag</a><br />
<a href="http://www.flickr.com/photos/54343928@N08/5023803956/"><img class="alignnone" src="http://farm5.static.flickr.com/4131/5023803956_b3f5cfd79c_b.jpg" alt="" width="800" /></a></p>
<p>Photo by <a href="http://www.flickr.com/photos/54343928@N08/">creativeartsmag</a><br />
<a href="http://www.flickr.com/photos/54343928@N08/5023193477/"><img class="alignnone" src="http://farm5.static.flickr.com/4145/5023193477_b77ba25738_b.jpg" alt="" width="800" /></a></p>
<p>Photo by <a href="http://www.flickr.com/photos/rich_lem/">rich_lem</a><br />
<a href="http://www.flickr.com/photos/flight404/sets/72157624822688296/"><img class="alignnone" src="http://farm5.static.flickr.com/4152/5005899424_42d5aab3fa_b.jpg" alt="" width="800" /></a></p>
<p>Near-final render.<br />
<iframe src="http://player.vimeo.com/video/14632253?portrait=0&amp;color=01AAEA" width="800" height="450" frameborder="0"></iframe></p>
<p>Joe Ford recorded the San Jose Biennial performance and put the video up on Vimeo. You can watch it in it&#8217;s entirety below.<br />
<iframe src="http://player.vimeo.com/video/15173752?portrait=0&amp;color=01AAEA" width="800" height="600" frameborder="0"></iframe></p>
]]></content:encoded>
			<wfw:commentRss>http://roberthodgin.com/into-the-trees/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bait Ball</title>
		<link>http://roberthodgin.com/bait-ball/</link>
		<comments>http://roberthodgin.com/bait-ball/#comments</comments>
		<pubDate>Fri, 06 Aug 2010 22:27:20 +0000</pubDate>
		<dc:creator>Robert Hodgin</dc:creator>
		
		<guid isPermaLink="false">http://roberthodgin.com/?p=624</guid>
		<description><![CDATA[The complex behavior of schooling reduced to its essence.]]></description>
			<content:encoded><![CDATA[<p>I think by now, we have all seen sardine or anchovy bait balls. The swirling vortex of fish bodies was a favorite part of the Planet Earth and Planet Earth: Life series. I had done a couple flocking/swarming simulations in the past but after seeing a presentation by collective animal behavior researcher, Iain Couzin from Princeton University, I retackled the problem with renewed interest.</p>
<p><a href="http://www.flickr.com/photos/flight404/4867125528/"><img class="alignnone" src="http://farm5.static.flickr.com/4077/4867125528_6bf956bd47_b.jpg" alt="" width="800" /></a></p>
<p><a href="http://www.flickr.com/photos/flight404/4867125528/"></a>One of my original flocking sims featured birds flying around in a 3D environment. I took the easy way out and ignored any collision detection. The birds were pushed about by a combination of gravitational attraction (to keep them fairly centered on the screen) and Perlin noise (to give the illusion that the birds were moving around in a fairly organic manner). The follow-up to that version introduced an extra force in the form of magnetic repulsion. This gave me collision avoidance but it was not very graceful.</p>
<p>The Iain Couzin presentation, <a href="http://beta.wnyc.org/thegreenespace/events/2010/apr/14/radiolabs-awe-maggeddon/">featured on the WNYC RadioLab blog</a>, presented the problem of flocking in a beautifully simple 3 rule system.</p>
<p>1) Don&#8217;t get too crowded.<br />
2) Don&#8217;t get too isolated.<br />
3) Swim with neighbors.</p>
<p><em>(An optional 4th rule is that you should do what it takes to flee predators)</em></p>
<p>This is a bit of an oversimplification of what Professor Couzin outlined but it gives a nice insight into the simplicity of these complex-looking systems. Based on these three rules, I pretty much had the first two down. The repulsive force kept the fish/birds from getting too crowded. The attractive force kept the fish/birds from getting too isolated. But I never paid much attention the rule 3 which is why my early studies often looked like chaotic writhing balls instead of what is experienced in nature.</p>
<p>The code is pretty straightforward. Find the distance between me and each one of my neighbors. If this distance is really large, move towards the neighbor. If this distance is really low, move away from the neighbor. If the distance is neither too close nor too far, then allow my velocity to become influenced by the neighbor. The amount of influence each fish has on each other is a curve. If the threshold of attraction is a distance of 50, then a distance of 51 would involve a minimum of influence compared to a distance of 200 which would be a stronger influence. I should probably limit this distance so that a fish 5000 units away would have no influence at all, but I need to do more research to see what is being observed in nature.</p>
<p><img class="alignnone" src="http://farm5.static.flickr.com/4074/4866509627_706f658aaf_b.jpg" alt="" width="800" /></p>
<p>Future versions of this project will incorporate the dynamically resizing zones, as mentioned in the Ian Couzin presentation. For now, the zone thresholds are hardcoded. Also, there is no sense of leadership (though I don&#8217;t know if such a thing exists in the real world equivalent) and each fish is being influenced by every other fish in the simulation (which is probably not how these things actually work). What I will likely try next is to have each fish only being influenced by its 7 or so nearest neighbors.</p>
<p>Here is a video of the simulation. This version features 2500 fish and 2 predators. It runs in real-time.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="800" height="450" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=13928663&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=01AAEA&amp;fullscreen=1&amp;autoplay=0&amp;loop=0" /><embed type="application/x-shockwave-flash" width="800" height="450" src="http://vimeo.com/moogaloop.swf?clip_id=13928663&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=01AAEA&amp;fullscreen=1&amp;autoplay=0&amp;loop=0" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>This version uses 25000 fish and 2 predators and does not run in real-time.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="800" height="450" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=13933614&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=01AAEA&amp;fullscreen=1&amp;autoplay=0&amp;loop=0" /><embed type="application/x-shockwave-flash" width="800" height="450" src="http://vimeo.com/moogaloop.swf?clip_id=13933614&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=01AAEA&amp;fullscreen=1&amp;autoplay=0&amp;loop=0" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://roberthodgin.com/bait-ball/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Written Images, CME</title>
		<link>http://roberthodgin.com/written-images-cme/</link>
		<comments>http://roberthodgin.com/written-images-cme/#comments</comments>
		<pubDate>Wed, 27 Oct 2010 22:36:49 +0000</pubDate>
		<dc:creator>Robert Hodgin</dc:creator>
		
		<guid isPermaLink="false">http://roberthodgin.com/?p=830</guid>
		<description><![CDATA[Generative Coronal Mass Ejection, created for the Written Images project.]]></description>
			<content:encoded><![CDATA[<p><a href="http://writtenimages.net/">Written Images</a> is the brainchild of Martin Fuchs. For his diploma thesis, he put out a call for entries for people to create generative artwork. The stipulations were as follows: Each program should save four images to disk, each image taking less than 15 seconds to render, and then the program should self terminate. All of the printed pieces would then be assembled into a book.</p>
<p><a href="http://www.flickr.com/photos/flight404/sets/72157624402891120/"><img class="alignnone" src="http://farm5.static.flickr.com/4123/4773460853_27cae6effa_b.jpg" alt="" width="800" /></a></p>
<p>For my submission, I decided to create a project based on the phenomenon of Coronal Mass Ejection. The CME is a massive burst of solar wind, often resulting in the ejection of solar material. The image below, from NasaImages.org, depicts magnetic field lines emanating from the surface of the sun. I decided this would be my primary inspiration.</p>
<p><a href="http://www.nasaimages.org/luna/servlet/detail/NSVS~3~3~13647~113647:Grand-Tour-of-the-Coronal-Loops-Mod"><img class="alignnone" src="http://mm04.nasaimages.org/MediaManager/srvr?mediafile=/Size4/NSVS-3-NA/6377/loopsDeluxeHR.0210.jpg" alt="" width="800" /></a></p>
<p>For my CME simulation, I decided to start simply. First, I draw a Sphere in the center of the screen. This main Sphere has a far reaching but fairly weak negative charge. On the surface of the Sphere, I add a few dozen to a couple hundred smaller spheres. Each of these smaller spheres contains a much more confined but stronger positive charge. Because all the smaller spheres have the same polarity, they push each other apart. I let them drift on the surface of the larger Sphere for about 2 seconds.</p>
<p><a href="http://www.flickr.com/photos/flight404/sets/72157624402891120/"><img class="alignnone" src="http://farm5.static.flickr.com/4081/4753744232_4fb3a380f3_b.jpg" alt="" width="800" /></a></p>
<p>Once the 2 seconds are up, I lock the spheres into place and flood the simuation with a few hundred to a few thousand tiny particles. These particles are at the mercy of the magnetic field. They are immediately pushed away from the smaller spheres. As they move further away from the center, the positive charge from the smaller spheres becomes overwhelmed by the negative charge from the central Sphere and some of them are pulled back into the center.</p>
<p>Early study.<br />
<a href="http://www.flickr.com/photos/flight404/sets/72157624402891120/"><img class="alignnone" src="http://farm5.static.flickr.com/4098/4753104427_5860d39dde_b.jpg" alt="" width="800" /></a></p>
<p>Early study, with spikes which I quickly abandoned.<br />
<a href="http://www.flickr.com/photos/flight404/sets/72157624402891120/"><img class="alignnone" src="http://farm5.static.flickr.com/4082/4753563793_47d1960120_b.jpg" alt="" width="800" /></a></p>
<p>Nearing the final look.</p>
<p><a href="http://www.flickr.com/photos/flight404/sets/72157624402891120/"><img class="alignnone" src="http://farm5.static.flickr.com/4115/4754595368_26884d7798_b.jpg" alt="" width="800" /></a></p>
<p><a href="http://www.flickr.com/photos/flight404/sets/72157624402891120/"><img class="alignnone" src="http://farm5.static.flickr.com/4142/4756766024_ced1824e03_b.jpg" alt="" width="800" /></a></p>
<p>The final decision was based on each image taking up a full spread in the book. Since the image would be split down the middle with a seam, I decided I would render two spheres per image. However, the 15-seconds-per-image limit was still an issue. I was already at 15 seconds and the thought of bringing it down to 7.5 seconds per Sphere was not acceptable. After 7.5 seconds, the particles have barely had any time to spread out and none of them would be able to make the round trip out and back to the center in that short amount of time. So I decided to cheat.</p>
<p>I would create the Sphere and when it was time to save out the print res version, I would show it from the front on the left half of the image, and then swing the camera around to the back and use that for the right half of the image. Two for the price of one!</p>
<p><a href="http://www.flickr.com/photos/flight404/sets/72157624402891120/"><img class="alignnone" src="http://farm5.static.flickr.com/4080/4774100654_3576145e45_b.jpg" alt="" width="800" /></a></p>
<p>On October 21st, the 42 finalists were chosen from the original pool of 70 submissions. I was thrilled to have made the cut. I am very much looking forward to getting my hands on a few copies. Once the book is available, I will add the purchase link here.</p>
<p><a href="http://www.flickr.com/photos/flight404/sets/72157624402891120/"><img class="alignnone" src="http://farm5.static.flickr.com/4135/4773460977_7d35d81514_b.jpg" alt="" width="800" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://roberthodgin.com/written-images-cme/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wired Magazine</title>
		<link>http://roberthodgin.com/wired-magazine/</link>
		<comments>http://roberthodgin.com/wired-magazine/#comments</comments>
		<pubDate>Fri, 06 Aug 2010 23:29:13 +0000</pubDate>
		<dc:creator>Robert Hodgin</dc:creator>
		
		<guid isPermaLink="false">http://roberthodgin.com/?p=630</guid>
		<description><![CDATA[Feature art commissioned for Wired Magazine, 18:08]]></description>
			<content:encoded><![CDATA[<p>A few months ago, I was contacted by the fine folk at Wired Magazine. They were asking if they could commission me to create a feature illustration for issue number 18:08. They were particularly interested in the aesthetic of the <a href="http://roberthodgin.com/additionsubtraction/">Addition Subtraction</a> project and wanted me to do something which used the issue number itself and still maintained the feel of the original inspiration.</p>
<p><a href="http://www.flickr.com/photos/flight404/4866768697"><img class="alignnone" src="http://farm5.static.flickr.com/4073/4866768697_e5c88427f8_b.jpg" alt="" width="800" /></a></p>
<p>The project went through many different looks. My original idea was to try to make the gravitational and orbital forces mold the digits out of a sea of particles. The initial studies were pretty positive but the leading &#8216;1&#8242; digit was proving to be problematic. The &#8216;8&#8242; and &#8216;0&#8242; were fine because they were simple forms made of circles. Spinning an attractive force did a good job of creating the rounder digits but I was struggling with the &#8216;1&#8242;.</p>
<p>I went with an entirely different approach (which was eventually rejected) for a while. I created gravitation depressions where the digits forms were and flooded the scene with force particles. The forces repulsed each other but were drawn into the digits and spread out to create the 18.08. I then flooded the scene with particles and let them do what the forces instructed, much like in the <a href="http://roberthodgin.com/additionsubtraction/">Addition Subtraction</a> project. I was rather fond of the result but it deviated from the original inspiration too much so we ended up going back to the original idea.</p>
<p><a href="http://www.flickr.com/photos/flight404/4867275648/"><img src="http://farm5.static.flickr.com/4120/4867275648_ddd1659b69_b.jpg " alt="" width="800" /></a></p>
<p><a href="http://www.flickr.com/photos/flight404/4867275620/"><img src="http://farm5.static.flickr.com/4119/4867275620_8bf240bf0d_b.jpg" alt="" width="800" /></a></p>
<p><a href="http://www.flickr.com/photos/flight404/4791133907/"><img src="http://farm5.static.flickr.com/4119/4791133907_fb4f53e168_b.jpg" alt="" width="800" /></a></p>
<p>I ended up turning the &#8216;1&#8242; into the particle emitter. It made the most sense to do it this way. Even though I was bothered a bit by segregating the digit from the other three, the end result came out nicely. A glowing series of particle emitters aligns to form the &#8216;1&#8242; and as the particles spread across the screen, they are pulled and pushed into whirling black holes which end up forming the other three digits (and the decimal).</p>
<p>Final print piece.<br />
<a href="http://www.flickr.com/photos/flight404/4866659991/"><img src="http://farm5.static.flickr.com/4122/4866659991_dc4295f9f9_b.jpg" alt="" width="800" /></a></p>
<p>Early test render. Audio by Tim Stutts.<br />
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="800" height="800" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=13947676&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=01AAEA&amp;fullscreen=1&amp;autoplay=0&amp;loop=0" /><embed type="application/x-shockwave-flash" width="800" height="800" src="http://vimeo.com/moogaloop.swf?clip_id=13947676&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=01AAEA&amp;fullscreen=1&amp;autoplay=0&amp;loop=0" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>Final render. Audio by Tim Stutts.<br />
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="800" height="800" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=13947721&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=01AAEA&amp;fullscreen=1&amp;autoplay=0&amp;loop=0" /><embed type="application/x-shockwave-flash" width="800" height="800" src="http://vimeo.com/moogaloop.swf?clip_id=13947721&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=01AAEA&amp;fullscreen=1&amp;autoplay=0&amp;loop=0" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://roberthodgin.com/wired-magazine/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>00 Black Material</title>
		<link>http://roberthodgin.com/00-black-material/</link>
		<comments>http://roberthodgin.com/00-black-material/#comments</comments>
		<pubDate>Mon, 05 Jul 2010 22:41:37 +0000</pubDate>
		<dc:creator>Robert Hodgin</dc:creator>
		
		<guid isPermaLink="false">http://roberthodgin.com/?p=615</guid>
		<description><![CDATA[Teasers from a short art project collaboration with Erik Jonnson.]]></description>
			<content:encoded><![CDATA[<p>In the spirit of collaboration, I teamed up with Erik Jonsson (from Your Majesty in NYC) to create content for an upcoming art project called 00 Black Material. More details to come.</p>
<p>For this project, I created black and white landscapes that can be explored through keyboard input. Some of the landscapes are simple expansive horizons, others are complex layered caverns. Some of them are static, others morph as the camera comes near.</p>
<p><a href="http://www.flickr.com/photos/flight404/sets/72157624380856610"><img src="http://farm5.static.flickr.com/4140/4743719189_20ae13dc6b_b.jpg" alt="" width="800" /></a></p>
<p><a href="http://www.flickr.com/photos/flight404/sets/72157624380856610/"><img class="alignnone" src="http://farm5.static.flickr.com/4123/4744357216_5928e9bc09_b.jpg" alt="" width="1024" height="576" /></a></p>
<p><a href="http://www.flickr.com/photos/flight404/sets/72157624380856610"><img class="alignnone" src="http://farm5.static.flickr.com/4143/4743719225_d8d0205ce3_b.jpg" alt="" width="800" /></a></p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="800" height="450" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=13107283&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=01AAEA&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="800" height="450" src="http://vimeo.com/moogaloop.swf?clip_id=13107283&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=01AAEA&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="800" height="450" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=13108617&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=01AAEA&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="800" height="450" src="http://vimeo.com/moogaloop.swf?clip_id=13108617&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=01AAEA&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://roberthodgin.com/00-black-material/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Juxtapoz Magazine, July 2010</title>
		<link>http://roberthodgin.com/juxtapoz-magazine-july-2010/</link>
		<comments>http://roberthodgin.com/juxtapoz-magazine-july-2010/#comments</comments>
		<pubDate>Mon, 05 Jul 2010 21:14:09 +0000</pubDate>
		<dc:creator>Robert Hodgin</dc:creator>
		
		<guid isPermaLink="false">http://roberthodgin.com/?p=609</guid>
		<description><![CDATA[I need to curse less.]]></description>
			<content:encoded><![CDATA[<p>In early May 2010, I sat down with Alexander Tarrant and Colin Sebestyen at <a href="http://www.gaffta.org/">Gray Area Foundation For The Arts</a>. We talked about art, scandal, nudity, succulents, magnets, clouds and Snoop Dogg. We finished up our conversation a few days later, joined by Justin Metros, over a bottle of Napa red and some beers at Hotel Bîron in Hayes Valley.</p>
<p>And somehow, through the alcohol haze, they managed to put together a really nice interview for <a href="http://www.juxtapoz.com/">Juxtapoz Magazine</a> that spans 12 glossy pages. So to them, I say Thank You.</p>
<p><a href="http://www.flickr.com/photos/flight404/4733719227/"><img class="alignnone" src="http://farm2.static.flickr.com/1089/4733719227_fa1bb1e75a_b.jpg" alt="" width="800" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://roberthodgin.com/juxtapoz-magazine-july-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Peter Gabriel 2010 Tour</title>
		<link>http://roberthodgin.com/peter-gabriel-2010-tour/</link>
		<comments>http://roberthodgin.com/peter-gabriel-2010-tour/#comments</comments>
		<pubDate>Fri, 04 Jun 2010 07:07:22 +0000</pubDate>
		<dc:creator>Robert Hodgin</dc:creator>
		
		<guid isPermaLink="false">http://roberthodgin.com/?p=598</guid>
		<description><![CDATA[Cinder and reaction-diffusion help Peter Gabriel on his 2010 New Blood tour.]]></description>
			<content:encoded><![CDATA[<p>Back in February, I was contacted by someone working on the New Blood tour for Peter Gabriel. They were looking for artists to contribute to the visuals for one of the songs off the new album, which is all covers of other bands and it is my understanding the covered bands would then do a cover of a Peter Gabriel song.</p>
<p>Aside from the near all-cover set, the other curious thing about this tour is he performed without the aid of drums or guitar. It is him, a conductor,  and a backing orchestra.</p>
<p><a href="http://www.flickr.com/photos/flight404/4667880941/"><img class="alignnone" src="http://farm5.static.flickr.com/4038/4667880941_d7cb173037_b.jpg" alt="" width="800" /></a><br />
<font size='1'>Photograph by Robert Sinclair.</font></p>
<p>I was assigned the cover of Radiohead&#8217;s &#8216;Street Spirit&#8217;. And I had a little over two weeks. Because the short deadline, I decided to do something with <a href="http://en.wikipedia.org/wiki/Reaction_diffusion">reaction diffusion</a>. I love reaction diffusion. RD is my new <em>additive blending</em>. You are probably familiar with RD from the <a href="http://postspectacular.com/process/20080702_printmagcover">amazing 3D type piece by Karsten Schmidt </a>(Toxi).</p>
<p>Since PG was performing with an orchestra, who rehearses to a click track, I was able to get a recording of the song more or less as it would be played live. This allowed me to code in a few tone changes and transitions manually so the piece would have some relevance and variety throughout the length of the song.</p>
<p><a href="http://www.flickr.com/photos/flight404/4668516834"><img class="alignnone" src="http://farm5.static.flickr.com/4022/4668516834_7bd101625f_b.jpg" alt="" width="800"  /></a><br />
<font size='1'>Photograph by York Tillyer.</font></p>
<p>While PG sings, an ominous and slightly off-putting reaction diffusion pattern spreads and pulses across the background. When he reaches the climax of the song and the key changes to <em>hope</em>, the diffusion dissipates and is engulfed by a bright light.</p>
<p><a href="http://www.flickr.com/photos/flight404/4667880915"><img class="alignnone" src="http://farm5.static.flickr.com/4040/4667880915_798288742f_b.jpg" alt="" width="800" /></a><br />
<font size='1'>Photograph by Robert Sinclair.</font></p>
<p>Many thanks to the Georgina Sinclair, Rob Sinclair, and Peter Gabriel.</p>
]]></content:encoded>
			<wfw:commentRss>http://roberthodgin.com/peter-gabriel-2010-tour/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GAFFTA: Transpose</title>
		<link>http://roberthodgin.com/gaffta-transpose/</link>
		<comments>http://roberthodgin.com/gaffta-transpose/#comments</comments>
		<pubDate>Tue, 23 Feb 2010 09:41:11 +0000</pubDate>
		<dc:creator>Robert Hodgin</dc:creator>
		
		<guid isPermaLink="false">http://roberthodgin.com/?p=577</guid>
		<description><![CDATA[Aaron Koblin and I show off some work at GAFFTA in San Francisco.]]></description>
			<content:encoded><![CDATA[<p>Starting in February 2010 and lasting through April, I exhibited some work in a <a href="http://www.gaffta.org/2010/02/04/transpose/">two person show</a> at the <a href="http://www.gaffta.org/">Gray Area Foundation for the Arts (GAFFTA)</a>. The other artist was the very talented <a href="http://www.aaronkoblin.com/">Aaron Koblin</a>, known for his work with <a href="http://www.aaronkoblin.com/work/rh/index.html">Radiohead</a> and the <a href="http://www.aaronkoblin.com/work/flightpatterns/index.html">Flight Patterns</a> piece.</p>
<p><img src="http://farm5.static.flickr.com/4056/4381534668_37f1dee5eb_b.jpg" alt="" width="800" /></p>
<p>I showed five different pieces, ranging from prints to sculpture to an interactive installation. All of the pieces were related to my exploration with magnetism and mathematical phenomena.</p>
<p><strong>Selected Works</strong><br />
Made with Processing and Cinder (C++ framework).</p>
<p>One of the 46&#8243; flat screen displays shows a 22 minute reel of some older video projects. Most are audio reactive. Included are a <a href="http://www.vimeo.com/8581392">Magnetosphere rework</a>, <a href="http://www.vimeo.com/7565418">Fuji</a>, <a href="http://www.vimeo.com/7993660">Cymatic Fluid</a>, <a href="http://www.vimeo.com/658158">Solar with Lyrics</a>, <a href="http://www.vimeo.com/2094557">Audio-reactive Landscape</a>, <a href="http://www.vimeo.com/2120027">Relentless</a>, and <a href="http://www.vimeo.com/3290907">Branching</a>.</p>
<p><strong>Moment of Fission</strong>, series of 6 prints<br />
Made with Processing.</p>
<p><img class="alignnone" src="http://farm3.static.flickr.com/2753/4077366346_b42fb6330c_b.jpg" alt="" width="800" /></p>
<p>For this series, I placed anywhere from a dozen to a few hundred charged particles into a small space. All of the particles want desperately to push away from every other particle. A couple frames after they explode outward, I render out the results. The prints attempt to visualize the act of atomic fission.</p>
<p><img class="alignnone" src="http://farm4.static.flickr.com/3264/4050090719_ff46232e45_b.jpg" alt="" width="800" /></p>
<p><strong>Dodecahedral Variations</strong></p>
<p>When I was planning content for the show, fellow GAFFTA alum Ryan Alexander suggested I add some sculptures to the show. In specific, <a href="http://www.flickr.com/photos/flight404/sets/72157616704023547/">the magnetic solid sculptures</a> I have been making off and on over the last couple years.</p>
<p>These forms are created with cylinder magnets, spherical magnets, and ball bearings. Magnetism is the only thing holding the forms together. They are fairly fragile and picking them up will likely crush them. All of the forms I created were variations of the 12 sided dodecahedron. This particular platonic solid seems to be the form the magnets are happiest with.</p>
<p><img class="alignnone" src="http://farm5.static.flickr.com/4065/4380778201_9080898785_b.jpg" alt="" width="800" /></p>
<p>The largest structure required a temporary scaffold of sorts. Without the scaffold, I would be unable to complete the form without it succumbing to gravity. This structure took me a few hours to create and on the day of the show, it collapsed on the way to the gallery. I ended up rebuilding it the day of the show.</p>
<p><img class="alignnone" src="http://farm5.static.flickr.com/4026/4381532218_59f31797f6_b.jpg" alt="" width="800" /></p>
<p><strong>Quantum Decoherence</strong><br />
Made in Cinder (C++ framework).</p>
<p>This pair of prints was made for 40&#8243;x30&#8243; backlit lightboxes. While exploring ideas for the interactive piece, I started playing around with <a href="http://en.wikipedia.org/wiki/Reaction_diffusion">Gray-Scott reaction diffusion</a>. The formulas for reaction diffusion are surprisingly easy but they can create a large variety of beautiful organic patterns which resemble many patterns found in nature.</p>
<p><img class="alignnone" src="http://farm5.static.flickr.com/4019/4381078573_0354de896b_b.jpg" alt="" width="800" /></p>
<p><img class="alignnone" src="http://farm5.static.flickr.com/4040/4350865464_f0e8df7bcd_b.jpg" alt="" width="800" /></p>
<p>The aesthetics are based on the results achieved with <a href="http://en.wikipedia.org/wiki/Scanning_tunneling">scanning tunneling microscopes</a>. It is intended to be viewed as a visual interpretation of the wave-particle duality of light and matter. The individual nodes do not exist separately from each other. They are simply different <em>densities</em> of the same ether. They grow and turn white as a wave, emanating from the center, passes by.</p>
<p><img class="alignnone" src="http://farm5.static.flickr.com/4026/4350866500_8af1199c4f_b.jpg" alt="" width="800" /></p>
<p><strong>Reactive Diffusion</strong>, interactive installation<br />
Made in Cinder (C++ framework).</p>
<p><img class="alignnone" src="http://farm5.static.flickr.com/4026/4353505294_ce1144ce12_b.jpg" alt="" width="800" /></p>
<p>This installation shows off reaction diffusion in all its glory. A 46&#8243; flat screen display shows a view of the webcam which is pointing at the viewer. It functions as a digital mirror, but the reflection is highly distorted. The entire screen is morphed by a reaction diffusion effect. The reaction flows across the screen and undulates in a intensely mesmerizing way.</p>
<p>Music by Helios (&#8220;Backlight&#8221; from the album Caesura)<br />
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="800" height="600" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=9666035&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=01AAEA&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="800" height="600" src="http://vimeo.com/moogaloop.swf?clip_id=9666035&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=01AAEA&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>When I created this project, it initially managed to eek out about 10 fps when running at full resolution. It ended up feeling really sluggish. I bought a nice tower PC but it still barely reached 15 fps. My mentor and collaborator, Andrew Bell, suggested I move everything to the GPU because the slowdown was likely due to the way I was abusing FBOs. The original version pulled data off the FBO, modified a large quad mesh, then sent the content to a GLSL shader which handled the lighting and coloring.</p>
<p>The rework now has everything running in GLSL shaders. The huge mesh grid is gone, replaced by just one single textured quad being drawn fullscreen. This brought the frame rate up to 60+ on both the PC tower and my MacBook Pro laptop.</p>
]]></content:encoded>
			<wfw:commentRss>http://roberthodgin.com/gaffta-transpose/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Overlord</title>
		<link>http://roberthodgin.com/overlord/</link>
		<comments>http://roberthodgin.com/overlord/#comments</comments>
		<pubDate>Fri, 19 Feb 2010 22:41:22 +0000</pubDate>
		<dc:creator>Robert Hodgin</dc:creator>
		
		<guid isPermaLink="false">http://roberthodgin.com/?p=571</guid>
		<description><![CDATA[First, you will be hypnotized. Second, you will do as I command.]]></description>
			<content:encoded><![CDATA[<p>Update:: Unfortunately, I was unable to get any documentation of the project while is was being shown. If anyone has any photos or video from this piece, let me know.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;::</p>
<p>For one week in early March, 2010, anyone taking an evening walk down the 400 block of High Road in Wembley, England, will find themselves under the watchful gaze of Overlord.</p>
<p><img class="alignnone" src="http://farm5.static.flickr.com/4051/4371566084_5553d24a6c_o.png" alt="" width="800" /></p>
<p>This project is entirely about mesmerism. It is my intention to cause passersby to stop and stare up at the 50 meter wall on which the Overlord appears. He stares down at them, surrounded in a swirling <a href="http://en.wikipedia.org/wiki/Reaction_diffusion">reaction-diffusion</a> fluid. He appears indifferent and his facial expression does not change.</p>
<p><a href="http://www.flickr.com/photos/flight404/4369543385/"><img class="alignnone" src="http://farm3.static.flickr.com/2719/4369543385_7638454402_o.png" alt="" width="800" /></a></p>
<p>To create this project, I stared into a camera for 20 minutes. I used this saved video content as input into a reaction-diffusion project created in Cinder. The project runs beautifully in realtime but it made more sense for the end product to be a simple looping video.</p>
<p>The reaction-diffusion responds to the brightness of the pixels in the video as well as the motion from frame to frame. The motion creates ripples which propagate across the screen and influence the formation and destruction of the RD patterns.</p>
<p>Here is the venue.</p>
<p><small><a style="color: #0000ff; text-align: left;" href="http://maps.google.com/maps?client=safari&amp;q=444+High+Road+wembley&amp;oe=UTF-8&amp;ie=UTF8&amp;hl=en&amp;hq=&amp;hnear=444+High+Rd,+Wembley,+Middlesex+HA9+6AH,+United+Kingdom&amp;layer=c&amp;cbll=51.553693,-0.293008&amp;panoid=T8FO4x2Xm9sM4qOWIyb53w&amp;cbp=13,30.49,,0,-22.65&amp;ll=51.553634,-0.289872&amp;spn=0,359.982855&amp;z=16&amp;source=embed">View Larger Map</a></small></p>
<p>Short render from the longer piece. Sadly, Vimeo wasn&#8217;t too kind to the compression.<br />
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="800" height="600" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=9573714&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=01AAEA&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="800" height="600" src="http://vimeo.com/moogaloop.swf?clip_id=9573714&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=01AAEA&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://roberthodgin.com/overlord/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Solar rework</title>
		<link>http://roberthodgin.com/solar-rework/</link>
		<comments>http://roberthodgin.com/solar-rework/#comments</comments>
		<pubDate>Wed, 06 Jan 2010 04:36:45 +0000</pubDate>
		<dc:creator>Robert Hodgin</dc:creator>
		
		<guid isPermaLink="false">http://roberthodgin.com/?p=252</guid>
		<description><![CDATA[Audio-responsive application created for the V&#038;A Museum. Created with Processing.]]></description>
			<content:encoded><![CDATA[<p>In late 2009, I was asked to contribute to a group show called <a href="http://www.vam.ac.uk/microsites/decode/exhibition">Decode</a> being held at the prestigious <a href="http://www.vam.ac.uk/microsites/decode/">Victoria &amp; Albert Museum</a> in London. Among the contributors are Aaron Koblin, Jonathan Harris and Sep Kamvar, Golan Levin, Daniel Brown, Daniel Rozin, and many others. According to the site, Decode “will show the latest developments in digital and interactive design, from small screen based graphics to large-scale installations.”</p>
<p>They asked me if I could make a real-time audio reactive version of Solar. I created Solar in 2007. It originally came about because I was working on a demo for a talk I was to give at UCLA. It quickly became one of my more popular works. It features a magnetism and gravity sandbox where particles react to the intensity of the audio. Creating a compelling real-time version is definitely a challenge. The original Solar render probably ran at about 0.5 to 1.0 frames per second. Getting that up to between 30 and 60 fps is not going to happen easily.</p>
<p>Thanks to some great advice from <a href="http://drawnline.net">Andrew Bell</a>, I was able to create a robust version that still had a nice visual density but would still run at a good clip. It involved using instances of the parent sphere and child particles instead of calculating a set of particle positions for each sphere. Since I was definitely CPU bound (the magnetic repulsion calculations can get really heavy really quickly), this turned out to be a great way to still show tens of thousands of particles but only need to do repulsion calculations on a set of a few hundred.</p>
<p><img class="horizontal" src="http://farm3.static.flickr.com/2597/4099157916_421bb83686_o.jpg" alt="" /></p>
<p><img src="http://farm3.static.flickr.com/2578/4099158018_40ba6212db_o.jpg" alt="" width="800" /></p>
<p>I did a render to some audio from an episode of <a href="http://www.wnyc.org/shows/radiolab/">Radiolab</a> to show how it performs.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="800" height="450" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=7578615&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=01AAEA&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="800" height="450" src="http://vimeo.com/moogaloop.swf?clip_id=7578615&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=01AAEA&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://roberthodgin.com/solar-rework/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cymatic Ferrofluid</title>
		<link>http://roberthodgin.com/cymatic-ferrofluid/</link>
		<comments>http://roberthodgin.com/cymatic-ferrofluid/#comments</comments>
		<pubDate>Wed, 06 Jan 2010 04:04:42 +0000</pubDate>
		<dc:creator>Robert Hodgin</dc:creator>
		
		<guid isPermaLink="false">http://roberthodgin.com/?p=242</guid>
		<description><![CDATA[Audio reactive fluid simulates cymatic phenomena. Created in Cinder.]]></description>
			<content:encoded><![CDATA[<p>In 2002, I bought a small amount of <a href="http://en.wikipedia.org/wiki/Ferromagnetic_fluid">ferrofluid</a> off the internet. It was around the time when I started to learn Processing. I began asking for advice on the Processing forum on how to translate the formulas for magnetism into code. I received a great deal of help and after a couple days, I had a working <a href="http://www.flight404.com/processing/magnets_2D/">2D prototype</a>. I have been using some version of this prototype ever since. (Note, the 2D prototype code is extremely old and outdated.)</p>
<p>The reason the black oil appealed to me was that it allows you to visualize the invisible field surrounding magnets. Its like a three dimensional execution of the <a href="http://www.emovendo.net/images/T/t-16190-58.jpeg">iron filings test</a> but much more mesmerizing. I instantly wanted to know more about them. Why do they behave the way they do? Why are they spaced out just so? What insane amount of math is going on behind the scenes?</p>
<p>These questions eventually led me to the study of <a href="http://en.wikipedia.org/wiki/Cymatics">Cymatics</a>. Below are my first studies for replicating cymatic phenomena using code.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="800" height="450" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=7993660&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=01AAEA&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="800" height="450" src="http://vimeo.com/moogaloop.swf?clip_id=7993660&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=01AAEA&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p><a href="http://www.flickr.com/photos/flight404/sets/72157622841199621/"><img class="alignnone" src="http://farm3.static.flickr.com/2581/4158769971_3603466156_o.jpg" alt="" width="800" /></a></p>
<p><a href="http://www.flickr.com/photos/flight404/sets/72157622841199621/"><img class="alignnone" src="http://farm3.static.flickr.com/2644/4170587155_ed98bfe2a1_b.jpg" alt="" width="800" /></a></p>
<p><a href="http://www.flickr.com/photos/flight404/sets/72157622841199621/"><img class="alignnone" src="http://farm3.static.flickr.com/2765/4158769933_0979cb8bc8_o.jpg" alt="" width="800" /></a></p>
<p><a href="http://www.flickr.com/photos/flight404/sets/72157622841199621/"><img class="alignnone" src="http://farm3.static.flickr.com/2489/4169002218_128da3e52c_b.jpg" alt="" width="800" /></a></p>
<p><a href="http://www.flickr.com/photos/flight404/sets/72157622841199621/"><img class="alignnone" src="http://farm3.static.flickr.com/2489/4170743471_90f9f3279b_o.png" alt="" width="800" /></a></p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="800" height="450" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=7993572&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=01AAEA&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="800" height="450" src="http://vimeo.com/moogaloop.swf?clip_id=7993572&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=01AAEA&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://roberthodgin.com/cymatic-ferrofluid/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Stippling</title>
		<link>http://roberthodgin.com/stippling/</link>
		<comments>http://roberthodgin.com/stippling/#comments</comments>
		<pubDate>Wed, 06 Jan 2010 03:48:43 +0000</pubDate>
		<dc:creator>Robert Hodgin</dc:creator>
		
		<guid isPermaLink="false">http://roberthodgin.com/?p=235</guid>
		<description><![CDATA[Algorithmic stippling by way of particles controlled by magnetic repulsive forces. Created in Cinder.]]></description>
			<content:encoded><![CDATA[<p>This project is my attempt to create a stippling algorithm for reproducing images as dot patterns. The image is loaded and the pixel information is stored in an array. Then I begin to populate the space with magnetic particles. Each particle pushes away other particles so they begin to spread out.</p>
<p>The particle checks the pixel array to see what shade of grey it needs to represent. If it needs to show blackness, it grows smaller and its magnetic charge diminished accordingly. If it needs to represent white, it grows larger as does its charge. Once you throw a few tens of thousands of particles into the scene, eventually they spread out in an organically pleasing manner. There seems to be no patterning, but its certainly not a random spread. </p>
<p>I added an additional feature which allowed the particle to scale down small enough that it becomes invisible to the naked eye. I then allowed adjacent particles to stretch a thin black line between them if their distance is short enough. I changed the background color to grey so that the particles and lines could paint in the light and dark parts of the image.</p>
<p><img class="alignnone" src="http://farm5.static.flickr.com/4050/4249374525_7eac5175e3_o.png" alt="" width="800" /></p>
<p><img class="alignnone" src="http://farm3.static.flickr.com/2528/4193175521_d10bd51106_b.jpg" alt="" width="800" /></p>
<p><img class="alignnone" src="http://farm3.static.flickr.com/2559/4196249502_75735c26c6_b.jpg" alt="" width="800" /></p>
<p><img class="alignnone" src="http://farm3.static.flickr.com/2544/4193784393_97c00386c7_b.jpg" alt="" width="800" /></p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="800" height="450" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=8268549&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=01AAEA&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="800" height="450" src="http://vimeo.com/moogaloop.swf?clip_id=8268549&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=01AAEA&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="800" height="450" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=8252908&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=01AAEA&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="800" height="450" src="http://vimeo.com/moogaloop.swf?clip_id=8252908&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=01AAEA&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://roberthodgin.com/stippling/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fuji</title>
		<link>http://roberthodgin.com/fuji/</link>
		<comments>http://roberthodgin.com/fuji/#comments</comments>
		<pubDate>Wed, 06 Jan 2010 01:06:16 +0000</pubDate>
		<dc:creator>Robert Hodgin</dc:creator>
		
		<guid isPermaLink="false">http://roberthodgin.com/?p=210</guid>
		<description><![CDATA[Wander through a landscape based on a false memory. Created with Processing.]]></description>
			<content:encoded><![CDATA[<p>This project was created for <a href="http://www.wingluke.org/">The Wing Luke Asian Museum</a> in Seattle. I was asked to contribute to a show entitled Cultural Transcendence. I chose to try and recreate a memory I have of my time in Japan. My father met my Japanese mother when he was stationed at Okinawa for the Air Force.I lived there for only two years, between the ages of 3 and 5. I recall little of that time. My only strong memory is of a trip my family took to Mount Fuji. I remember climbing the gentle slope at the base of the mountain. It was very foggy and the path we took meandered through dense bamboo. There was an old man selling walking sticks from a wooden shack. My father bought one. I cherish that memory fondly.</p>
<p>A couple years ago, I asked my mother about the time we spent there. She laughed and said we had never gone to Mount Fuji. The memory I had was totally fabricated. We were actually in a public park just outside Tokyo. Mount Fuji was visible in the distance. It was not foggy. There was no bamboo. I had apparently made the whole thing up.</p>
<p>In this piece, Mount Fuji always remains far away but looms over the landscape. It is always partially obstructed by bamboo and mist and other weather effects. Sometimes you can only see it because it is silhouetted by the passing full moon. It is a moody piece running in black and white.</p>
<p>For this test render, I used some audio by the insanely talented <a href="http://www.zoekeating.com">Zoe Keating</a> from the Ghostbird soundtrack.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="800" height="450" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=7565418&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=01AAEA&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="800" height="450" src="http://vimeo.com/moogaloop.swf?clip_id=7565418&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=01AAEA&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p><a href="http://www.flickr.com/photos/flight404/sets/72157622453807798/"><img class="alignnone" src="http://farm4.static.flickr.com/3639/3656724370_2247093aa7_o.png" alt="" width="800" /></a></p>
<p><a href="http://www.flickr.com/photos/flight404/sets/72157622453807798/"><img class="alignnone" src="http://farm3.static.flickr.com/2717/4095104490_16793edef9_b.jpg" alt="" width="800" /></a></p>
<p><a href="http://www.flickr.com/photos/flight404/sets/72157622453807798/"><img class="alignnone" src="http://farm4.static.flickr.com/3536/3953241455_3b925a6667_b.jpg" alt="" width="800" /></a></p>
<p><a href="http://www.flickr.com/photos/flight404/sets/72157622453807798/"><img class="alignnone" src="http://farm3.static.flickr.com/2643/4129232605_299acba124_b.jpg" alt="" width="800" /></a></p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="800" height="600" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=7409857&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=01AAEA&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="800" height="600" src="http://vimeo.com/moogaloop.swf?clip_id=7409857&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=01AAEA&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>This project went through several months of changes. Here is a selection of strange bugs and abandoned visions from early in the project&#8217;s lifespan.</p>
<p><a href="http://www.flickr.com/photos/flight404/sets/72157622453807798/"><img class="alignnone" src="http://farm5.static.flickr.com/4023/4257370911_dc9c7035c2.jpg" alt="" width="500" /></a></p>
<p><a href="http://www.flickr.com/photos/flight404/sets/72157622453807798/"><img class="alignnone" src="http://farm4.static.flickr.com/3632/3594236559_e01bb80559_b.jpg" alt="" width="500" /></a></p>
<p><a href="http://www.flickr.com/photos/flight404/sets/72157622453807798/"><img class="alignnone" src="http://farm5.static.flickr.com/4028/4257371001_9381d06f20.jpg" alt="" width="500" /></a></p>
<p><a href="http://www.flickr.com/photos/flight404/sets/72157622453807798/"><img class="alignnone" src="http://farm5.static.flickr.com/4010/4258129458_47ae401060.jpg" alt="" width="500" /></a></p>
<p><a href="http://www.flickr.com/photos/flight404/sets/72157622453807798/"><img class="alignnone" src="http://farm5.static.flickr.com/4014/4258128988_d02927b965.jpg" alt="" width="500" /></a></p>
<p><a href="http://www.flickr.com/photos/flight404/sets/72157622453807798/"><img class="alignnone" src="http://farm5.static.flickr.com/4062/4258129248_577aff11c8.jpg" alt="" width="500" /></a></p>
<p><a href="http://www.flickr.com/photos/flight404/sets/72157622453807798/"><img class="alignnone" src="http://farm3.static.flickr.com/2755/4258129376_1145ce2a9f.jpg" alt="" width="500" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://roberthodgin.com/fuji/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Moment of Fission</title>
		<link>http://roberthodgin.com/moment-of-fission/</link>
		<comments>http://roberthodgin.com/moment-of-fission/#comments</comments>
		<pubDate>Wed, 06 Jan 2010 01:52:39 +0000</pubDate>
		<dc:creator>Robert Hodgin</dc:creator>
		
		<guid isPermaLink="false">http://roberthodgin.com/?p=212</guid>
		<description><![CDATA[Visualize what happens when an atom breaks down. Created with Processing.]]></description>
			<content:encoded><![CDATA[<p>For this project, I place a few hundred charged particles in an extremely small space and then run the simulation. The particles don’t want to be that close so they instantly start moving away from the centroid. I trigger a render shortly after the particles start their rush to expand into unoccupied space.</p>
<p><a href="http://www.flickr.com/photos/flight404/sets/72157622560778471/"><img class="alignnone" src="http://farm3.static.flickr.com/2550/4060155346_ee09604567_b.jpg" alt="" width="800" /></a></p>
<p><a href="http://www.flickr.com/photos/flight404/sets/72157622560778471/"><img class="alignnone" src="http://farm3.static.flickr.com/2789/4037788025_566db2a967_b.jpg" alt="" width="800" /></a></p>
<p><a href="http://www.flickr.com/photos/flight404/sets/72157622560778471/"><img class="alignnone" src="http://farm3.static.flickr.com/2641/4051309625_055fb9cc96_b.jpg" alt="" width="800" /></a></p>
<p><a href="http://www.flickr.com/photos/flight404/sets/72157622560778471/"><img class="alignnone" src="http://farm3.static.flickr.com/2523/4050090823_e0dbbb6375_b.jpg" alt="" width="800" /></a></p>
<p><a href="http://www.flickr.com/photos/flight404/sets/72157622560778471/"><img class="alignnone" src="http://farm4.static.flickr.com/3264/4050090719_ff46232e45_b.jpg" alt="" width="800" /></a></p>
<p><a href="http://www.flickr.com/photos/flight404/sets/72157622560778471/"><img src="http://farm3.static.flickr.com/2671/4051309549_1f42e9cb77_b.jpg" alt="" width="800" /></a></p>
<p><a href="http://www.flickr.com/photos/flight404/sets/72157622560778471/"><img class="alignnone" src="http://farm3.static.flickr.com/2753/4053706308_a86bded6b4_b.jpg" alt="" width="800" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://roberthodgin.com/moment-of-fission/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Magnetic Solids, IRL</title>
		<link>http://roberthodgin.com/magnetic-solids-irl/</link>
		<comments>http://roberthodgin.com/magnetic-solids-irl/#comments</comments>
		<pubDate>Wed, 06 Jan 2010 03:37:37 +0000</pubDate>
		<dc:creator>Robert Hodgin</dc:creator>
		
		<guid isPermaLink="false">http://roberthodgin.com/?p=230</guid>
		<description><![CDATA[Magnetic sculptures of polyhedra created with cylindrical magnets and variable diameter steel spheres.]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s no secret I am a fan of magnets. I don&#8217;t think I have coded a project in the last three years that hasn&#8217;t heavily featured magnetic forces acting on objects. So when I saw the superball on the <a href="http://www.amazingmagnets.com/p-541-superball-chrome.aspx">Amazing Magnets</a> website, I just had to have it. And not just one. I wanted to make something bigger and denser than one superball. I ended up ordering a couple sets and bunch of extra chrome spheres.</p>
<p>If I am feeling really anxious or I just want to be distracted for a while, I play with the magnets.</p>
<p><a href="http://www.flickr.com/photos/flight404/sets/72157616704023547/"><img class="alignnone" src="http://farm3.static.flickr.com/2357/2168711864_32993a23dc_b.jpg" alt="" width="800" /></a></p>
<p><a href="http://www.flickr.com/photos/flight404/sets/72157616704023547/"><img class="alignnone" src="http://farm3.static.flickr.com/2036/2167606207_96d9d57cbc_b.jpg" alt="" width="800" /></a></p>
<p><a href="http://www.flickr.com/photos/flight404/sets/72157616704023547/"><img class="alignnone" src="http://farm4.static.flickr.com/3622/3444377206_3be001a29f_b.jpg" alt="" width="800" /></a></p>
<p><a href="http://www.flickr.com/photos/flight404/sets/72157616704023547/"><img class="alignnone" src="http://farm3.static.flickr.com/2224/2174196861_5ff655ecc9_b.jpg" alt="" width="800" /></a></p>
<p><a href="http://www.flickr.com/photos/flight404/sets/72157616704023547/"><img class="alignnone" src="http://farm3.static.flickr.com/2373/2167921735_ca7935ab1f_b.jpg" alt="" width="800" /></a></p>
<p><a href="http://www.flickr.com/photos/flight404/sets/72157616704023547/"><img class="alignnone" src="http://farm4.static.flickr.com/3302/3444376288_84844860c5_b.jpg" alt="" width="800" /></a></p>
<p><a href="http://www.flickr.com/photos/flight404/sets/72157616704023547/"><img class="alignnone" src="http://farm3.static.flickr.com/2030/2174196251_c95192a4b1_b.jpg" alt="" width="800" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://roberthodgin.com/magnetic-solids-irl/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Le Petit Dummy for iPhone</title>
		<link>http://roberthodgin.com/le-petit-dummy/</link>
		<comments>http://roberthodgin.com/le-petit-dummy/#comments</comments>
		<pubDate>Wed, 06 Jan 2010 03:26:25 +0000</pubDate>
		<dc:creator>Robert Hodgin</dc:creator>
		
		<guid isPermaLink="false">http://roberthodgin.com/?p=222</guid>
		<description><![CDATA[An iPhone app created with Bill Lindmeier. Learn more at <a href="http://www.theclassicspresents.com">The Classics Presents: Le Petit Dummy</a>.]]></description>
			<content:encoded><![CDATA[<p>During the summer of 2009, <a href="http://www.theclassicspresents.com">Bill Lindmeier and I</a> decided to create an iPhone app. We had an idea in mind and though the idea was most definitely low-brow, we thought the challenge worthy of our efforts. So down into the gutter we climbed to begin working on the app that would become Le Petit Dummy.</p>
<p>Everything was going as planned. We were making great progress. Then it happened. Something entirely unanticipated. The more time we put into developing the app, the more it became respectable. Lo, our gutter-born brainchild was maturing! It sprouted wings of respectability and soared. The depths whence it came were now but a speck. It defied our intent and expectations and blossomed into something magical.</p>
<p>So, what does it do? What DOESN’T it do!</p>
<p>How many times have you longed to see the famous neo-classicist Jacques Louis David sing a scat rendition of Mouret’s Rondeau? If you are anything like me, the answer to that question is easily in the thousands. Well, my friends, long no more…</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="780" height="640" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/bBZewUKMcxM&amp;hl=en_US&amp;fs=1&amp;" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="800" height="647" src="http://www.youtube.com/v/bBZewUKMcxM&amp;hl=en_US&amp;fs=1&amp;" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p><img class="alignnone" src="http://farm5.static.flickr.com/4001/4249326833_c5fa06c4e7_o.jpg" alt="" width="800" /></p>
<p><img class="alignnone" src="http://farm3.static.flickr.com/2720/4249280159_e42bb73416_o.jpg" alt="" width="320" height="480" /><img class="alignnone" src="http://farm5.static.flickr.com/4066/4249279885_1162e7e542_o.png" alt="" width="320" height="480" /></p>
<p><img class="alignnone" src="http://farm5.static.flickr.com/4023/4249280193_6d9ac015e9_o.png" alt="" width="320" height="480" /><img class="alignnone" src="http://farm3.static.flickr.com/2421/4250054386_3d69148b3a_o.png" alt="" width="320" height="480" /></p>
<p><img class="alignnone" src="http://farm5.static.flickr.com/4033/4250054472_7aa3cd2894_o.jpg" alt="" width="320" height="480" /><img class="alignnone" src="http://farm5.static.flickr.com/4025/4249280053_1b470bbd6b_o.jpg" alt="" width="320" height="480" /></p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="780" height="640" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/BMaDvuf3m-Q&amp;hl=en_US&amp;fs=1&amp;" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="800" height="647" src="http://www.youtube.com/v/BMaDvuf3m-Q&amp;hl=en_US&amp;fs=1&amp;" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://roberthodgin.com/le-petit-dummy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Addition Subtraction</title>
		<link>http://roberthodgin.com/additionsubtraction/</link>
		<comments>http://roberthodgin.com/additionsubtraction/#comments</comments>
		<pubDate>Wed, 06 Jan 2010 00:55:52 +0000</pubDate>
		<dc:creator>Robert Hodgin</dc:creator>
		
		<guid isPermaLink="false">http://roberthodgin.com/?p=207</guid>
		<description><![CDATA[Motion painting using gravity, rotation, and several thousand drifting particles. Created in Cinder.]]></description>
			<content:encoded><![CDATA[<p>This flow field simulation was the result of an exercise geared to learn more about C++ vectors and lists. It involves 20,000 particles which react to external forces and can be reborn locally if they should happen to stray too far. Into this mess of particles, you can place either an attractive force (gravity) or a repulsive force (orbital). The attractive forces pull every particle towards it based on the laws of gravitation. The repulsive forces spin either clockwise or counterclockwise and any particles nearby would be thrown away from the center of the rotating force.</p>
<p><img class="alignnone" src="http://farm4.static.flickr.com/3433/3712471596_ff59d139da_b.jpg" alt="" width="800" /></p>
<p><img class="alignnone" src="http://farm3.static.flickr.com/2591/3711790671_20359222dd_b.jpg" alt="" width="800" /></p>
<p><img class="alignnone" src="http://farm3.static.flickr.com/2468/3715181654_326342c5a9_b.jpg" alt="" width="800" /></p>
<p><img class="alignnone" src="http://farm3.static.flickr.com/2543/3711637325_cfefc782a5_b.jpg" alt="" width="800" /></p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="800" height="450" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=5564490&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=01AAEA&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="800" height="450" src="http://vimeo.com/moogaloop.swf?clip_id=5564490&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=01AAEA&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://roberthodgin.com/additionsubtraction/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Earthquake!</title>
		<link>http://roberthodgin.com/earthquake/</link>
		<comments>http://roberthodgin.com/earthquake/#comments</comments>
		<pubDate>Thu, 12 Aug 2010 04:25:05 +0000</pubDate>
		<dc:creator>Robert Hodgin</dc:creator>
		
		<guid isPermaLink="false">http://roberthodgin.com/?p=638</guid>
		<description><![CDATA[Finding ways to visualize the occasionally angry Earth.
]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.flickr.com/photos/flight404/sets/72157620887986256/"><img class="alignnone" src="http://farm4.static.flickr.com/3590/3697284656_725d9d0a4f_o.png" alt="" width="800" /></a></p>
<p>Most of the work I have done in the last month has involved creating suggested sample applications in the spirit of learning the ropes. Andrew Bell has been giving me assignments. First up, create a globe and map earthquake data onto it.</p>
<p>I had done something similar a while back in Processing but my data was limited to California and Nevada. Now I would be working with 7 days worth of data from all around the world for any earthquakes with a magnitude of 2.5 or higher. It isn’t a huge amount but I would have to find ways to deal with the clusters that are associated with any earthquake data visualization.</p>
<p>Creating the actual globe was great fun. I was pointed towards <a href="http://visibleearth.nasa.gov/view_set.php?categoryID=2363">NASA’s Blue Marble project</a>. There you can download Earth textures at astronomical sizes. Some are available at 86400×43200 pixels. I grabbed a color map and a height map. Using NormalMappr, I created an additional normal map from the height map.</p>
<p>The one drawback of the NASA data is the river systems aren’t as prominent as I would have liked. I ended up adding in the rivers and smaller lakes using <a href="http://naturalearth.springercarto.com/ne3_data/8192/textures/2_no_clouds_8k.jpg">this image </a>as a source.</p>
<p><a href="http://www.flickr.com/photos/flight404/sets/72157620887986256/"><img class="alignnone" src="http://farm4.static.flickr.com/3559/3696557817_c369cfa00b_o.png" alt="" width="800" /></a></p>
<p>As I mentioned earlier, earthquakes come in clusters. The Dominican Republic had a few dozen 3.0M to 4.0M quakes in that week. If I just stuck pins exactly over the epicenter, all of the Dominican Republic pins would be reduced to a single blurry pin which would not give an accurate summary of the area.</p>
<p>I decided to go back to my old friend Magnetism. In order to keep the quakes grouped but individually distinct, I anchored the pin to the epicenter but allowed the other end to drift a short distance away. This distance would be determined by making each pin-head magnetic so that it pushes away its neighbors’ pin-heads.</p>
<p><iframe src="http://player.vimeo.com/video/5454686?portrait=0&amp;color=01AAEA" width="800" height="450" frameborder="0"></iframe>
<p><a href="http://vimeo.com/5454686">7 Days of Earthquakes</a> from <a href="http://vimeo.com/flight404">flight404</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://roberthodgin.com/earthquake/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Animus</title>
		<link>http://roberthodgin.com/animus/</link>
		<comments>http://roberthodgin.com/animus/#comments</comments>
		<pubDate>Wed, 06 Jan 2010 00:25:18 +0000</pubDate>
		<dc:creator>Robert Hodgin</dc:creator>
		
		<guid isPermaLink="false">http://roberthodgin.com/?p=200</guid>
		<description><![CDATA[Snakes driven by Perlin noise with magnetic repulsion used to simulate rigid body dynamics. Made with Processing.]]></description>
			<content:encoded><![CDATA[<p>I should have given this project a different name. It is called Animus because when I started writing this code, I was trying to simulate some of the effects of the Assassins Creed memory interface, called Animus. Somehow, I got distracted and ended up making a snake. One turned into two, two turned into fifty, and suddenly this project was an exercise in learning how to make solid bodies (like snakes) keep from intersecting each other while still maintaining a natural movement.</p>
<p>Magnetism to the rescue, yet again. I gave each node along the snakes body its own magnetic force. Each node repels other nodes. It now is possible for a snake to tie itself in a knot, but it generally will not self-intersect.</p>
<p><img class="alignnone" title="Snakes" src="http://farm4.static.flickr.com/3630/3387084710_1248746e3a_o.jpg" alt="" width="800" /></p>
<p><img class="alignnone" title="Snakes" src="http://farm4.static.flickr.com/3638/3386272131_bd2c9fe950_o.jpg" alt="" width="800" /></p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="800" height="450" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=3861357&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=01AAEA&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="800" height="450" src="http://vimeo.com/moogaloop.swf?clip_id=3861357&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=01AAEA&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="800" height="450" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=3948687&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=01AAEA&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="800" height="450" src="http://vimeo.com/moogaloop.swf?clip_id=3948687&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=01AAEA&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="800" height="450" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=4041277&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=01AAEA&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="800" height="450" src="http://vimeo.com/moogaloop.swf?clip_id=4041277&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=01AAEA&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>Eventually, I stuck a couple dozen snakes in the water, attached their heads to each other, added a sine-based undulation force, and voila! Reasonably ugly jellyfish. They may be ugly, but they are audio responsive.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="800" height="450" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=4161406&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=01AAEA&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="800" height="450" src="http://vimeo.com/moogaloop.swf?clip_id=4161406&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=01AAEA&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://roberthodgin.com/animus/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bloom</title>
		<link>http://roberthodgin.com/bloom/</link>
		<comments>http://roberthodgin.com/bloom/#comments</comments>
		<pubDate>Tue, 05 Jan 2010 23:28:08 +0000</pubDate>
		<dc:creator>Robert Hodgin</dc:creator>
		
		<guid isPermaLink="false">http://roberthodgin.com/?p=181</guid>
		<description><![CDATA[Flora created with node structures. Made with Processing.]]></description>
			<content:encoded><![CDATA[<p>The image below was my attempt to make a believable tree (without leaves).The basic process is to start with a node. Think of it as the seed for the tree. The seed is created with all the behavior characteristics for the entire tree. The seed creates child nodes which pass along the tree’s ‘genetic information’. This information consists of parameters like <em>lengthDelta</em>, <em>lengthDeltaDelta</em>, <em>radiusDelta</em>, <em>radiusDeltaDelta</em>, <em>maxChildren</em>, <em>color</em>, <em>maxGenerations</em>, etc. As a parent creates a child node, it sends this information but mutates it slightly.</p>
<p>The nodes arrange themselves in space using magnetic repulsion. Any node can repulse other nodes as long as they are of an equal or higher generation. The node at the base of the trunk repels everything whereas the nodes at the branch tips repel only each other. If you code in some decreasing branch lengths and radii as you go from generation to generation, you will create a nice space-filling tree with no branch overlaps. Sadly, these trees are complex enough to elude a reasonable frame-rate but perhaps with some limitations placed on the number of branches that can be created, and killing off the repulsion after the branches settle into place, they will be swaying in the Perlin noise breeze in no time.</p>
<p><a href="http://www.flickr.com/photos/flight404/sets/72157622554894065/"><img class="alignnone" title="Branching" src="http://farm4.static.flickr.com/3591/3597685596_7caaf6c422_b.jpg" alt="" width="800" /></a></p>
<p>I then tried to place some leaves or flowers on the trees and accidentally changed the perceived scale quite a bit. It no longer seemed like a majestic oak. It turned into a bush, and then eventually, much smaller flowering weeds.</p>
<p><a href="http://www.flickr.com/photos/flight404/sets/72157622554894065/"><img class="alignnone" title="Branching" src="http://farm4.static.flickr.com/3366/3599424267_706e483fb1_o.png" alt="" width="800" /></a></p>
<p><a href="http://www.flickr.com/photos/flight404/sets/72157622554894065/"><img class="alignnone" title="Branching" src="http://farm4.static.flickr.com/3591/3600235712_ba30f540a5_b.jpg" alt="" width="800" /></a></p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="800" height="450" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=5026135&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=01AAEA&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="800" height="450" src="http://vimeo.com/moogaloop.swf?clip_id=5026135&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=01AAEA&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://roberthodgin.com/bloom/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Relentless, The REV</title>
		<link>http://roberthodgin.com/relentless-the-rev/</link>
		<comments>http://roberthodgin.com/relentless-the-rev/#comments</comments>
		<pubDate>Wed, 25 Aug 2010 22:28:07 +0000</pubDate>
		<dc:creator>Robert Hodgin</dc:creator>
		
		<guid isPermaLink="false">http://roberthodgin.com/?p=645</guid>
		<description><![CDATA[Whirling tendrils of Baroque meets Cthulhu. For Relentless.]]></description>
			<content:encoded><![CDATA[<p>A few months ago, the Barbarian Group was approached by Erasmus to help with promotions for the <a href="http://www.relentlessenergy.com/">Relentless Energy Drink</a>. Relentless, available only in the UK, is a frequent sponsor of music festivals and sports competitions. They asked us to make an audio visualizer that would run in real-time so they could show it at these venues. In addition to the live application, they wanted a content creation version and an iTunes plugin version. The content creation version would allow them to create renders from recorded audio and the iTunes version would allow members of the Relentless Order to experience it on their own computers.</p>
<p>The project went through many different looks. The primary art direction we received was that the end result should be dark and should have some baroque sensibilities. We did our best to hit these goals and we are quite proud of the end result.</p>
<p><a href="http://www.flickr.com/photos/flight404/sets/72157622554886499/with/4252881861/"><img class="alignnone" src="http://farm5.static.flickr.com/4070/4253662250_823d52d227_o.jpg" alt="" width="800" /></a></p>
<p><strong>Learning Experience</strong><br />
For me, the most rewarding part of this job was that I learned a whole lot. Fellow Barbarian, <a href="http://www.drawnline.net">Andrew Bell</a>, showed me many interesting tricks, not to mention working his ass off to optimize this project so it would run at 30+ fps and also handling the port to C++ for the iTunes visualizer version.</p>
<p><a href="http://www.flickr.com/photos/flight404/sets/72157622554886499/with/4252881861/"><img class="alignnone" src="http://farm4.static.flickr.com/3191/2989264679_3840dbc576_b.jpg" alt="" width="800" /></a></p>
<p>The early versions had the primary tendrils rendered as flat strips that always orient themselves towards the camera so you never (well, almost never) see the strips from the side. This was my way of faking the viewer into believing they were seeing a solid mass. However, this method had its problems. It was impossible to texture map it in an interesting way, and occasionally, the strip would twist a full 360Â° which added unsightly kinks. Andrew suggested we move to actual tubes instead of strips and I thought he was nuts. The piece was already starting to drag down the framerate and he wanted to add <em>more</em> geometry?? Nuts, I tell ya!!</p>
<p>A couple days later, he showed me the new build. I was floored. Not only did he do what he promised, but he improved the frame-rate in the process AND he added support for shaders. Awesome!</p>
<p>BEFORE:<br />
<img class="alignnone" src="http://farm5.static.flickr.com/4050/4253670736_d0675043dd_o.jpg" alt="" width="800" height="450" /></p>
<p>AFTER:<br />
<img class="alignnone" src="http://farm5.static.flickr.com/4005/4252881875_268babf6d5_o.jpg" alt="" width="800" /></p>
<p>Suddenly, things got a lot more interesting&#8230; more lush. He ended up switching the tendril geometry over to VBOs (vertex buffer objects) which sped things up a great deal. He also pre-cached the texture coordinates because they didn&#8217;t actually change once the piece was up and running.</p>
<p><strong>The Birds</strong><br />
<img class="alignnone" src="http://farm5.static.flickr.com/4040/4253651198_0dc3f7ddba_o.jpg" alt="" width="800" /></p>
<p>The idea of flocking crows or ravens is very much in keeping with the Relentless aesthetic but there was some concern that we were simply repurposing a project we did with <a href="http://www.barbariangroup.com/portfolio/fox_movies_japan_horror">Nervo for Fox Movies</a>. We decided to do away with everything we did for Nervo and start from scratch. The original Nervo piece relied on using 160 flat images of a 3D bird in flight. For the Relentless version, we switched over to actual 3D birds (admittedly quite rudimentary). Each bird was made up of 12 polygons. The wings actually flapped and they could be viewed from any angle (whereas the Nervo version worked best when the birds were viewed side-on.</p>
<p><strong>The Background</strong><br />
<img src="http://www.flight404.com/blog/images/relentless_06.jpg" width="800" alt="Relentless" /></p>
<p>From the beginning we were instructed to do away with the notion of an infinite black or white space. The entire scene should be filled with content and this proved to be quite the challenge. Originally, we just dropped the whole scene inside a large textured sphere but the end result was lacking. Andrew came up with the idea of using a flat plane as the background but by using some FBO trickery, he was able to make these beautiful flourished textures bleed into view. I still have no idea how he pulled it off but the effect is quite stunning. Later he added a dynamic light source to make the scene feel even more dark and slightly disturbing.</p>
<p><strong>The (faked) Volumetric Lighting</strong><br />
<img class="alignnone" src="http://farm5.static.flickr.com/4026/4253662270_0dd2299f75_o.jpg" alt="" width="800" /></p>
<p>After we settled on the look, we wanted to make it seem like the invisible center of the mass of tendrils was a hidden light source. Earlier versions actually had the tendrils glowing near their base but the look of shadow and silhouette was more intriguing so we killed the glow and added faked volumetric lighting. The light beams themselves behave as if they were magnetic particles. Each one is born, lives for a predetermined amount of time, then fades out and dies. While they are alive, they repulse each other if they get too close. This created a really nice organic movement which made it seem like the movement of the tendrils actually caused the light beams to form or disappear. Combined with the background lighting, the effect became quite engaging.</p>
<p><strong>The Content Creation Tool</strong><br />
Erasmus wanted to be able to create renders from pre-recorded pieces of music so we tweaked the live version to accommodate the loading in of external audio as well as an XML file of adjustable variables. By modifying the XML file, they could run the application and customize their experience. Every graphic element could be toggled individually. So if you want a video with no background for compositing, or perhaps you want to leave the birds out, just tweak the XML and run the application. Additionally, since we were no longer confined to creating an experience that ran live in real-time, you could up the amount of objects as high as your memory will allow. This is how we made the following test render. The bird and particle count was turned up really high, as was the detail on the tendril geometry.</p>
<p>The following video is a test render from The REV content creation tool. <strong>Please note</strong> this is not an official Relentless video. This is simply a test render we did to make sure the audio responsiveness was as we liked it. The audio is by <a href="http://www.theflashbulb.net/">The Flashbulb</a> (&#8220;Six Months Without Light&#8221; off the album <em>Kirlian Selections</em>) but be aware that The Flashbulb has no affiliation with Relentless. The chosen audio was simply a test track. I chose The Flashbulb because he is my favorite artist to audio visualize and I love this track.</p>
<p><iframe src="http://player.vimeo.com/video/2120027?portrait=0&amp;color=01AAEA" width="800" height="450" frameborder="0"></iframe></p>
<p>Or you can view the much higher resolution Quicktime <a href="http://www.flight404.com/_videos/relentless/">here</a>. Note, it is around 300Mb.</p>
<p><strong>The REV iTunes Version</strong><br />
As I mentioned above, there is a free downloadable version for iTunes. You can find out more at the <a href="http://www.relentlessenergy.com/">Relentless Energy</a> site. Have at it!</p>
]]></content:encoded>
			<wfw:commentRss>http://roberthodgin.com/relentless-the-rev/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Magnetic Ink</title>
		<link>http://roberthodgin.com/magnetic-ink/</link>
		<comments>http://roberthodgin.com/magnetic-ink/#comments</comments>
		<pubDate>Mon, 04 Jan 2010 23:53:12 +0000</pubDate>
		<dc:creator>Robert Hodgin</dc:creator>
		
		<guid isPermaLink="false">http://roberthodgin.com/?p=52</guid>
		<description><![CDATA[Flocking birds used as a paintbrush. Made with Processing.]]></description>
			<content:encoded><![CDATA[<p>Magnetic Ink began as a tangent from the flocking studies I was working on at the time. The thinking was simple. What if the flocking birds rained down a fine mist of ink onto a sheet of virtual paper. At the same time, they have ribbons that hang from their feet and if they fly low enough, the ribbon will drag on the paper and erase the ink.</p>
<p>This is the process video&#8230;<br />
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="800" height="600" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=246785&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=01AAEA&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="800" height="600" src="http://vimeo.com/moogaloop.swf?clip_id=246785&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=01AAEA&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>&#8230;which created this image.<br />
<a href="http://www.flickr.com/photos/flight404/sets/72157622679296614/"><img class="alignnone" title="Magnetic Ink" src="http://farm2.static.flickr.com/1188/856972987_acb4106a8b_b.jpg" alt="" width="800" /></a></p>
<p>The second iteration involved recreating the Magnetosphere study and using those particles as the source of the ink.</p>
<p>Audio by The Flashbulb (&#8220;In an Instant&#8221; from the album &#8220;Red Extensions Of Me&#8221;)<br />
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="800" height="603" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=615344&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=01AAEA&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="800" height="603" src="http://vimeo.com/moogaloop.swf?clip_id=615344&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=01AAEA&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p><a href="http://www.flickr.com/photos/flight404/sets/72157622679296614/"><img class="alignnone" title="Magnetic Ink" src="http://farm3.static.flickr.com/2171/2186873984_e95358a036_b.jpg" alt="" width="800" /></a></p>
<p><a href="http://www.flickr.com/photos/flight404/sets/72157622679296614/"><img class="alignnone" title="Magnetic Ink" src="http://farm3.static.flickr.com/2083/2071933189_e5d39c7fe1_b.jpg" alt="" width="800" /></a></p>
<p><a href="http://www.flickr.com/photos/flight404/sets/72157622679296614/"><img class="alignnone" title="Magnetic Ink" src="http://farm3.static.flickr.com/2263/2186876396_748a061e3a_b.jpg" alt="" width="800" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://roberthodgin.com/magnetic-ink/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flocking, for Nervo</title>
		<link>http://roberthodgin.com/flocking-for-nervo/</link>
		<comments>http://roberthodgin.com/flocking-for-nervo/#comments</comments>
		<pubDate>Thu, 07 Jan 2010 10:17:42 +0000</pubDate>
		<dc:creator>Robert Hodgin</dc:creator>
		
		<guid isPermaLink="false">http://roberthodgin.com/?p=419</guid>
		<description><![CDATA[Flocking application created for Nervo and used in bumps for Fox Horror. Made with Processing.]]></description>
			<content:encoded><![CDATA[<p>More often than not, the pipeline for a project gets overshadowed by the end result. The process of getting from point A to B is often overlooked because point B is just sooo damn sexy. But it doesn’t have to be that way. No really, it doesn’t.</p>
<p>In the summer of 2007, Nando Costa approached Barbarian Group and asked if we would help out with a project his new motion graphics company <a href="http://nervo.tv">Nervo</a> was working on for Fox Movies Japan. He showed us the boards and instantly we knew we wanted to collaborate because his vision for this project was quite beautiful and surreal.</p>
<p>What he needed from us was videos of flocking behavior. He had seen the previous experiments I have done with perlin noise flocking and thought it would work well for this project. All he wanted was a couple videos of flocking using a 3D crow (or is it a raven) he would provide. Simple enough. But given the tight deadline, the thought of doing a render and posting it and waiting for approval or changes and then implementing the changes then rerendering and reposting, etc… That process didn’t make sense for this project so we decided to deliver them an application instead.</p>
<p><object width="800" height="600"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=8607834&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=01AAEA&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=8607834&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=01AAEA&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="800" height="600"></embed></object></p>
<p><object width="800" height="600"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=8607911&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=01AAEA&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=8607911&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=01AAEA&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="800" height="600"></embed></object></p>
<p>Using <a href="http://www.processing.org/">Processing</a>, we started playing around with the flocking behavior to make it more customizable. The original version of the flocking experiment had very few controls and they had to be hard-coded. There was no run-time adjustment. This was the first thing addressed. Several new parameters were added. They included population density, gravity, drag, collision avoidance, flight range, camera position and tracking, and a few toggles such as tethering strings, floor plane, and bezier curves. Once the parameters were tweaked to the user’s liking, they need only to hit the spacebar and an image sequence of PNGs would start saving to the harddrive.</p>
<p>Once he had the exported image sequence, it was pretty easy to put it into a post processing application and work his magic. See one of the final spots below. Or you can <a href="http://nervo.tv/index.html?sect=5&amp;proj=foxmovies">view them on the Nervo.tv website</a>. The birds where used in the top three spots.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="800" height="600" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=8607624&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=01AAEA&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="800" height="600" src="http://vimeo.com/moogaloop.swf?clip_id=8607624&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=01AAEA&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p><img class="alignnone" src="http://farm2.static.flickr.com/1146/1471401296_56edfbb2aa_o.jpg" alt="" width="800" /></p>
<p><img src="http://farm5.static.flickr.com/4067/4255072615_3bd9c1be41_o.jpg" alt="" width="800/" /></p>
]]></content:encoded>
			<wfw:commentRss>http://roberthodgin.com/flocking-for-nervo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Solar</title>
		<link>http://roberthodgin.com/solar/</link>
		<comments>http://roberthodgin.com/solar/#comments</comments>
		<pubDate>Mon, 04 Jan 2010 23:37:23 +0000</pubDate>
		<dc:creator>Robert Hodgin</dc:creator>
		
		<guid isPermaLink="false">http://roberthodgin.com/?p=49</guid>
		<description><![CDATA[Thousands of particles dance with magnetic forces to the music of <a href="http://goldfrapp.com/index.html">Goldfrapp</a>. Made with Processing.]]></description>
			<content:encoded><![CDATA[<p>Solar began as a realtime demo that I created for a talk I gave at UCLA in January 2008. The demo went on to become the second most popular audio visualization I have created. The video below, using <a href="http://goldfrapp.com/index.html">Goldfrapp</a>&#8217;s &#8220;Lovely Head&#8221;, has been viewed over 220,000 times since I posted it on February 2, 2008. It is the project I get the most requests to recreate (for client work or print pieces) and has been featured on <a href="http://www.visualcomplexity.com/vc/project_details.cfm?id=597&amp;index=47&amp;domain=Art">Visual Complexity</a> and the cover of <a href="http://www.eyemagazine.com/home.php">Eye Magazine</a>.</p>
<p><img src="http://farm5.static.flickr.com/4026/4247502776_5510ed7000_o.jpg" alt="" width="800" /></p>
<p><img src="http://farm3.static.flickr.com/2321/2236438732_f14ff42746_o.jpg" alt="" width="800" /></p>
<p>The focus of the talk for UCLA was to show how small steps can combine to form something engaging. I start by showing a single particle, then two particles, then many particles, then add an emitter which can create particles but can also morph into an attractor which pulls particles. Then you add a magnetic repulsive force, then an orbital force, then a gravitational force. Add a few visual tweaks and you can end up with something like this.</p>
<p><img src="http://farm3.static.flickr.com/2075/2216182484_ea7deeeeb4_o.jpg" alt="" width="800" /></p>
<p>I liked the look quite a bit so after I finished the UCLA presentation, I came home and began to make it an audio visualizer. This was a pretty easy step. I just have each particle listen to specific frequencies of incoming audio. The amplitude of the frequency effects the mass and charge of the particle so as the audio gets louder, the particle gets larger and more pushy.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="800" height="450" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=658158&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=01AAEA&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="800" height="450" src="http://vimeo.com/moogaloop.swf?clip_id=658158&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=01AAEA&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p><img src="http://farm4.static.flickr.com/3490/3268237327_59e3b68ded_b.jpg" alt="" width="800" /></p>
<p><img src="http://farm4.static.flickr.com/3499/3269063232_d7ef7bd46e_b.jpg" alt="" width="800" /></p>
]]></content:encoded>
			<wfw:commentRss>http://roberthodgin.com/solar/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>City on Fire</title>
		<link>http://roberthodgin.com/city-on-fire/</link>
		<comments>http://roberthodgin.com/city-on-fire/#comments</comments>
		<pubDate>Mon, 04 Jan 2010 23:20:36 +0000</pubDate>
		<dc:creator>Robert Hodgin</dc:creator>
		
		<guid isPermaLink="false">http://roberthodgin.com/?p=46</guid>
		<description><![CDATA[Destroying the city of San Francisco with Augmented Reality meteorites. Made with Processing.]]></description>
			<content:encoded><![CDATA[<p>This project began when The Barbarian Group had an office on Union Street in San Francisco. It was a small office but it had a view of the Golden Gate bridge and most of the Marina District.</p>
<p>Aubrey, the Barbarian&#8217;s ex-CTO, and I thought it would be funny to set a webcam up on the roof to try and make the East Coast offices jealous of our view. We put the camera on the roof and ran the firewire cable down in through my office window. The camera was weather-proofed with a 2-liter soda bottle and was weighed down by a  cast-iron skillet.</p>
<p>We decided to use Processing to intercept the webcam feed so that we could add content to each image before letting it go live. I took a still image from the webcam and cut it into several layers in Photoshop in order to create depth masks. I could then apply those masks to the live feed and composite graphics between the layers to give a greater sense of realism and depth. We could have added anything at that point. UFOs, giant kittens, Cher. We ended up going with explosions, smoke plumes, and a Godzilla walking back and forth, breathing fire.</p>
<p>Sadly, there is no documentation of this because we got sidetracked. Then we moved to a larger office and lost the awesome view. However, I ended up recreating the project at home using a camera on the roof of my apartment, sans Godzilla.</p>
<p><img title="City on Fire" src="http://farm3.static.flickr.com/2710/4246292012_8a256f2be8_o.jpg" alt="" width="800" /></p>
<p><img title="City on Fire" src="http://farm5.static.flickr.com/4005/4255148045_7c3dcbb266_o.jpg" alt="" width="800" /></p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="800" height="600" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=3630121&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=01AAEA&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="800" height="600" src="http://vimeo.com/moogaloop.swf?clip_id=3630121&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=01AAEA&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://roberthodgin.com/city-on-fire/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Griffin Powermate Grid</title>
		<link>http://roberthodgin.com/griffin-powermate-grid/</link>
		<comments>http://roberthodgin.com/griffin-powermate-grid/#comments</comments>
		<pubDate>Mon, 04 Jan 2010 23:14:12 +0000</pubDate>
		<dc:creator>Robert Hodgin</dc:creator>
		
		<guid isPermaLink="false">http://roberthodgin.com/?p=43</guid>
		<description><![CDATA[64 Griffin Powermates turned into an audio visualizer. Made with Processing and dozens of feet of USB extension cable.]]></description>
			<content:encoded><![CDATA[<p>This project began when <a href="http://www.barbariangroup.com">The Barbarian Group</a> did some work for trade with <a href="http://www.griffintechnology.com/">Griffin Technologies</a>. In exchange for some Barbarian made banners, Griffin sent back product. I asked for 100 <a href="http://www.griffintechnology.com/products/powermate/">Powermates</a> and within a couple weeks, they arrived. Aaron Hatcher, one of our interns at the time, was given the task of finding a way to get Processing and the USB controlled powermates to talk to each other. After a great deal of head scratching, he found a way to allow Processing to receive input commands from the powermate knob, and also to send a number from 0 to 255 to the powermate to control the brightness of the internal LED which gives the powermate its characteristic glow.</p>
<p>An 8&#215;8 grid of powermates was hooked up to a single Mac G5 tower through a daisy-chain of 21 four-port USB hubs and 6 power strips.  I now had a low-res (8 pixels by 8 pixels), low-color (256 shades of blue) monitor whose individual pixels were an input device for itself.  Now what.</p>
<p><img class="alignnone" title="Griffin Powermate grid" src="http://farm3.static.flickr.com/2687/4246278200_4fecc5b42b_o.jpg" alt="" width="800" /></p>
<p><object width="800" height="600"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=136135&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=01AAEA&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=136135&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=01AAEA&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="800" height="600"></embed></object></p>
<p><img class="alignnone" title="Griffin Powermate grid" src="http://farm5.static.flickr.com/4044/4260720794_9bce207497_o.jpg" alt="" width="800" /></p>
<p>The first project made with the new Powermate grid was a noisy mess. Each powermate can be turned left or right and I used this input information to not only control the brightness, but also to control the frequency of a sine wave tone associated with that particular powermate. What you are left with is 64 overlapping sine wave tones which, combined with a nice set of speakers with a good subwoofer, can create a fairly intense wall of noise. Can range from incredibly annoying to incredibly soothing. Later versions included a series of scales which would allow the sound to take on particular flavors, such as American Jazz or Middle-Eastern.  And with some assistance, a beat generator was added to give the sine wave tones a bit of rhythm.</p>
<p><object width="800" height="600"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=136138&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=01AAEA&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=136138&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=01AAEA&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="800" height="600"></embed></object></p>
<p>Later, I was sitting around, staring at these devices, and wondering what I should make next. I picked one up and was turning the knob absent-mindedly, and it brought back memories of playing pong with paddles as a child. I made a game of pong. Not a particularly good one. Because of the low resolution of the display, even if you leave your paddle stationary, you still have nearly a 50% chance of returning the shot.</p>
<p><object width="800" height="600"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=8643398&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=01AAEA&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=8643398&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=01AAEA&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="800" height="600"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://roberthodgin.com/griffin-powermate-grid/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Magnetoquilt</title>
		<link>http://roberthodgin.com/magnetoquilt/</link>
		<comments>http://roberthodgin.com/magnetoquilt/#comments</comments>
		<pubDate>Wed, 06 Jan 2010 22:27:32 +0000</pubDate>
		<dc:creator>Robert Hodgin</dc:creator>
		
		<guid isPermaLink="false">http://roberthodgin.com/?p=331</guid>
		<description><![CDATA[The worlds of quilting and computational art collide. Designed with Processing, made by mom.]]></description>
			<content:encoded><![CDATA[<p>Collaboration is an amazing thing. We can&#8217;t all be good at everything. Take quilting, for example. I have never quilted, but my mother has. She has been at it for decades. So when she expressed an interest in making a quilt based on an early Magnetosphere image she saw on Flickr, I told her to go for it.</p>
<p><img alt="" src="http://farm3.static.flickr.com/2724/4261341424_df532e77d5_o.jpg" class="alignnone" width="800" /></p>
<p><img alt="" src="http://farm1.static.flickr.com/223/480995934_a9337761f2_o.jpg" class="alignnone" width="800" /></p>
<p><img alt="" src="http://farm1.static.flickr.com/172/415227928_41c74d9ce9_o.jpg" class="alignnone" width="800" /></p>
<p>Here is the original image.</p>
<p><img alt="" src="http://farm5.static.flickr.com/4052/4260587481_c5961663e2_o.gif" class="alignnone" width="800" /></p>
]]></content:encoded>
			<wfw:commentRss>http://roberthodgin.com/magnetoquilt/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Magnetosphere iTunes Visualizer</title>
		<link>http://roberthodgin.com/magnetosphere-itunes-visualizer/</link>
		<comments>http://roberthodgin.com/magnetosphere-itunes-visualizer/#comments</comments>
		<pubDate>Wed, 06 Jan 2010 22:16:58 +0000</pubDate>
		<dc:creator>Robert Hodgin</dc:creator>
		
		<guid isPermaLink="false">http://roberthodgin.com/?p=322</guid>
		<description><![CDATA[Magnetosphere grows up, becomes an iTunes Visualizer. Made with Processing, ported to C++. Collaboration with <a href="http://www.drawnline.net">Andrew Bell</a>.]]></description>
			<content:encoded><![CDATA[<p>After a couple years of working with the code for magnetosphere, the project started to show a little refinement. I was getting better at controlling the movement and anticipating the behavior but it still occasionally surprises me.</p>
<p>I set up an overnight render for a song by Trentemoller. When I awoke the next morning and viewed it for the first time, I was stunned. I watched it a couple more times and sent the link to Andrew Bell. His response, &#8220;Yeah, that&#8217;ll do well&#8221;.</p>
<p>The thing that is most interesting to me about the video is that it was <em>nearly</em> entire created with code. I say <em>nearly </em>because I use a couple premade particle images but every other aspect (aside from the music, of course) was made possible with code. And randomness. If I were to recompile the code over and over, the resulting videos would all be unique.</p>
<p>Here is the first video I made for a song by <a href="http://www.s-e-n.ws/cms/index.php?cccpage=pokerflat_releases_detail&amp;set_pokerflat_releases=129">Trentemøller</a>&#8217;s Miss You. Its 92MB so be patient.</p>
<p><embed autoplay="false" width="720" height="475" target="myself" src="http://s3.amazonaws.com/flight404/trentemollerLarge.mov" pluginspage="http://www.apple.com/quicktime/download/indext.html"></embed></p>
<p>Due to the success of this project, <a href="http://www.barbariangroup.com">The Barbarian Group</a> decided to turn Magnetosphere into an iTunes visualizer. <a href="http://www.drawnline.net">Andrew Bell</a>, the most patient person I know, had the horrible task of porting my bandaided Processing code into proper man-style C++ while remaining faithful to the original look. He did a splendid job and the Magnetosphere iTunes visualizer did quite well. It eventually went on to <a href="http://www.apple.com/itunes/what-is/">greater things</a>.</p>
<p>Below are three prints I created for the OFFF 2007 Conference in Barcelona where I gave a talk about my creative process.</p>
<p><img class="alignnone" src="http://farm5.static.flickr.com/4050/4251634919_2574e4e5f9_b.jpg" alt="" width="800" /></p>
<p><img class="alignnone" src="http://farm5.static.flickr.com/4017/4252405896_072c349fb4_b.jpg" alt="" width="800" /></p>
<p><img class="alignnone" src="http://farm3.static.flickr.com/2756/4252411520_7d09a0686d_b.jpg" alt="" width="800" /></p>
<p>Several months after the initial Magnetosphere video, I revisited the Trentemøller piece. It has become my favorite audio visualization to date. It just works so well! No small thanks to the beauty of the song itself. <em>Miss You</em> is a classic for me because it is both <a href="http://en.wikipedia.org/wiki/Fast_Fourier_transform">FFT</a> friendly (Fast Fourier Transform, the method by which I am analyzing the audio) and extremely soothing to listen to. I will forever associate this song with discovery.</p>
<p><embed autoplay="false" width="800" height="620" target="myself" src="http://s3.amazonaws.com/flight404/trentemollerNew_03.mov" pluginspage="http://www.apple.com/quicktime/download/indext.html"></embed></p>
]]></content:encoded>
			<wfw:commentRss>http://roberthodgin.com/magnetosphere-itunes-visualizer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://s3.amazonaws.com/flight404/trentemollerLarge.mov" length="96537464" type="video/quicktime" />
<enclosure url="http://s3.amazonaws.com/flight404/trentemollerNew_03.mov" length="174533537" type="video/quicktime" />
		</item>
		<item>
		<title>Turbulence</title>
		<link>http://roberthodgin.com/turbulence/</link>
		<comments>http://roberthodgin.com/turbulence/#comments</comments>
		<pubDate>Fri, 08 Jan 2010 06:04:50 +0000</pubDate>
		<dc:creator>Robert Hodgin</dc:creator>
		
		<guid isPermaLink="false">http://roberthodgin.com/?p=465</guid>
		<description><![CDATA[Simulation of turbulence in an audio-responsive environment. Made with Processing.]]></description>
			<content:encoded><![CDATA[<p>This is another offshoot from the Magnetosphere project. Here, I am locking the particle positions onto the surface of a sphere. They are still free to move about and push on each other, but none can leave the surface of that sphere.</p>
<p>I found pretty quickly that the particles, even when being dynamically modified with audio, really just want to find their place and stay put. There isn&#8217;t much activity. I remedied this problem by adding a rotation velocity.</p>
<p><img class="alignnone" src="http://farm3.static.flickr.com/2800/4256155722_40c70c811b_b.jpg" alt="" width="800" /></p>
<p>Audio by Ganga (Autumn).<br />
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="800" height="800" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=303720&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=01AAEA&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="800" height="800" src="http://vimeo.com/moogaloop.swf?clip_id=303720&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=01AAEA&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>Audio by Goldfrapp (Deer Stop).<br />
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="800" height="800" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=304586&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=01AAEA&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="800" height="800" src="http://vimeo.com/moogaloop.swf?clip_id=304586&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=01AAEA&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>And finally, Turbulence with flares. I saved this one for last because it was the most successful of the video renders. Audio by Thievery Corporation (Le Monde).<br />
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="800" height="800" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=305947&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=01AAEA&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="800" height="800" src="http://vimeo.com/moogaloop.swf?clip_id=305947&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=01AAEA&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://roberthodgin.com/turbulence/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Magnetosphere, part 3</title>
		<link>http://roberthodgin.com/magnetosphere-part-3/</link>
		<comments>http://roberthodgin.com/magnetosphere-part-3/#comments</comments>
		<pubDate>Wed, 06 Jan 2010 23:04:26 +0000</pubDate>
		<dc:creator>Robert Hodgin</dc:creator>
		
		<guid isPermaLink="false">http://roberthodgin.com/?p=344</guid>
		<description><![CDATA[Combining additive and subtractive blending. Made with Processing.]]></description>
			<content:encoded><![CDATA[<p>I eventually got tired of additive blending. The next step was to get a handle on how to control object depth and introduce some occlusion. This next image shows my first attempts at using depth testing and depth masking to put some solid objects in the scene. Technically, it is a failure. I have no idea what I am doing and my process essentially involved adding a line of code then removing it and adding another. Over and over until I got something with some promise.</p>
<p><a href="http://www.flickr.com/photos/flight404/sets/72157622554879333/"><img class="alignnone" title="Early Magnetosphere" src="http://farm1.static.flickr.com/176/443162524_0e240196f1_b.jpg" alt="" width="800" /></a></p>
<p>Over the next few months, I continued to refine this code. I created a couple dozen renders of varying success. The following videos are some more successful from the bunch.</p>
<p>Audio by Ganga (Autumn).<br />
<object width="800" height="600"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=8644935&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=01AAEA&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=8644935&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=01AAEA&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="800" height="600"></embed></object></p>
<p>My apologies, I do not remember who created this audio. I will credit it properly as soon as it comes to me.<br />
<object width="800" height="600"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=8645345&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=01AAEA&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=8645345&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=01AAEA&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="800" height="600"></embed></object></p>
<p>Audio by Royksopp (&#8220;In Space&#8221; off Melody A.M.)<br />
<object width="800" height="500"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=149736&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=01AAEA&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=149736&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=01AAEA&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="800" height="500"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://roberthodgin.com/magnetosphere-part-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Magnetosphere, part 2</title>
		<link>http://roberthodgin.com/magnetosphere-part-2/</link>
		<comments>http://roberthodgin.com/magnetosphere-part-2/#comments</comments>
		<pubDate>Wed, 06 Jan 2010 22:50:21 +0000</pubDate>
		<dc:creator>Robert Hodgin</dc:creator>
		
		<guid isPermaLink="false">http://roberthodgin.com/?p=340</guid>
		<description><![CDATA[Magnetosphere meets blending effects. Made with Processing.]]></description>
			<content:encoded><![CDATA[<p>Here is where things start to get interesting. <a href="http://www.devmaster.net/wiki/Additive_blending">Additive Blending</a> entered my life. Simply put, additive blending makes things seem to glow. Instead of blocking pixels that lie behind an image, it brightens them. This gives you a glowy look that I will be the first to admit I overused and abused.</p>
<p><a href="http://www.flickr.com/photos/flight404/sets/72157622554879333/"><img class="alignnone" title="Early Magnetosphere" src="http://farm1.static.flickr.com/130/404438903_ba28e7eebf_b.jpg" alt="" width="800" /></a></p>
<p>I definitely got carried away with the additive blending. It took a while for me to understand that moderation is useful when applying new effects. But for now, make it glow! Like the stars in the heavens above! Everything should glow!</p>
<p>The other reason I relied so heavily on additive blending is that it works as an easy way to get around the depth-sorting issue which plagues semi-transparent image rendering. In OpenGL, if you want to draw a bunch of transparent PNGs, you need to draw them from back to front. When you have a dynamic camera system and a bunch of objects, it can be tricky or time consuming figuring out which objects are behind and which are in front. If you use additive blending, you don&#8217;t need to worry about depth sorting.</p>
<p><a href="http://www.flickr.com/photos/flight404/sets/72157622554879333/"><img class="alignnone" title="Early Magnetosphere" src="http://farm1.static.flickr.com/141/404438963_ad076c95ab_b.jpg" alt="" width="800" /></a></p>
<p><a href="http://www.flickr.com/photos/flight404/sets/72157622554879333/"><img class="alignnone" title="Early Magnetosphere" src="http://farm1.static.flickr.com/175/413115712_ceab8cffa5_b.jpg" alt="" width="800" /></a></p>
<p><a href="http://www.flickr.com/photos/flight404/sets/72157622554879333/"><img class="alignnone" title="Early Magnetosphere" src="http://farm1.static.flickr.com/185/404439061_16ccafa1a0_b.jpg" alt="" width="800" /></a></p>
<p><a href="http://www.flickr.com/photos/flight404/sets/72157622554879333/"><img class="alignnone" title="Early Magnetosphere" src="http://farm1.static.flickr.com/145/415364823_0300c2c9cf_b.jpg" alt="" width="800" /></a></p>
<p>Audio by Helios (Sons of Light and Darkness). Note, this piece builds really slow so don&#8217;t be put off by the very very dark intro.<br />
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="800" height="500" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=150662&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=01AAEA&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="800" height="500" src="http://vimeo.com/moogaloop.swf?clip_id=150662&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=01AAEA&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://roberthodgin.com/magnetosphere-part-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Magnetosphere, part 1</title>
		<link>http://roberthodgin.com/magnetosphere/</link>
		<comments>http://roberthodgin.com/magnetosphere/#comments</comments>
		<pubDate>Mon, 04 Jan 2010 22:52:36 +0000</pubDate>
		<dc:creator>Robert Hodgin</dc:creator>
		
		<guid isPermaLink="false">http://roberthodgin.com/?p=37</guid>
		<description><![CDATA[This is where it all began. Made with Processing.]]></description>
			<content:encoded><![CDATA[<p>Such simple beginnings for a project that has kept me fascinated for 4+ years. It all starts with magnetism. I wanted to learn how to code a magnetic force. I didn&#8217;t know what I wanted to do with it aside from push objects apart or pull objects together.</p>
<p>The thinking was that I could charge a bunch of particles and let them dance about in a scene. Some would be small and fast, others would be massive and slow. They could play off each other, dance with each other, and ultimately create an endless display of randomness.</p>
<p>The magic spark occurred when I decided that the small particles should have a variable charge. I tried random numbers, sine wave curves, even Perlin noise. None of those felt quite right. Then I tried audio analysis.</p>
<p>Each particle&#8217;s charge would be dependent on the amplitude of a frequency to which it was assigned. Spark!</p>
<p>Below are some images from the early days of Magnetosphere. At this point, my understanding of OpenGL was extremely limited. I knew how to draw points and lines and not much else. So these early iterations have a simple aesthetic.</p>
<p><a href="http://www.flickr.com/photos/flight404/sets/72157622554879333/"><img class="alignnone" title="Early Magnetosphere" src="http://farm1.static.flickr.com/139/380985785_f1bfa3acf5_o.jpg" alt="" width="800" /></a></p>
<p><a href="http://www.flickr.com/photos/flight404/sets/72157622554879333/"><img class="alignnone" title="Early Magnetosphere" src="http://farm1.static.flickr.com/52/158950767_c60820157d_b.jpg" alt="" width="800" /></a></p>
<p><a href="http://www.flickr.com/photos/flight404/sets/72157622554879333/"><img class="alignnone" title="Early Magnetosphere" src="http://farm1.static.flickr.com/52/158950919_8357e0b4eb_b.jpg" alt="" width="800" /></a></p>
<p><a href="http://www.flickr.com/photos/flight404/sets/72157622554879333/"><img class="alignnone" title="Early Magnetosphere" src="http://farm1.static.flickr.com/156/395055004_7bf5eb90a8_b.jpg" alt="" width="800" /></a></p>
<p><a href="http://www.flickr.com/photos/flight404/sets/72157622554879333/"><img class="alignnone" title="Early Magnetosphere" src="http://farm1.static.flickr.com/186/395055055_e201cb0413_b.jpg" alt="" width="800" /></a></p>
<p><a href="http://www.flickr.com/photos/flight404/sets/72157622554879333/"><img class="alignnone" title="Early Magnetosphere" src="http://farm1.static.flickr.com/176/383511006_26a2bacde0_b.jpg" alt="" width="800" /></a></p>
<p>Here are a couple fairly low-res videos of Magnetosphere being projected in my living room. I am filming the projection so you can better see how it performs in realtime. The beat detection effects are done programmatically so I apologize in advance for the hyperactivity.</p>
<p>Audio by <a href="http://cornelius-sound.com/">Cornelius</a> (Tone Twilight Zone).<br />
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="800" height="600" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=143057&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=01AAEA&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="800" height="600" src="http://vimeo.com/moogaloop.swf?clip_id=143057&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=01AAEA&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>Audio by Deee-Lite (Groove is in the Heart).<br />
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="800" height="600" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=142988&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=01AAEA&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="800" height="600" src="http://vimeo.com/moogaloop.swf?clip_id=142988&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=01AAEA&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://roberthodgin.com/magnetosphere/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Grass</title>
		<link>http://roberthodgin.com/grass/</link>
		<comments>http://roberthodgin.com/grass/#comments</comments>
		<pubDate>Mon, 04 Jan 2010 20:49:50 +0000</pubDate>
		<dc:creator>Robert Hodgin</dc:creator>
		
		<guid isPermaLink="false">http://roberthodgin.com/?p=19</guid>
		<description><![CDATA[Interactive projection wall created for the 2006 Wired Nextfest. Made with Processing.]]></description>
			<content:encoded><![CDATA[<p>A project by The Barbarian Group with Goodby Silverstein and Partners, and Obscura Digital. The goal was to create a 45&#8242; long interactive projection as a backdrop for Saturn to showcase their newest eco-friendly cars at Wired Magazine&#8217;s NextFest 2006 Convention in New York City.</p>
<p>Visit <a href="http://portfolio.barbariangroup.com/nextfest/index.html">The Barbarian Group NextFest portfolio page</a> to learn more about the process behind this project.</p>
<p><a href="http://www.flickr.com/photos/flight404/sets/72157594303347041/"><img class="alignnone" title="NextFest Grass" src="http://farm3.static.flickr.com/2721/4247434912_532bcde342_b.jpg" alt="" width="800" /></a></p>
<p><img class="alignnone" title="NextFest Grass" src="http://portfolio.barbariangroup.com/nextfest/images/gallery_24.jpg" alt="" width="800" /></p>
<p><a href="http://www.flickr.com/photos/flight404/sets/72157594303347041/"><img class="alignnone" title="NextFest Grass" src="http://farm1.static.flickr.com/92/254905586_e97e6d098e_b.jpg" alt="" width="800" /></a></p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="800" height="600" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=8543677&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=01AAEA&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="800" height="600" src="http://vimeo.com/moogaloop.swf?clip_id=8543677&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=01AAEA&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://roberthodgin.com/grass/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flight Risk</title>
		<link>http://roberthodgin.com/flight-risk/</link>
		<comments>http://roberthodgin.com/flight-risk/#comments</comments>
		<pubDate>Sun, 10 Jan 2010 06:30:57 +0000</pubDate>
		<dc:creator>Robert Hodgin</dc:creator>
		
		<guid isPermaLink="false">http://roberthodgin.com/?p=536</guid>
		<description><![CDATA[8-bit influenced music video for Bit Shifter. Made with Processing.]]></description>
			<content:encoded><![CDATA[<p>“Feedback” is the result of experimentation with beat detection, dynamic threshold levels, and 3D video feedback loops. The audio track (“Flight Risk”) was created by Bit Shifter, using a Nintendo Game Boy and Nanoloop v 1.1. Everything else was created with Processing (processing.org). A feedback loop is created by mapping the contents of the screen onto a three dimensional space. The beat triggers control the position and rotation of the camera as well as the field of view and style of feedback.</p>
<p>Audio by Bit Shifter (&#8220;Flight Risk&#8221;). Mastered by Chris Burke at Bong &amp; Dern.<br />
Originally released on Various Artists: Sonic Acts XI • The Anthology Of Computer Art DVD, 2005.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="800" height="603" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=2148419&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=01AAEA&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="800" height="603" src="http://vimeo.com/moogaloop.swf?clip_id=2148419&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=01AAEA&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>I came up with the concept of the video when I started playing around with feedback loops in Processing. First I would construct a large box that the whole scene exists inside of. Inside that box, I would place some objects. Finally, I take an image of the entire scene and use it as a texture map for the sides of the big box. I would repeat this process every frame and depending on the rotation of the box and the size of the objects, you can get some really nice glimpses of infinity. Below are a couple sample images I created for a presentation I gave at OFFF in Barcelona.</p>
<p><img class="alignnone" src="http://farm1.static.flickr.com/21/99090359_0870da66a6_o.jpg" alt="" width="800" /></p>
<p><img class="alignnone" src="http://farm1.static.flickr.com/26/99090181_d7e2d784d0_o.jpg" alt="" width="800" /></p>
]]></content:encoded>
			<wfw:commentRss>http://roberthodgin.com/flight-risk/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
