<?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>diogo&#039;s coding corner &#187; Old Tools</title>
	<atom:link href="http://diogo.codingcorner.net/category/oldtools/feed/" rel="self" type="application/rss+xml" />
	<link>http://diogo.codingcorner.net</link>
	<description>game development and real-time graphics</description>
	<lastBuildDate>Thu, 22 Dec 2011 12:38:14 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>Splatter, C++ (2002)</title>
		<link>http://diogo.codingcorner.net/oldtools/splatter-c-2002/</link>
		<comments>http://diogo.codingcorner.net/oldtools/splatter-c-2002/#comments</comments>
		<pubDate>Sun, 18 Jan 2009 18:18:57 +0000</pubDate>
		<dc:creator>diogo</dc:creator>
				<category><![CDATA[Old Tools]]></category>

		<guid isPermaLink="false">http://diogo.codingcorner.net/?p=290</guid>
		<description><![CDATA[Early in the summer of 2002, while I was still in the True Dimensions project. At that time we had just started rebuilding our game engine from scratch to better accommodate new technologies like vertex and pixel shaders. I was inspired to develop this tool by some early Doom3 videos where this technique was evident. [...]]]></description>
			<content:encoded><![CDATA[<p>Early in the summer of 2002, while I was still in the True Dimensions project. At that time we had just started rebuilding our game engine from scratch to better accommodate new technologies like vertex and pixel shaders.</p>
<p>I was inspired to develop this tool by some early Doom3 videos where this technique was evident. It was referred to as RenderBump. Crytek&#8217;s PolyBump was announced a month or so after I started researching on this subject.</p>
<p style="text-align: center;"><a href="http://diogo.codingcorner.net/wp-content/uploads/2009/01/truebump.jpg"></a><a href="http://diogo.codingcorner.net/wp-content/uploads/2009/01/truebump.jpg"><img class="size-full wp-image-297 aligncenter" style="border: 1px solid black;" title="truebump" src="http://diogo.codingcorner.net/wp-content/uploads/2009/01/truebump.jpg" alt="truebump" width="384" height="272" /></a></p>
<p>During my research I found some references that described this compression method that went all the way back to 1996 in a paper named &#8220;<a href="http://graphics.stanford.edu/papers/surfacefitting/"><strong>Fitting Smooth Surfaces to Dense Polygon Meshes</strong></a>&#8221; by <a href="http://graphics.stanford.edu/%7Evenkat/"><strong>Venkat Krishnamurthy</strong></a> and <a href="http://graphics.stanford.edu/%7Elevoy/"><strong>Marc Levoy</strong></a>. It described a method of replacing the polygonal meshes with a set of smooth B-spline patches, while preserving the detail using displacement maps or normal maps generated from the original model.</p>
<p>Later I came across a paper from 1998 named &#8220;<a href="http://www.cs.unc.edu/%7Egeom/APS/"><strong>Appearance-Preserving Simplification</strong></a>&#8221; by <a href="http://www.cs.unc.edu/%7Ecohenj"><strong>Jonathan Cohen</strong></a>, <a href="http://www.cs.unc.edu/%7Eolano"><strong>Marc Olano</strong></a>, and <strong><a href="http://www.cs.unc.edu/%7Emanocha">Dinesh Manocha</a></strong>. This paper described a method of replacing the reference model with an automatically generated simplified version and preserving the detail using normal maps, again generated from the original model.</p>
<p>I had, at this point, all I needed to develop this tool. I did some command-line tools before developing this visual tool. Splatter was developed in two weeks during a long True Dimensions meeting in Aveiro (Portugal) in August of 2002. It works with a proprietary 3d file format developed by myself while part of True Dimensions. It supports diffuse, gloss and height maps for extra bump detail. Also supports super-sampling anti-aliasing and a dilation filter. The AABB/Octree code was written by <a href="http://realtimecg.gamedev-pt.net"><strong>Tiago Sousa</strong></a> at the time, I used it to speed up the raytracing algorithm. I called this method TrueBump.</p>
<p>Here&#8217;s a couple of screenshots:</p>
<table class="aligncenter" border="0" align="center">
<tbody>
<tr>
<td><a href="http://diogo.codingcorner.net/wp-content/uploads/2009/01/splatter1.jpg"><img class="size-medium wp-image-292 alignleft" style="border: 1px solid black;" title="splatter1" src="http://diogo.codingcorner.net/wp-content/uploads/2009/01/splatter1-300x212.jpg" alt="splatter1" width="210" height="148" /></a></td>
<td><a href="http://diogo.codingcorner.net/wp-content/uploads/2009/01/splatter2.jpg"><img class="size-medium wp-image-293 alignright" style="border: 1px solid black;" title="splatter2" src="http://diogo.codingcorner.net/wp-content/uploads/2009/01/splatter2-300x212.jpg" alt="splatter2" width="210" height="148" /></a></td>
</tr>
</tbody>
</table>
<p>And, of course, the famous Stanford bunny:</p>
<p style="text-align: center;"><a href="http://diogo.codingcorner.net/wp-content/uploads/2009/01/splatter_bunny1.jpg"><img class="size-medium wp-image-294 aligncenter" style="border: 1px solid black;" title="splatter_bunny1" src="http://diogo.codingcorner.net/wp-content/uploads/2009/01/splatter_bunny1-300x225.jpg" alt="splatter_bunny1" width="210" height="158" /></a></p>
<table class="aligncenter" border="0" align="center">
<tbody>
<tr>
<td><a href="http://diogo.codingcorner.net/wp-content/uploads/2009/01/splatter_bunny3.jpg"><img class="alignleft size-medium wp-image-296" style="border: 1px solid black;" title="splatter_bunny3" src="http://diogo.codingcorner.net/wp-content/uploads/2009/01/splatter_bunny3-300x225.jpg" alt="splatter_bunny3" width="210" height="158" /></a></td>
<td><a href="http://diogo.codingcorner.net/wp-content/uploads/2009/01/splatter_bunny2.jpg"><img class="size-medium wp-image-295 alignright" style="border: 1px solid black;" title="splatter_bunny2" src="http://diogo.codingcorner.net/wp-content/uploads/2009/01/splatter_bunny2-300x225.jpg" alt="splatter_bunny2" width="210" height="158" /></a></td>
</tr>
</tbody>
</table>
<p>The high poly version of the bunny has 69664 triangles while the low polygon version has 643 triangles which makes it roughly about 1% of the original model.</p>
]]></content:encoded>
			<wfw:commentRss>http://diogo.codingcorner.net/oldtools/splatter-c-2002/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

