<?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>A Party to the World &#187; raytracer</title>
	<atom:link href="http://dan.lecocq.us/wordpress/tag/raytracer/feed/" rel="self" type="application/rss+xml" />
	<link>http://dan.lecocq.us/wordpress</link>
	<description>Life, love, and computer science</description>
	<lastBuildDate>Sun, 25 Jul 2010 16:20:14 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Parallel Ray Tracer</title>
		<link>http://dan.lecocq.us/wordpress/2009/04/04/parallel-ray-tracer/</link>
		<comments>http://dan.lecocq.us/wordpress/2009/04/04/parallel-ray-tracer/#comments</comments>
		<pubDate>Sat, 04 Apr 2009 21:54:05 +0000</pubDate>
		<dc:creator>Dan</dc:creator>
				<category><![CDATA[computer science]]></category>
		<category><![CDATA[projects]]></category>
		<category><![CDATA[school]]></category>
		<category><![CDATA[cluster]]></category>
		<category><![CDATA[graphics]]></category>
		<category><![CDATA[parallel]]></category>
		<category><![CDATA[ray tracing]]></category>
		<category><![CDATA[raytracer]]></category>

		<guid isPermaLink="false">http://dan.lecocq.us/wordpress/?p=480</guid>
		<description><![CDATA[This afternoon I was able to successfully parallelize the ray tracer I wrote for Graphics II to run on the Alamode cluster at Mines. Using 17 machines, I was able to render a 4,096 x 4,096 pixel image with 25 passes and up to 5 reflections. It took only 1 minute and 20 seconds. For [...]]]></description>
			<content:encoded><![CDATA[<p>This afternoon I was able to successfully parallelize the ray tracer I wrote for Graphics II to run on the Alamode cluster at Mines.  Using 17 machines, I was able to render a 4,096 x 4,096 pixel image with 25 passes and up to 5 reflections.  It took only 1 minute and 20 seconds.<br />
<div id="attachment_481" class="wp-caption aligncenter" style="width: 310px"><a href="http://dan.lecocq.us/wordpress/wp-content/uploads/2009/04/output.png"><img src="http://dan.lecocq.us/wordpress/wp-content/uploads/2009/04/output-300x300.png" alt="Reflective spheres rendered at high resolution on a small cluster." title="Spheres" width="300" height="300" class="size-medium wp-image-481" /></a><p class="wp-caption-text">Reflective spheres rendered at high resolution on a small cluster.</p></div><br />
<div class="wp-caption aligncenter" style="width: 310px"><a href="http://dan.lecocq.us/wordpress/wp-content/uploads/2009/04/output1.png"><img alt="Another image rendered on the same cluster" src="http://dan.lecocq.us/wordpress/wp-content/uploads/2009/04/output8-300x300.png" title="Sphere and Triangles" width="300" height="300" /></a><p class="wp-caption-text">Another image rendered on the same cluster</p></div></p>
<p>For the benefit of those who are not computer scientists, this is what the input file looks like:<br />
<code><br />
8192 8192<br />
0 0 20<br />
-1 -1 1<br />
2 0 0<br />
0 2 0<br />
3 10 10 0.8<br />
0.2<br />
9<br />
# These next few lines will define a triangle<br />
T<br />
# With one of the points at (1, 1, 1)<br />
1 1 1<br />
# and the next point here:<br />
0.12321 0.12321 -1<br />
# and the last point here:<br />
-1 1 1<br />
# and with this color setting<br />
1 1 1 1 1 1 0 1 0.7<br />
T<br />
-1 1 1<br />
-0.12321 0.12321 -1<br />
0.12321 0.12321 -1<br />
1 1 1 1 1 1 0 1 0<br />
T<br />
1 -1 1<br />
0.12321 -0.12321 -1<br />
-1 -1 1<br />
1 1 1 1 1 1 0 1 0<br />
T<br />
-1 -1 1<br />
-0.12321 -0.12321 -1<br />
0.12321 -0.12321 -1<br />
1 1 1 1 1 1 0 1 0<br />
T<br />
1 1 1<br />
0.12321 0.12321 -1<br />
1 -1 1<br />
1 0 0 1 0 0 0 1 0<br />
T<br />
1 -1 1<br />
0.12321 -0.12321 -1<br />
0.12321 0.12321 -1<br />
1 0 0 1 0 0 0 1 0<br />
T<br />
-1 1 1<br />
-0.12321 0.12321 -1<br />
-1 -1 1<br />
1 1 0 1 1 0 0 1 0<br />
T<br />
-1 -1 1<br />
-0.12321 -0.12321 -1<br />
-0.12321 0.12321 -1<br />
1 1 0 1 1 0 0 1 0<br />
S<br />
0 0 0 0.5<br />
1 0 1 1 0 1 0 1 0.3<br />
</code></p>
]]></content:encoded>
			<wfw:commentRss>http://dan.lecocq.us/wordpress/2009/04/04/parallel-ray-tracer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Raytracer with Anti-aliasing and Reflection</title>
		<link>http://dan.lecocq.us/wordpress/2009/03/04/raytracer-with-anti-aliasing-and-reflection/</link>
		<comments>http://dan.lecocq.us/wordpress/2009/03/04/raytracer-with-anti-aliasing-and-reflection/#comments</comments>
		<pubDate>Wed, 04 Mar 2009 22:28:44 +0000</pubDate>
		<dc:creator>Dan</dc:creator>
				<category><![CDATA[computer science]]></category>
		<category><![CDATA[graphics]]></category>
		<category><![CDATA[raytracer]]></category>

		<guid isPermaLink="false">http://dan.lecocq.us/wordpress/?p=458</guid>
		<description><![CDATA[For Graphics II, we had to implement a raytracer, and then add anti-aliasing and a feature of our choice. I selected mirrored surfaces. First, anti-aliasing. Here are a few pictures of the same image rendered with a different number of passes to change the smoothness. And lastly, here&#8217;s a scene of several spheres, some of [...]]]></description>
			<content:encoded><![CDATA[<p>For Graphics II, we had to implement a raytracer, and then add anti-aliasing and a feature of our choice.  I selected mirrored surfaces.</p>
<p>First, anti-aliasing.  Here are a few pictures of the same image rendered with a different number of passes to change the smoothness.</p>
<div id="attachment_459" class="wp-caption aligncenter" style="width: 310px"><a href="http://dan.lecocq.us/wordpress/wp-content/uploads/2009/03/anti-alias-1.png"><img src="http://dan.lecocq.us/wordpress/wp-content/uploads/2009/03/anti-alias-1-300x300.png" alt="Using one pass" title="anti-alias-1" width="300" height="300" class="size-medium wp-image-459" /></a><p class="wp-caption-text">Using one pass</p></div><br />
<div id="attachment_460" class="wp-caption aligncenter" style="width: 310px"><a href="http://dan.lecocq.us/wordpress/wp-content/uploads/2009/03/anti-alias-5.png"><img src="http://dan.lecocq.us/wordpress/wp-content/uploads/2009/03/anti-alias-5-300x300.png" alt="Using 5 passes." title="anti-alias-5" width="300" height="300" class="size-medium wp-image-460" /></a><p class="wp-caption-text">Using 5 passes.</p></div><br />
<div id="attachment_461" class="wp-caption aligncenter" style="width: 310px"><a href="http://dan.lecocq.us/wordpress/wp-content/uploads/2009/03/anti-alias-50.png"><img src="http://dan.lecocq.us/wordpress/wp-content/uploads/2009/03/anti-alias-50-300x300.png" alt="Using 50 passes." title="anti-alias-50" width="300" height="300" class="size-medium wp-image-461" /></a><p class="wp-caption-text">Using 50 passes.</p></div>
<p>And lastly, here&#8217;s a scene of several spheres, some of which are reflective.<br />
<div id="attachment_462" class="wp-caption aligncenter" style="width: 310px"><a href="http://dan.lecocq.us/wordpress/wp-content/uploads/2009/03/output.png"><img src="http://dan.lecocq.us/wordpress/wp-content/uploads/2009/03/output-300x300.png" alt="A set of spheres, some of which are mirror-like." title="Spheres" width="300" height="300" class="size-medium wp-image-462" /></a><p class="wp-caption-text">A set of spheres, some of which are mirror-like.</p></div><br />
<div id="attachment_467" class="wp-caption aligncenter" style="width: 310px"><a href="http://dan.lecocq.us/wordpress/wp-content/uploads/2009/03/input8r.png"><img src="http://dan.lecocq.us/wordpress/wp-content/uploads/2009/03/input8r-300x300.png" alt="A reflective sphere next to some triangles." title="input8r" width="300" height="300" class="size-medium wp-image-467" /></a><p class="wp-caption-text">A reflective sphere next to some triangles.</p></div><br />
<div id="attachment_469" class="wp-caption aligncenter" style="width: 310px"><a href="http://dan.lecocq.us/wordpress/wp-content/uploads/2009/03/input12r.png"><img src="http://dan.lecocq.us/wordpress/wp-content/uploads/2009/03/input12r-300x300.png" alt="A mirrored sphere in the center of four other sphere." title="input12r" width="300" height="300" class="size-medium wp-image-469" /></a><p class="wp-caption-text">A mirrored sphere in the center of four other sphere.</p></div><br />
<div id="attachment_470" class="wp-caption aligncenter" style="width: 310px"><a href="http://dan.lecocq.us/wordpress/wp-content/uploads/2009/03/input16r.png"><img src="http://dan.lecocq.us/wordpress/wp-content/uploads/2009/03/input16r-300x300.png" alt="More spheres!" title="input16r" width="300" height="300" class="size-medium wp-image-470" /></a><p class="wp-caption-text">More spheres!</p></div></p>
]]></content:encoded>
			<wfw:commentRss>http://dan.lecocq.us/wordpress/2009/03/04/raytracer-with-anti-aliasing-and-reflection/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Raytracer</title>
		<link>http://dan.lecocq.us/wordpress/2009/02/17/raytracer/</link>
		<comments>http://dan.lecocq.us/wordpress/2009/02/17/raytracer/#comments</comments>
		<pubDate>Wed, 18 Feb 2009 01:51:17 +0000</pubDate>
		<dc:creator>Dan</dc:creator>
				<category><![CDATA[computer science]]></category>
		<category><![CDATA[graphics]]></category>
		<category><![CDATA[raytracer]]></category>

		<guid isPermaLink="false">http://dan.lecocq.us/wordpress/?p=411</guid>
		<description><![CDATA[Last semester for Graphics, we each wrote raytracers, and this semester for Graphics II, we&#8217;ve been asked to add more advanced features to them. I had written mine in Ruby for its short development cycle, but raytracers aren&#8217;t the most efficient renderers on the planet, and it would take hours to run on a single [...]]]></description>
			<content:encoded><![CDATA[<p>Last semester for Graphics, we each wrote raytracers, and this semester for Graphics II, we&#8217;ve been asked to add more advanced features to them.</p>
<p>I had written mine in Ruby for its short development cycle, but raytracers aren&#8217;t the most efficient renderers on the planet, and it would take hours to run on a single input on occasion.  So, not wanting to deal with that this semester, I rewrote it in C++.  Much faster.  The most difficult input (same set) now takes about a minute.  I finished it up today, and here are some pretty pictures to sate you:</p>

<a href='http://dan.lecocq.us/wordpress/2009/02/17/raytracer/input1r/' title='Four Red Balls'><img width="150" height="150" src="http://dan.lecocq.us/wordpress/wp-content/uploads/2009/02/input1r-150x150.png" class="attachment-thumbnail" alt="Four Red Balls" title="Four Red Balls" /></a>
<a href='http://dan.lecocq.us/wordpress/2009/02/17/raytracer/input2r/' title='Toroid'><img width="150" height="150" src="http://dan.lecocq.us/wordpress/wp-content/uploads/2009/02/input2r-150x150.png" class="attachment-thumbnail" alt="Toroid" title="Toroid" /></a>
<a href='http://dan.lecocq.us/wordpress/2009/02/17/raytracer/input3r/' title='input3r'><img width="150" height="150" src="http://dan.lecocq.us/wordpress/wp-content/uploads/2009/02/input3r-150x150.png" class="attachment-thumbnail" alt="input3r" title="input3r" /></a>
<a href='http://dan.lecocq.us/wordpress/2009/02/17/raytracer/input4r/' title='Strange Shadows'><img width="150" height="150" src="http://dan.lecocq.us/wordpress/wp-content/uploads/2009/02/input4r-150x150.png" class="attachment-thumbnail" alt="Strange Shadows" title="Strange Shadows" /></a>
<a href='http://dan.lecocq.us/wordpress/2009/02/17/raytracer/input5r/' title='Sphere Party'><img width="150" height="150" src="http://dan.lecocq.us/wordpress/wp-content/uploads/2009/02/input5r-150x150.png" class="attachment-thumbnail" alt="Sphere Party" title="Sphere Party" /></a>
<a href='http://dan.lecocq.us/wordpress/2009/02/17/raytracer/input6r/' title='input6r'><img width="150" height="150" src="http://dan.lecocq.us/wordpress/wp-content/uploads/2009/02/input6r-150x150.png" class="attachment-thumbnail" alt="input6r" title="input6r" /></a>
<a href='http://dan.lecocq.us/wordpress/2009/02/17/raytracer/input7r/' title='input7r'><img width="150" height="150" src="http://dan.lecocq.us/wordpress/wp-content/uploads/2009/02/input7r-150x150.png" class="attachment-thumbnail" alt="input7r" title="input7r" /></a>
<a href='http://dan.lecocq.us/wordpress/2009/02/17/raytracer/input8r/' title='input8r'><img width="150" height="150" src="http://dan.lecocq.us/wordpress/wp-content/uploads/2009/02/input8r-150x150.png" class="attachment-thumbnail" alt="input8r" title="input8r" /></a>
<a href='http://dan.lecocq.us/wordpress/2009/02/17/raytracer/input9/' title='input9'><img width="150" height="150" src="http://dan.lecocq.us/wordpress/wp-content/uploads/2009/02/input9-150x150.png" class="attachment-thumbnail" alt="input9" title="input9" /></a>
<a href='http://dan.lecocq.us/wordpress/2009/02/17/raytracer/input12r/' title='Google'><img width="150" height="150" src="http://dan.lecocq.us/wordpress/wp-content/uploads/2009/02/input12r-150x150.png" class="attachment-thumbnail" alt="Google" title="Google" /></a>
<a href='http://dan.lecocq.us/wordpress/2009/02/17/raytracer/input15r/' title='input15r'><img width="150" height="150" src="http://dan.lecocq.us/wordpress/wp-content/uploads/2009/02/input15r-150x150.png" class="attachment-thumbnail" alt="input15r" title="input15r" /></a>
<a href='http://dan.lecocq.us/wordpress/2009/02/17/raytracer/input18r/' title='input18r'><img width="150" height="150" src="http://dan.lecocq.us/wordpress/wp-content/uploads/2009/02/input18r-150x150.png" class="attachment-thumbnail" alt="input18r" title="input18r" /></a>

]]></content:encoded>
			<wfw:commentRss>http://dan.lecocq.us/wordpress/2009/02/17/raytracer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
