<?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>V // Pixelnerve &#187; News</title>
	<atom:link href="http://www.pixelnerve.com/v/category/uncategorized/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.pixelnerve.com/v</link>
	<description></description>
	<lastBuildDate>Fri, 10 Sep 2010 14:09:38 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Bottom Bar</title>
		<link>http://www.pixelnerve.com/v/2010/07/19/bottom-bar/</link>
		<comments>http://www.pixelnerve.com/v/2010/07/19/bottom-bar/#comments</comments>
		<pubDate>Sun, 18 Jul 2010 23:39:59 +0000</pubDate>
		<dc:creator>victormartins</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://www.pixelnerve.com/v/?p=1175</guid>
		<description><![CDATA[Hello, is anyone out there?&#8230; I haven’t posted anything for quite sometime now. Hopefully all that will change as i get more free time to organize and work on my projects. Meanwhile, i would like you to know about something else.. Look down, you should be looking at a bar, a dark bar with a [...]]]></description>
			<content:encoded><![CDATA[<div>
<p>Hello, is anyone out there?&#8230; I haven’t posted  anything for quite sometime now. Hopefully all that will change as i get  more free time to organize and work on my projects. Meanwhile, i would like you to know about something else..</p>
<p>Look down, you should be looking at a bar, a dark bar with a few buttons on the right side.  I&#8217;ve been thinking about this for sometime but as my webdev skills/will are at the same level (low) i was looking to some ready-to-use code. I did. You can find it here and at my <a href="../../portfolio">portfolio</a>, my two windows to the world. Thanks to <a title="thecreatorsproject.com" href="http://digitalflesh.thecreatorsproject.com" target="_blank">this guys here</a> (for the ugly code rip) and <a title="ps" href="http://www.tpolm.org/~ps/" target="_blank">Filipe &#8216;ps&#8217; Cruz</a> for help with css.</p>
</div>
<script type="text/javascript">
var flattr_wp_ver = '0.9.11';
var flattr_uid = 'pixelnerve';
var flattr_url = 'http://www.pixelnerve.com/v';
var flattr_lng = 'en_GB';
var flattr_cat = 'video';
var flattr_tag = 'blog,wordpress,rss,feed';
var flattr_btn = 'large';
var flattr_tle = 'V // Pixelnerve';
var flattr_dsc = '';
</script>
<script src="http://api.flattr.com/button/load.js?v=0.2" type="text/javascript"></script>]]></content:encoded>
			<wfw:commentRss>http://www.pixelnerve.com/v/2010/07/19/bottom-bar/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Evaluate a Cubic Bézier on GPU</title>
		<link>http://www.pixelnerve.com/v/2010/05/11/evaluate-a-cubic-bezier-on-gpu/</link>
		<comments>http://www.pixelnerve.com/v/2010/05/11/evaluate-a-cubic-bezier-on-gpu/#comments</comments>
		<pubDate>Tue, 11 May 2010 02:48:41 +0000</pubDate>
		<dc:creator>victormartins</dc:creator>
				<category><![CDATA[Graphics programming]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Processing]]></category>
		<category><![CDATA[Source Code]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[bezier]]></category>
		<category><![CDATA[geometry shader]]></category>
		<category><![CDATA[gpu]]></category>
		<category><![CDATA[shader]]></category>
		<category><![CDATA[tesselation]]></category>

		<guid isPermaLink="false">http://www.pixelnerve.com/v/?p=1108</guid>
		<description><![CDATA[I&#8217;ve made an application as an example for this thread on how to compute/evaluate a Cubic Bézier Curve using a Geometry Shader. The formula is pretty straightforward as described by this wikipedia article (look for Cubic Bézier Curve). I will not go over the bézier math or theory. I assume you have some knowledge in [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">I&#8217;ve made an application as an example for this <a href="http://processing.org/discourse/yabb2/YaBB.pl?num=1273399193/5#5" target="_blank">thread</a> on how to compute/evaluate a Cubic Bézier Curve using a Geometry Shader. The formula is pretty straightforward as described by this <a href="http://en.wikipedia.org/wiki/B%C3%A9zier_curve" target="_blank">wikipedia article</a> (look for Cubic Bézier Curve). I will not go over the bézier math or theory. I assume you have some knowledge in shader programming (GLSL is the case) and some math background would help, while not really a need. All that said, let&#8217;s get to work.</p>
<p style="text-align: justify;">On this case we will need 4 points: 2 anchor points (the line end points) and 2 control points. The control points won&#8217;t really touch the curve, they work more as directional information on the curve itself.</p>
<p style="text-align: justify;">As we need to send this data to the shader i have decided to use  LINES as input primitive, 2 points define a line so it&#8217;s perfect, we&#8217;ll use that for the 2 anchor points. As for the control points 2 different texture units (glMultiTexCoord3f) attached to the line&#8217;s vertex data will do. Using geometry shaders besides setting the input primitive type we also need to set the output type. LINE_STRIP is fine, as it works perfectly for what we&#8217;re doing. That&#8217;s all on the application side.</p>
<p style="text-align: justify;">On the vertex shader side it&#8217;s pretty simple:</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;"><span style="color: #009900;">&#91;</span>VERTEX SHADER<span style="color: #009900;">&#93;</span>
<span style="color: #000066; font-weight: bold;">void</span> main<span style="color: #009900;">&#40;</span> <span style="color: #000066; font-weight: bold;">void</span> <span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
    gl_FrontColor <span style="color: #339933;">=</span> gl_Color<span style="color: #339933;">;</span>
    ControlPoint1 <span style="color: #339933;">=</span> gl_MultiTexCoord0.<span style="color: #006633;">xyz</span><span style="color: #339933;">;</span>
    ControlPoint2 <span style="color: #339933;">=</span> gl_MultiTexCoord1.<span style="color: #006633;">xyz</span><span style="color: #339933;">;</span>
&nbsp;
    gl_Position <span style="color: #339933;">=</span> gl_Vertex<span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p style="text-align: justify;">What the code is doing is sending the data further down the pipeline to the geometry shader, where all the magic happens. At this stage, having both Anchor and Control points we can now define the curve by a given detail. Think of detail as a number of step-points along the curve which makes it look smoother or flatten (tesselation, subdivision, smoothing, etc).</p>
<p style="text-align: justify;">Both control points are sent by the application for the geometry shader, still, as in the the vertex shader comes before the geometry shader, we will need to send them down on the vertex-shader, otherwise the GS won&#8217;t be able to &#8220;see&#8221; them (i know, hurray for Cg). We&#8217;re now almost done. By using the function from the above link(s) and as shown below we compute the curve with a given detail on the geometry shader, by generating new vertices along the curve purely on the gpu side. I think it to be pretty straightforward and the code should be self-explanatory.</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;"><span style="color: #009900;">&#91;</span>GEOMETRY SHADER<span style="color: #009900;">&#93;</span>
uniform <span style="color: #000066; font-weight: bold;">int</span> g_Detail<span style="color: #339933;">;</span>
varying in vec3 ControlPoint1<span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
varying in vec3 ControlPoint2<span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// Found in nvidia sdk</span>
vec3 evaluateBezierPosition<span style="color: #009900;">&#40;</span> vec3 v<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">4</span><span style="color: #009900;">&#93;</span>, <span style="color: #000066; font-weight: bold;">float</span> t <span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
    vec3 p<span style="color: #339933;">;</span>
    <span style="color: #000066; font-weight: bold;">float</span> OneMinusT <span style="color: #339933;">=</span> <span style="color: #cc66cc;">1.0</span> <span style="color: #339933;">-</span> t<span style="color: #339933;">;</span>
    <span style="color: #000066; font-weight: bold;">float</span> b0 <span style="color: #339933;">=</span> OneMinusT<span style="color: #339933;">*</span>OneMinusT<span style="color: #339933;">*</span>OneMinusT<span style="color: #339933;">;</span>
    <span style="color: #000066; font-weight: bold;">float</span> b1 <span style="color: #339933;">=</span> <span style="color: #cc66cc;">3.0</span><span style="color: #339933;">*</span>t<span style="color: #339933;">*</span>OneMinusT<span style="color: #339933;">*</span>OneMinusT<span style="color: #339933;">;</span>
    <span style="color: #000066; font-weight: bold;">float</span> b2 <span style="color: #339933;">=</span> <span style="color: #cc66cc;">3.0</span><span style="color: #339933;">*</span>t<span style="color: #339933;">*</span>t<span style="color: #339933;">*</span>OneMinusT<span style="color: #339933;">;</span>
    <span style="color: #000066; font-weight: bold;">float</span> b3 <span style="color: #339933;">=</span> t<span style="color: #339933;">*</span>t<span style="color: #339933;">*</span>t<span style="color: #339933;">;</span>
    <span style="color: #000000; font-weight: bold;">return</span> b0<span style="color: #339933;">*</span>v<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">+</span> b1<span style="color: #339933;">*</span>v<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">+</span> b2<span style="color: #339933;">*</span>v<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">+</span> b3<span style="color: #339933;">*</span>v<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">3</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000066; font-weight: bold;">void</span> main<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
    vec3 pos<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">4</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
    pos<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> gl_PositionIn<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span>.<span style="color: #006633;">xyz</span><span style="color: #339933;">;</span>
    pos<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> ControlPoint1<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
    pos<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> ControlPoint2<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
    pos<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">3</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> gl_PositionIn<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span>.<span style="color: #006633;">xyz</span><span style="color: #339933;">;</span>
    <span style="color: #000066; font-weight: bold;">float</span> OneOverDetail <span style="color: #339933;">=</span> <span style="color: #cc66cc;">1.0</span> <span style="color: #339933;">/</span> <span style="color: #000066; font-weight: bold;">float</span><span style="color: #009900;">&#40;</span>g_Detail<span style="color: #339933;">-</span><span style="color: #cc66cc;">1.0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #000000; font-weight: bold;">for</span><span style="color: #009900;">&#40;</span> <span style="color: #000066; font-weight: bold;">int</span> i<span style="color: #339933;">=</span><span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span> i<span style="color: #339933;">&lt;</span>g_Detail<span style="color: #339933;">;</span> i<span style="color: #339933;">++</span> <span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
        <span style="color: #000066; font-weight: bold;">float</span> t <span style="color: #339933;">=</span> i <span style="color: #339933;">*</span> OneOverDetail<span style="color: #339933;">;</span>
        vec3 p <span style="color: #339933;">=</span> evaluateBezierPosition<span style="color: #009900;">&#40;</span> pos, t <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        gl_FrontColor <span style="color: #339933;">=</span> gl_FrontColorIn<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span> 
        gl_Position <span style="color: #339933;">=</span> gl_ModelViewProjectionMatrix <span style="color: #339933;">*</span> vec4<span style="color: #009900;">&#40;</span> p.<span style="color: #006633;">xyz</span>, <span style="color: #cc66cc;">1.0</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        EmitVertex<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    EndPrimitive<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p style="text-align: justify;">What&#8217;s next? That is up to you. You&#8217;re not going to leave me with all the work, are you ?</p>
<p style="text-align: justify;">Download the <a title="GPUBézier" href="http://victamin.googlecode.com/files/GPUBezier.zip" target="_blank">example + source</a>.<br />
You will also need to install <a title="Vitamin" href="http://victamin.googlecode.com/files/vitamin_0_5_6.zip" target="_blank">Vitamin 0.5.6</a> as the project is built with it.</p>
<script type="text/javascript">
var flattr_wp_ver = '0.9.11';
var flattr_uid = 'pixelnerve';
var flattr_url = 'http://www.pixelnerve.com/v';
var flattr_lng = 'en_GB';
var flattr_cat = 'video';
var flattr_tag = 'blog,wordpress,rss,feed';
var flattr_btn = 'large';
var flattr_tle = 'V // Pixelnerve';
var flattr_dsc = '';
</script>
<script src="http://api.flattr.com/button/load.js?v=0.2" type="text/javascript"></script>]]></content:encoded>
			<wfw:commentRss>http://www.pixelnerve.com/v/2010/05/11/evaluate-a-cubic-bezier-on-gpu/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Float</title>
		<link>http://www.pixelnerve.com/v/2010/05/06/float/</link>
		<comments>http://www.pixelnerve.com/v/2010/05/06/float/#comments</comments>
		<pubDate>Thu, 06 May 2010 17:30:31 +0000</pubDate>
		<dc:creator>victormartins</dc:creator>
				<category><![CDATA[Demos]]></category>
		<category><![CDATA[Generative]]></category>
		<category><![CDATA[Graphics programming]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Processing]]></category>
		<category><![CDATA[Products]]></category>
		<category><![CDATA[Works]]></category>
		<category><![CDATA[cgfx]]></category>
		<category><![CDATA[demo]]></category>
		<category><![CDATA[demoscene]]></category>
		<category><![CDATA[shader]]></category>
		<category><![CDATA[vitamin]]></category>

		<guid isPermaLink="false">http://www.pixelnerve.com/v/?p=1100</guid>
		<description><![CDATA[I have recently released at inércia Demoparty, a gift i made for Sue. It started as a christmas gift that would express myself and ofcourse keep me from following everybody else to the local shop and spend my money on something  made by others. There is no executable this time, as i don&#8217;t know if [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">I have recently released at inércia Demoparty, a gift i made for <a title="S*" href="http://www.pixelnerve.com/s" target="_blank">Sue</a>. It started as a christmas gift that would express myself and ofcourse keep me from following everybody else to the local shop and spend my money on something  made by others.</p>
<p style="text-align: justify;">There is no executable this time, as i don&#8217;t know if i can spread the music, still, nobody can stop me  (for the moment) from giving you a video. So here it is, <a title="Float" href="http://vimeo.com/11463562" target="_blank">Float</a>.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="640" height="360" 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=11463562&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=ffffff&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="640" height="360" src="http://vimeo.com/moogaloop.swf?clip_id=11463562&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=ffffff&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<script type="text/javascript">
var flattr_wp_ver = '0.9.11';
var flattr_uid = 'pixelnerve';
var flattr_url = 'http://www.pixelnerve.com/v';
var flattr_lng = 'en_GB';
var flattr_cat = 'video';
var flattr_tag = 'blog,wordpress,rss,feed';
var flattr_btn = 'large';
var flattr_tle = 'V // Pixelnerve';
var flattr_dsc = '';
</script>
<script src="http://api.flattr.com/button/load.js?v=0.2" type="text/javascript"></script>]]></content:encoded>
			<wfw:commentRss>http://www.pixelnerve.com/v/2010/05/06/float/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Mass cube rendering</title>
		<link>http://www.pixelnerve.com/v/2010/04/03/mass-cube-rendering/</link>
		<comments>http://www.pixelnerve.com/v/2010/04/03/mass-cube-rendering/#comments</comments>
		<pubDate>Sat, 03 Apr 2010 12:02:01 +0000</pubDate>
		<dc:creator>victormartins</dc:creator>
				<category><![CDATA[Generative]]></category>
		<category><![CDATA[Graphics programming]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Processing]]></category>
		<category><![CDATA[geometry shader]]></category>
		<category><![CDATA[gpu]]></category>
		<category><![CDATA[instancing]]></category>
		<category><![CDATA[opengl]]></category>
		<category><![CDATA[shaders]]></category>

		<guid isPermaLink="false">http://www.pixelnerve.com/v/?p=1033</guid>
		<description><![CDATA[I have recently done some experimental work in order to render mass amounts of cubes. I was moved by this video from Smash, i wanted to know how far i would be able to go on my NVidia GT240M (rendering side). My first choice was Geometry Shaders. I quickly wrote an app that sent a [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">I have recently done some experimental work in order to render mass amounts of cubes. I was moved by <a href="http://vimeo.com/9888065" target="_blank">this video from Smash</a>, i wanted to know how far i would be able to go on my NVidia GT240M (rendering side). My first choice was <a href="http://en.wikipedia.org/wiki/Geometry_shader" target="_blank">Geometry Shaders</a>.<br />
I quickly wrote an app that sent a list of points in space to the GPU and a geometry shader would generate a cube mesh for each one of  the points. Tested it on 100.000 cubes and the framerate was bad(10fps or so). The time was now for optimization.</p>
<p><a href="http://www.pixelnerve.com/v/wp-content/uploads/2010/04/frame_127.png" rel="shadowbox[post-1033];player=img;"><img class="size-medium wp-image-1051" title="100k cubes using GS + cpu animation" src="http://www.pixelnerve.com/v/wp-content/uploads/2010/04/frame_127-634x356.png" alt="" width="634" height="356" /></a></p>
<p style="text-align: justify;">Next step was to optimize the cube generation by lowering from a 24 vertex cube to 14 vertex triangle strip. Things got better, but nothing close to my expectations. I was not satisfied, i mean, i had alot of cubes on screen (100K which was not that much) and that was it, nothing else. We&#8217;re talking about 20fps or so, for 100.000 cubes (around 1.2 million triangles per frame). Later on i added vertex normals to the geometry shader and started to work on some lighting/shadowing, but i ended up going back on the rendering side of the job. Meanwhile, i was speaking with a <a href="http://diogo.codingcorner.net/" target="_blank">friend of mine</a> about this idea and we were discussing ways to compute lighting but i couldn&#8217;t stop thinking about my real problem. So it came to me.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="640" height="360" 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=10501999&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=ffffff&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="640" height="360" src="http://vimeo.com/moogaloop.swf?clip_id=10501999&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=ffffff&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p style="text-align: justify;">Previously, i have done some experiments with opengl hardware instancing, but never got  to do much about it .  What better time than now, so i grabbed the project and took it for a spin. After a few hours i had the same amount of cubes on screen with a much much better framerate. Quickly implemented some eye-candy (coloring, texturing, vertex lighting), some tweaking here and there and as i was listening to Mr. Peter Broderick (hi, i love you man) added some audio analysis to the feature list.<br />
Last but not least, a kind of &#8220;Brownian Motion&#8221; was used to generate points in space, increased the cube count to 512*512 and watched it flow ( at 20fps ).</p>
<p style="text-align: justify;"><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="640" height="360" 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=10503489&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=ffffff&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="640" height="360" src="http://vimeo.com/moogaloop.swf?clip_id=10503489&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=ffffff&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p style="text-align: justify;">In conclusion, Hardware instancing was much easier to implement  and performance seems much better at first sight. Above is a video of 262.144 audio-reactive cubes with GPU animation and basic lighting at around 20fps. For my video card i think that is very good. On a sidenote, i have not given up on the geometry shaders. I am not sure what will be my next step regarding the subject (back to geometry shaders?) but for now this is it. Hardware Instancing kicked Geometry Shaders in the ass.</p>
<script type="text/javascript">
var flattr_wp_ver = '0.9.11';
var flattr_uid = 'pixelnerve';
var flattr_url = 'http://www.pixelnerve.com/v';
var flattr_lng = 'en_GB';
var flattr_cat = 'video';
var flattr_tag = 'blog,wordpress,rss,feed';
var flattr_btn = 'large';
var flattr_tle = 'V // Pixelnerve';
var flattr_dsc = '';
</script>
<script src="http://api.flattr.com/button/load.js?v=0.2" type="text/javascript"></script>]]></content:encoded>
			<wfw:commentRss>http://www.pixelnerve.com/v/2010/04/03/mass-cube-rendering/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Function2Form</title>
		<link>http://www.pixelnerve.com/v/2010/03/08/function2form/</link>
		<comments>http://www.pixelnerve.com/v/2010/03/08/function2form/#comments</comments>
		<pubDate>Mon, 08 Mar 2010 00:01:00 +0000</pubDate>
		<dc:creator>victormartins</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://www.pixelnerve.com/v/?p=995</guid>
		<description><![CDATA[Function2Form is a work created for The Viewer, an online magazine focused on photography and video. &#8220;Function2Form is a work on form and shape generation from the subdivision of space and image analysis. It has no rules other than the creation/deformation of limited space. It&#8217;s a study on photography. It&#8217;s a random case of geometry [...]]]></description>
			<content:encoded><![CDATA[<p>Function2Form is a work created for <a title="The Viewer" href="http://www.theviewer.fr" target="_blank">The Viewer</a>, an online magazine focused on photography and video.</p>
<p style="text-align: justify;"><em>&#8220;</em><em>Function2Form is a work on form and shape generation from the subdivision of space and image analysis. It has no rules other than the creation/deformation of limited space. It&#8217;s a study on photography. It&#8217;s a random case of geometry generation and a study of differences for different parameters and areas. Based on randomness i would say these are unique and lost generated pieces of a kind.</em><em>&#8220;</em></p>
<p>Created with a <a href="http://www.pixelnerve.com/processing/libraries/vitamin" target="_blank">custom framework</a> for scene generation and 3dsmax for the rendering.</p>

<a href='http://www.pixelnerve.com/v/wp-content/uploads/2010/03/000.png' rel='shadowbox[album-995];player=img;' title='#000'><img width="150" height="150" src="http://www.pixelnerve.com/v/wp-content/uploads/2010/03/000-150x150.png" class="attachment-thumbnail" alt="#000" title="#000" /></a>
<a href='http://www.pixelnerve.com/v/wp-content/uploads/2010/03/001.png' rel='shadowbox[album-995];player=img;' title='#001'><img width="150" height="150" src="http://www.pixelnerve.com/v/wp-content/uploads/2010/03/001-150x150.png" class="attachment-thumbnail" alt="#001" title="#001" /></a>
<a href='http://www.pixelnerve.com/v/wp-content/uploads/2010/03/008__5-1-C3_2.png' rel='shadowbox[album-995];player=img;' title='#008__5-1-C3_2'><img width="150" height="150" src="http://www.pixelnerve.com/v/wp-content/uploads/2010/03/008__5-1-C3_2-150x150.png" class="attachment-thumbnail" alt="#008__5-1-C3_2" title="#008__5-1-C3_2" /></a>
<a href='http://www.pixelnerve.com/v/wp-content/uploads/2010/03/010__T2-LV.png' rel='shadowbox[album-995];player=img;' title='#010__T2-LV'><img width="150" height="150" src="http://www.pixelnerve.com/v/wp-content/uploads/2010/03/010__T2-LV-150x150.png" class="attachment-thumbnail" alt="#010__T2-LV" title="#010__T2-LV" /></a>

<p>Note: For the complete series, check out <a href="http://www.theviewer.fr/flash5/viewernumero5.html" target="_blank">The Viewer #5</a></p>
<script type="text/javascript">
var flattr_wp_ver = '0.9.11';
var flattr_uid = 'pixelnerve';
var flattr_url = 'http://www.pixelnerve.com/v';
var flattr_lng = 'en_GB';
var flattr_cat = 'video';
var flattr_tag = 'blog,wordpress,rss,feed';
var flattr_btn = 'large';
var flattr_tle = 'V // Pixelnerve';
var flattr_dsc = '';
</script>
<script src="http://api.flattr.com/button/load.js?v=0.2" type="text/javascript"></script>]]></content:encoded>
			<wfw:commentRss>http://www.pixelnerve.com/v/2010/03/08/function2form/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sunflower @ Smashing Magazine</title>
		<link>http://www.pixelnerve.com/v/2010/02/15/sunflower-smashing-magazine/</link>
		<comments>http://www.pixelnerve.com/v/2010/02/15/sunflower-smashing-magazine/#comments</comments>
		<pubDate>Mon, 15 Feb 2010 02:28:44 +0000</pubDate>
		<dc:creator>victormartins</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://www.pixelnerve.com/v/?p=910</guid>
		<description><![CDATA[Sunflower was featured in the last edition of Smashing Magazine as part of the article &#8220;Beautiful Motion Graphics Created With Programming&#8221;. Sunflower is a world of light created as a runaway into the unreal. It a visualization of harmony found among two people that together, share and live no matter what the distance is between [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><a title="Sunflower" href="http://vimeo.com/2016712" target="_blank">Sunflower</a> was featured in the last edition of Smashing Magazine as part of the article <a href="http://www.smashingmagazine.com/2010/02/06/beautiful-motion-graphics-created-with-programming-showcase-tools-and-tutorials/" target="_blank">&#8220;Beautiful Motion Graphics Created With Programming&#8221;</a>. Sunflower is a world of light created as a runaway into the unreal. It a visualization of harmony found among two people that together, share and live no matter what the distance is between them. Happy valentine&#8217;s, Sunflower!</p>
<p style="text-align: justify;"><a href="http://www.pixelnerve.com/v/wp-content/uploads/2009/08/sunflower_screen.png" rel="shadowbox[post-910];player=img;"><img class="alignnone" title="Sunflower" src="http://www.pixelnerve.com/v/wp-content/uploads/2009/08/sunflower_screen.png" alt="" width="640" height="360" /></a></p>
<p style="text-align: justify;"><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="640" height="360" 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=2016712&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=ffffff&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="640" height="360" src="http://vimeo.com/moogaloop.swf?clip_id=2016712&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=ffffff&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p style="text-align: justify;">For more information about the project, look further down the spiral: <a href="http://www.pixelnerve.com/v/2008/10/20/sunflower/" target="_blank">Official Release</a> | <a href="http://www.pixelnerve.com/v/2009/08/27/sunflower-source-code/" target="_blank">Source code released</a></p>
<script type="text/javascript">
var flattr_wp_ver = '0.9.11';
var flattr_uid = 'pixelnerve';
var flattr_url = 'http://www.pixelnerve.com/v';
var flattr_lng = 'en_GB';
var flattr_cat = 'video';
var flattr_tag = 'blog,wordpress,rss,feed';
var flattr_btn = 'large';
var flattr_tle = 'V // Pixelnerve';
var flattr_dsc = '';
</script>
<script src="http://api.flattr.com/button/load.js?v=0.2" type="text/javascript"></script>]]></content:encoded>
			<wfw:commentRss>http://www.pixelnerve.com/v/2010/02/15/sunflower-smashing-magazine/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>(hmm) Greebles</title>
		<link>http://www.pixelnerve.com/v/2009/11/04/hmm-greebles/</link>
		<comments>http://www.pixelnerve.com/v/2009/11/04/hmm-greebles/#comments</comments>
		<pubDate>Wed, 04 Nov 2009 11:37:08 +0000</pubDate>
		<dc:creator>victormartins</dc:creator>
				<category><![CDATA[Graphics programming]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Processing]]></category>
		<category><![CDATA[audio reactive]]></category>
		<category><![CDATA[gpu]]></category>
		<category><![CDATA[greebles]]></category>
		<category><![CDATA[realtime]]></category>

		<guid isPermaLink="false">http://www.pixelnerve.com/v/?p=862</guid>
		<description><![CDATA[Since Star Wars(tm) (so i&#8217;ve read), texture-based techniques have been used to improve the detail on planar and easily curved surfaces. The one i&#8217;m talking about here is called Greebles. Apply an heightmap texture on a surface and on a per-pixel basis, geometry is generated acoording to the pixel&#8217;s intensity. By doing it you get [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Since  Star Wars(tm) (so i&#8217;ve read), texture-based techniques have been used to  improve the detail on planar and easily curved surfaces. The one i&#8217;m  talking about here is called Greebles. Apply an heightmap texture on a  surface and on a per-pixel basis, geometry is generated acoording to the  pixel&#8217;s intensity. By doing it you get more detailed surfaces without  having to model every little part by yourself, making things more  interesting, realistic and much more appealing.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="640" height="360" 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=8384130&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=ffffff&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="640" height="360" src="http://vimeo.com/moogaloop.swf?clip_id=8384130&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=ffffff&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>To achieve this i&#8217;ve picked <a href="http://www.opengl.org/wiki/Vertex_Texture_Fetch" target="_blank">Vertex Texture Fetch</a>. It allows you to access texture data on the vertex shader. Pass a texture to the vertex shader and offset the surface vertices by the pixel&#8217;s intensity. To improve the looks, bump-mapping with multiple lights have been used. Everything presented here is generated on the GPU, even the objects. Runs nicely on a Nvidia 8200M. Lots of  space for improvement.</p>
<p style="text-align: justify;"><a href="http://www.pixelnerve.com/v/wp-content/uploads/2009/11/greebles_0001332.jpg" rel="shadowbox[post-862];player=img;"><img class="alignnone size-thumbnail wp-image-861" title="greebles_0001332" src="http://www.pixelnerve.com/v/wp-content/uploads/2009/11/greebles_0001332-150x150.jpg" alt="greebles_0001332" width="150" height="150" /></a><a href="http://www.pixelnerve.com/v/wp-content/uploads/2009/11/greebles_0004509.jpg" rel="shadowbox[post-862];player=img;"><img class="alignnone size-thumbnail wp-image-860" title="greebles_0004509" src="http://www.pixelnerve.com/v/wp-content/uploads/2009/11/greebles_0004509-150x150.jpg" alt="greebles_0004509" width="150" height="150" /></a><a href="http://www.pixelnerve.com/v/wp-content/uploads/2009/11/greebles_0004451.jpg" rel="shadowbox[post-862];player=img;"><img class="alignnone size-thumbnail wp-image-859" title="greebles_0004451" src="http://www.pixelnerve.com/v/wp-content/uploads/2009/11/greebles_0004451-150x150.jpg" alt="greebles_0004451" width="150" height="150" /></a><a href="http://www.pixelnerve.com/v/wp-content/uploads/2009/11/greebles_0004315.jpg" rel="shadowbox[post-862];player=img;"><img class="alignnone size-thumbnail wp-image-858" title="greebles_0004315" src="http://www.pixelnerve.com/v/wp-content/uploads/2009/11/greebles_0004315-150x150.jpg" alt="greebles_0004315" width="150" height="150" /></a><a href="http://www.pixelnerve.com/v/wp-content/uploads/2009/11/greebles_0004301.jpg" rel="shadowbox[post-862];player=img;"><img class="alignnone size-thumbnail wp-image-857" title="greebles_0004301" src="http://www.pixelnerve.com/v/wp-content/uploads/2009/11/greebles_0004301-150x150.jpg" alt="greebles_0004301" width="150" height="150" /></a><a href="http://www.pixelnerve.com/v/wp-content/uploads/2009/11/greebles_0004050.jpg" rel="shadowbox[post-862];player=img;"><img class="alignnone size-thumbnail wp-image-856" title="greebles_0004050" src="http://www.pixelnerve.com/v/wp-content/uploads/2009/11/greebles_0004050-150x150.jpg" alt="greebles_0004050" width="150" height="150" /></a><a href="http://www.pixelnerve.com/v/wp-content/uploads/2009/11/greebles_0001137.jpg" rel="shadowbox[post-862];player=img;"><img class="alignnone size-thumbnail wp-image-855" title="greebles_0001137" src="http://www.pixelnerve.com/v/wp-content/uploads/2009/11/greebles_0001137-150x150.jpg" alt="greebles_0001137" width="150" height="150" /></a><a href="http://www.pixelnerve.com/v/wp-content/uploads/2009/11/greebles_0000360.jpg" rel="shadowbox[post-862];player=img;"><img class="alignnone size-thumbnail wp-image-854" title="greebles_0000360" src="http://www.pixelnerve.com/v/wp-content/uploads/2009/11/greebles_0000360-150x150.jpg" alt="greebles_0000360" width="150" height="150" /></a></p>
<p style="text-align: justify;">
<script type="text/javascript">
var flattr_wp_ver = '0.9.11';
var flattr_uid = 'pixelnerve';
var flattr_url = 'http://www.pixelnerve.com/v';
var flattr_lng = 'en_GB';
var flattr_cat = 'video';
var flattr_tag = 'blog,wordpress,rss,feed';
var flattr_btn = 'large';
var flattr_tle = 'V // Pixelnerve';
var flattr_dsc = '';
</script>
<script src="http://api.flattr.com/button/load.js?v=0.2" type="text/javascript"></script>]]></content:encoded>
			<wfw:commentRss>http://www.pixelnerve.com/v/2009/11/04/hmm-greebles/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OpenCL 4 Java &amp; Processing</title>
		<link>http://www.pixelnerve.com/v/2009/10/30/opencl-4-java/</link>
		<comments>http://www.pixelnerve.com/v/2009/10/30/opencl-4-java/#comments</comments>
		<pubDate>Fri, 30 Oct 2009 18:09:42 +0000</pubDate>
		<dc:creator>victormartins</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Libraries]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Processing]]></category>
		<category><![CDATA[Source Code]]></category>
		<category><![CDATA[cpu]]></category>
		<category><![CDATA[gpu]]></category>
		<category><![CDATA[OpenCL]]></category>
		<category><![CDATA[opencl4java]]></category>
		<category><![CDATA[particles]]></category>

		<guid isPermaLink="false">http://www.pixelnerve.com/v/?p=834</guid>
		<description><![CDATA[I finally took  the time to play with OpenCL. I was motivated by the particle example from Rui Madeira. After speaking with him, he gave me a few other links on more examples like Memo Akten&#8216;s 1.000.000 particles running with mouse interaction on the GPU, the very NVidia&#8217;s first OpenCL application example, etc. I was [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">I finally took  the time to play with <a href="http://pt.wikipedia.org/wiki/OpenCL" target="_blank">OpenCL</a>. I was motivated by the particle example from <a href="http://vimeo.com/7298380" target="_blank">Rui Madeira</a>. After speaking with him, he gave me a few other links on more examples like <a href="http://www.memo.tv/" target="_blank">Memo Akten</a>&#8216;s 1.000.000 particles running with mouse interaction on the GPU, the very NVidia&#8217;s first OpenCL application example, etc. I was intriged!  So i took the day to play with <a href="http://code.google.com/p/nativelibs4java/wiki/OpenCL" target="_blank">OpenCL4Java</a> and ported Rui&#8217;s example to Java running on Processing&#8217;s IDE.  I&#8217;ve tested it with a Intel Quad core and i found the Rui&#8217;s sample to crash with GTX280 videocard. I didn&#8217;t gave it much thought but it might be for that for-loop in the program on the particle-particle iteration. In the other hand, Memo&#8217;s example ran easily on the gpu side. I should have made an example of mine, but it was easier to just port their examples and get things running. That was the main goal.</p>
<p style="text-align: justify;">I have only tested this under Windows XP 64bit with ATI Stream SDK and Nvidia drivers. If you find any problem, please report.<br />
One other thing: Memo&#8217;s example isn&#8217;t the real thing. It&#8217;s simply the CL program. So you won&#8217;t be able to get all the fuzzy million particles around. Not yet.</p>
<p style="text-align: left;">Library/Examples available here:<strong> </strong><a title="OpenCL4Java" href="http://victamin.googlecode.com/files/OpenCL4Java_1b.zip" target="_blank">http://victamin.googlecode.com/files/OpenCL4Java_1b.zip</a></p>
<p style="text-align: justify;">
<p style="text-align: justify;"><span style="text-decoration: underline;"><span style="color: #000000;">Installation steps:</span></span><br />
1. Copy the library to processing&#8217;s libraries folder<br />
2. Install ATI Stream SDK (i have packed the OpenCL.dll file, still you might have to install the whole pack). If you&#8217;re using Nvidia, install the OpenCL drivers and toolkit<br />
3. Open the example and run it.</p>
<p style="text-align: justify;">Enjoy and have fun!</p>
<script type="text/javascript">
var flattr_wp_ver = '0.9.11';
var flattr_uid = 'pixelnerve';
var flattr_url = 'http://www.pixelnerve.com/v';
var flattr_lng = 'en_GB';
var flattr_cat = 'video';
var flattr_tag = 'blog,wordpress,rss,feed';
var flattr_btn = 'large';
var flattr_tle = 'V // Pixelnerve';
var flattr_dsc = '';
</script>
<script src="http://api.flattr.com/button/load.js?v=0.2" type="text/javascript"></script>]]></content:encoded>
			<wfw:commentRss>http://www.pixelnerve.com/v/2009/10/30/opencl-4-java/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Winterbreathe</title>
		<link>http://www.pixelnerve.com/v/2009/10/07/winterbreathe/</link>
		<comments>http://www.pixelnerve.com/v/2009/10/07/winterbreathe/#comments</comments>
		<pubDate>Wed, 07 Oct 2009 19:03:51 +0000</pubDate>
		<dc:creator>victormartins</dc:creator>
				<category><![CDATA[Demos]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Processing]]></category>
		<category><![CDATA[demo]]></category>
		<category><![CDATA[demoscene]]></category>
		<category><![CDATA[hugescreen]]></category>
		<category><![CDATA[mainparty]]></category>

		<guid isPermaLink="false">http://www.pixelnerve.com/v/?p=806</guid>
		<description><![CDATA[Winterbreathe, presented at Mainparty in Arles, France.  This demo was presented in the hugescreen compo, a display of 3000m^2 on the roof of the party place. It was awesome to watch it in such conditions. awesome! awesome! became 5th in the results. blaah Download from scene.org]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Winterbreathe, presented at Mainparty in Arles, France.  This demo was presented in the hugescreen compo, a display of 3000m^2 on the roof of the party place. It was awesome to watch it in such conditions. awesome! awesome!<br />
became 5th in the results. blaah</p>
<p style="text-align: justify;"><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="640" height="64" 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=6925793&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="640" height="64" src="http://vimeo.com/moogaloop.swf?clip_id=6925793&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p style="text-align: justify;"><a href="http://scene.org/file.php?file=%2Fparties%2F2009%2Fmain09%2Fhugescreen%2Fwinterbreathe.zip&amp;fileinfo" target="_blank">Download from scene.org</a></p>
<script type="text/javascript">
var flattr_wp_ver = '0.9.11';
var flattr_uid = 'pixelnerve';
var flattr_url = 'http://www.pixelnerve.com/v';
var flattr_lng = 'en_GB';
var flattr_cat = 'video';
var flattr_tag = 'blog,wordpress,rss,feed';
var flattr_btn = 'large';
var flattr_tle = 'V // Pixelnerve';
var flattr_dsc = '';
</script>
<script src="http://api.flattr.com/button/load.js?v=0.2" type="text/javascript"></script>]]></content:encoded>
			<wfw:commentRss>http://www.pixelnerve.com/v/2009/10/07/winterbreathe/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>xDA media lab, first project: GroundSpines Graffiti</title>
		<link>http://www.pixelnerve.com/v/2009/09/24/xda-media-lab-first-project-groundspines-graffiti/</link>
		<comments>http://www.pixelnerve.com/v/2009/09/24/xda-media-lab-first-project-groundspines-graffiti/#comments</comments>
		<pubDate>Thu, 24 Sep 2009 10:51:21 +0000</pubDate>
		<dc:creator>victormartins</dc:creator>
				<category><![CDATA[Generative]]></category>
		<category><![CDATA[Interactive]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Processing]]></category>
		<category><![CDATA[Products]]></category>
		<category><![CDATA[laser]]></category>

		<guid isPermaLink="false">http://www.pixelnerve.com/v/?p=795</guid>
		<description><![CDATA[xDA is a new medialab located in Coimbra/Portugal. Here&#8217;s its first project using a customized version of (hmm 3.x) aka GroundSpines. enjoy the show and if you by any chance visit Coimbra, get in touch.. We&#8217;ll have a beer and talk crazy!]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><a title="xDA" href="http://www.xdatelier.org" target="_blank">xDA</a> is a new medialab located in Coimbra/Portugal. Here&#8217;s its first project using a customized version of (hmm 3.x) aka GroundSpines. enjoy the show and if you by any chance visit Coimbra, get in touch.. We&#8217;ll have a beer and talk crazy!</p>
<p style="text-align: justify;"><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="640" height="360" 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=6727832&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=0&amp;show_portrait=0&amp;color=ffffff&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="640" height="360" src="http://vimeo.com/moogaloop.swf?clip_id=6727832&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=0&amp;show_portrait=0&amp;color=ffffff&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<script type="text/javascript">
var flattr_wp_ver = '0.9.11';
var flattr_uid = 'pixelnerve';
var flattr_url = 'http://www.pixelnerve.com/v';
var flattr_lng = 'en_GB';
var flattr_cat = 'video';
var flattr_tag = 'blog,wordpress,rss,feed';
var flattr_btn = 'large';
var flattr_tle = 'V // Pixelnerve';
var flattr_dsc = '';
</script>
<script src="http://api.flattr.com/button/load.js?v=0.2" type="text/javascript"></script>]]></content:encoded>
			<wfw:commentRss>http://www.pixelnerve.com/v/2009/09/24/xda-media-lab-first-project-groundspines-graffiti/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
