<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>A Journey into Ray Tracing</title>
	<atom:link href="http://dpow3r.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://dpow3r.wordpress.com</link>
	<description></description>
	<lastBuildDate>Sat, 01 Oct 2011 13:52:38 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='dpow3r.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>A Journey into Ray Tracing</title>
		<link>http://dpow3r.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://dpow3r.wordpress.com/osd.xml" title="A Journey into Ray Tracing" />
	<atom:link rel='hub' href='http://dpow3r.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Metropolis Light Transport</title>
		<link>http://dpow3r.wordpress.com/2010/12/05/metropolis-light-transport/</link>
		<comments>http://dpow3r.wordpress.com/2010/12/05/metropolis-light-transport/#comments</comments>
		<pubDate>Sun, 05 Dec 2010 16:01:14 +0000</pubDate>
		<dc:creator>dpwr</dc:creator>
				<category><![CDATA[Metropolis Light Transport]]></category>
		<category><![CDATA[Cornell box]]></category>
		<category><![CDATA[MLT]]></category>
		<category><![CDATA[Path tracing]]></category>

		<guid isPermaLink="false">http://dpow3r.wordpress.com/?p=112</guid>
		<description><![CDATA[Hi all, I have rewritten my renderer from scratch because the old code was too ugly to add anything useful on top of it . The new design is mainly based on pbrt , I&#8217;m also being inspired by other open source ray tracers like Picogen and LuxRender . It now uses a sah based [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dpow3r.wordpress.com&amp;blog=7661317&amp;post=112&amp;subd=dpow3r&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Hi all,</p>
<p>I have rewritten my renderer from scratch because the old code was too ugly to add anything useful on top of it . The new design is mainly based on pbrt , I&#8217;m also being inspired by other open source ray tracers like <a href="http://picogen.org" target="_blank">Picogen</a> and <a href="http://luxrender.net" target="_blank">LuxRender </a>.</p>
<p>It now uses a sah based kd tree with a building  complexity of O (nlog(n)^2) to make the geometry intersection tests faster , I also made it multithreaded thanks to the simplicity of openmp.</p>
<p>Unfortunately even with these improvements my ray tracer struggles in scenes with strong indirect illumination , so I added metropolis light transport as proposed by Kelemen et a.l. , the result is impressive despite the fact that my implementation is unstable :</p>
<p><a href="http://dpow3r.files.wordpress.com/2010/12/dragon.png"><img class="alignnone size-medium wp-image-114" title="Dragon" src="http://dpow3r.files.wordpress.com/2010/12/dragon.png?w=300&#038;h=300" alt="" width="300" height="300" /></a></p>
<p><a href="http://dpow3r.files.wordpress.com/2010/12/water.png"><img class="alignnone size-medium wp-image-113" title="Water" src="http://dpow3r.files.wordpress.com/2010/12/water.png?w=300&#038;h=300" alt="" width="300" height="300" /></a></p>
<p>And another render showing the glossy dielectric material ( image rendered with path tracing + explicit direct light connection )</p>
<p><a href="http://dpow3r.files.wordpress.com/2010/12/glossy-container.png"><img class="alignnone size-medium wp-image-115" title="Glossy container" src="http://dpow3r.files.wordpress.com/2010/12/glossy-container.png?w=300&#038;h=225" alt="" width="300" height="225" /></a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/dpow3r.wordpress.com/112/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/dpow3r.wordpress.com/112/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/dpow3r.wordpress.com/112/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/dpow3r.wordpress.com/112/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/dpow3r.wordpress.com/112/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/dpow3r.wordpress.com/112/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/dpow3r.wordpress.com/112/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/dpow3r.wordpress.com/112/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/dpow3r.wordpress.com/112/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/dpow3r.wordpress.com/112/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/dpow3r.wordpress.com/112/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/dpow3r.wordpress.com/112/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/dpow3r.wordpress.com/112/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/dpow3r.wordpress.com/112/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dpow3r.wordpress.com&amp;blog=7661317&amp;post=112&amp;subd=dpow3r&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://dpow3r.wordpress.com/2010/12/05/metropolis-light-transport/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/4ea73949e3399369cb006031286843db?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">D-POWER</media:title>
		</media:content>

		<media:content url="http://dpow3r.files.wordpress.com/2010/12/dragon.png?w=300" medium="image">
			<media:title type="html">Dragon</media:title>
		</media:content>

		<media:content url="http://dpow3r.files.wordpress.com/2010/12/water.png?w=300" medium="image">
			<media:title type="html">Water</media:title>
		</media:content>

		<media:content url="http://dpow3r.files.wordpress.com/2010/12/glossy-container.png?w=300" medium="image">
			<media:title type="html">Glossy container</media:title>
		</media:content>
	</item>
		<item>
		<title>Some new renders</title>
		<link>http://dpow3r.wordpress.com/2010/06/05/some-new-renders/</link>
		<comments>http://dpow3r.wordpress.com/2010/06/05/some-new-renders/#comments</comments>
		<pubDate>Sat, 05 Jun 2010 08:24:39 +0000</pubDate>
		<dc:creator>dpwr</dc:creator>
				<category><![CDATA[Global illumination]]></category>
		<category><![CDATA[path tracing]]></category>
		<category><![CDATA[Ray tracing]]></category>
		<category><![CDATA[Cornell box]]></category>
		<category><![CDATA[Path tracing]]></category>
		<category><![CDATA[reflection]]></category>
		<category><![CDATA[refraction]]></category>

		<guid isPermaLink="false">http://dpow3r.wordpress.com/?p=96</guid>
		<description><![CDATA[I haven&#8217;t  made much progress  on my investigation of BDPT and this is  because of a lot of factors including the university , the pressure from the real world ,  lazyness&#8230;  But I managed to implement a better scene parser and a blender scene-export script .Here&#8217;s a couple of test renders i did during the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dpow3r.wordpress.com&amp;blog=7661317&amp;post=96&amp;subd=dpow3r&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I haven&#8217;t  made much progress  on my investigation of BDPT and this is  because of a lot of factors including the university , the pressure from the real world ,  lazyness&#8230;  But I managed to implement a better scene parser and a blender scene-export script .Here&#8217;s a couple of test renders i did during the last two months  (all of these images are rendered with path tracing except the first two)  , i hope you like them <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><a href="http://dpow3r.files.wordpress.com/2010/06/bdpt_uw.png"><img class="alignnone size-medium wp-image-97" title="bdpt_uw" src="http://dpow3r.files.wordpress.com/2010/06/bdpt_uw.png?w=298&#038;h=300" alt="" width="298" height="300" /></a></p>
<p><a href="http://dpow3r.files.wordpress.com/2010/06/bipt_first_test.png"><img class="alignnone size-medium wp-image-98" title="bipt_first_test" src="http://dpow3r.files.wordpress.com/2010/06/bipt_first_test.png?w=300&#038;h=300" alt="" width="300" height="300" /></a></p>
<p><a href="http://dpow3r.files.wordpress.com/2010/06/cornell-box.png"><img class="alignnone size-medium wp-image-99" title="cornell box" src="http://dpow3r.files.wordpress.com/2010/06/cornell-box.png?w=296&#038;h=300" alt="" width="296" height="300" /></a></p>
<p><a href="http://dpow3r.files.wordpress.com/2010/06/cornell_box_variation.png"><img class="alignnone size-medium wp-image-100" title="cornell_box_variation" src="http://dpow3r.files.wordpress.com/2010/06/cornell_box_variation.png?w=300&#038;h=280" alt="" width="300" height="280" /></a></p>
<p><a href="http://dpow3r.files.wordpress.com/2010/06/dragon.png"><img class="alignnone size-medium wp-image-101" title="dragon" src="http://dpow3r.files.wordpress.com/2010/06/dragon.png?w=300&#038;h=298" alt="" width="300" height="298" /></a></p>
<p><a href="http://dpow3r.files.wordpress.com/2010/06/dragons.png"><img class="alignnone size-medium wp-image-102" title="dragons" src="http://dpow3r.files.wordpress.com/2010/06/dragons.png?w=300&#038;h=225" alt="" width="300" height="225" /></a></p>
<p><a href="http://dpow3r.files.wordpress.com/2010/06/modern_car.png"><img class="alignnone size-medium wp-image-103" title="modern_car" src="http://dpow3r.files.wordpress.com/2010/06/modern_car.png?w=300&#038;h=270" alt="" width="300" height="270" /></a></p>
<p><a href="http://dpow3r.files.wordpress.com/2010/06/monkeys.png"><img class="alignnone size-medium wp-image-104" title="monkeys" src="http://dpow3r.files.wordpress.com/2010/06/monkeys.png?w=300&#038;h=224" alt="" width="300" height="224" /></a></p>
<p><a href="http://dpow3r.files.wordpress.com/2010/06/ring_caustics.png"><img class="alignnone size-medium wp-image-105" title="ring_caustics" src="http://dpow3r.files.wordpress.com/2010/06/ring_caustics.png?w=300&#038;h=300" alt="" width="300" height="300" /></a></p>
<p><a href="http://dpow3r.files.wordpress.com/2010/06/spheres-in-empty-space.png"><img class="alignnone size-medium  wp-image-107" title="spheres in empty space" src="http://dpow3r.files.wordpress.com/2010/06/spheres-in-empty-space.png?w=296&#038;h=300" alt="" width="296" height="300" /></a></p>
<p><a href="http://dpow3r.files.wordpress.com/2010/06/specular-spheres.png"><img class="alignnone size-medium  wp-image-106" title="specular spheres" src="http://dpow3r.files.wordpress.com/2010/06/specular-spheres.png?w=300&#038;h=226" alt="" width="300" height="226" /></a></p>
<p><a href="http://dpow3r.files.wordpress.com/2010/06/ajax-bust.png"><img class="alignnone size-medium wp-image-108" title="Ajax Bust" src="http://dpow3r.files.wordpress.com/2010/06/ajax-bust.png?w=300&#038;h=224" alt="" width="300" height="224" /></a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/dpow3r.wordpress.com/96/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/dpow3r.wordpress.com/96/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/dpow3r.wordpress.com/96/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/dpow3r.wordpress.com/96/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/dpow3r.wordpress.com/96/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/dpow3r.wordpress.com/96/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/dpow3r.wordpress.com/96/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/dpow3r.wordpress.com/96/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/dpow3r.wordpress.com/96/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/dpow3r.wordpress.com/96/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/dpow3r.wordpress.com/96/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/dpow3r.wordpress.com/96/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/dpow3r.wordpress.com/96/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/dpow3r.wordpress.com/96/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dpow3r.wordpress.com&amp;blog=7661317&amp;post=96&amp;subd=dpow3r&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://dpow3r.wordpress.com/2010/06/05/some-new-renders/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/4ea73949e3399369cb006031286843db?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">D-POWER</media:title>
		</media:content>

		<media:content url="http://dpow3r.files.wordpress.com/2010/06/bdpt_uw.png?w=298" medium="image">
			<media:title type="html">bdpt_uw</media:title>
		</media:content>

		<media:content url="http://dpow3r.files.wordpress.com/2010/06/bipt_first_test.png?w=300" medium="image">
			<media:title type="html">bipt_first_test</media:title>
		</media:content>

		<media:content url="http://dpow3r.files.wordpress.com/2010/06/cornell-box.png?w=296" medium="image">
			<media:title type="html">cornell box</media:title>
		</media:content>

		<media:content url="http://dpow3r.files.wordpress.com/2010/06/cornell_box_variation.png?w=300" medium="image">
			<media:title type="html">cornell_box_variation</media:title>
		</media:content>

		<media:content url="http://dpow3r.files.wordpress.com/2010/06/dragon.png?w=300" medium="image">
			<media:title type="html">dragon</media:title>
		</media:content>

		<media:content url="http://dpow3r.files.wordpress.com/2010/06/dragons.png?w=300" medium="image">
			<media:title type="html">dragons</media:title>
		</media:content>

		<media:content url="http://dpow3r.files.wordpress.com/2010/06/modern_car.png?w=300" medium="image">
			<media:title type="html">modern_car</media:title>
		</media:content>

		<media:content url="http://dpow3r.files.wordpress.com/2010/06/monkeys.png?w=300" medium="image">
			<media:title type="html">monkeys</media:title>
		</media:content>

		<media:content url="http://dpow3r.files.wordpress.com/2010/06/ring_caustics.png?w=300" medium="image">
			<media:title type="html">ring_caustics</media:title>
		</media:content>

		<media:content url="http://dpow3r.files.wordpress.com/2010/06/spheres-in-empty-space.png?w=296" medium="image">
			<media:title type="html">spheres in empty space</media:title>
		</media:content>

		<media:content url="http://dpow3r.files.wordpress.com/2010/06/specular-spheres.png?w=300" medium="image">
			<media:title type="html">specular spheres</media:title>
		</media:content>

		<media:content url="http://dpow3r.files.wordpress.com/2010/06/ajax-bust.png?w=300" medium="image">
			<media:title type="html">Ajax Bust</media:title>
		</media:content>
	</item>
		<item>
		<title>Bidirectional Path Tracing part 2</title>
		<link>http://dpow3r.wordpress.com/2009/12/28/bidirectional-path-tracing-part-2/</link>
		<comments>http://dpow3r.wordpress.com/2009/12/28/bidirectional-path-tracing-part-2/#comments</comments>
		<pubDate>Mon, 28 Dec 2009 19:14:40 +0000</pubDate>
		<dc:creator>dpwr</dc:creator>
				<category><![CDATA[bidirectional path tracing]]></category>
		<category><![CDATA[Global illumination]]></category>
		<category><![CDATA[path tracing]]></category>
		<category><![CDATA[Ray tracing]]></category>

		<guid isPermaLink="false">http://dpow3r.wordpress.com/?p=89</guid>
		<description><![CDATA[After 4 months of hard working, finally my bidirectional path tracer is starting to take shape.My big error is that  i&#8217;m weighting my paths all wrong ,so specular surfaces appear a little bit darker and sometimes even brighter. There is still a lot of improvement to be made,for example i can use a better heuristic [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dpow3r.wordpress.com&amp;blog=7661317&amp;post=89&amp;subd=dpow3r&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>After 4 months of hard working, finally my bidirectional path tracer is starting to take shape.My big error is that  i&#8217;m weighting my paths  all wrong ,so specular surfaces appear a little bit darker and sometimes even brighter.</p>
<p><a href="http://dpow3r.files.wordpress.com/2009/12/bdpt-cornell-scene.png"><img class="alignnone size-medium wp-image-90" title="BDPT cornell scene" src="http://dpow3r.files.wordpress.com/2009/12/bdpt-cornell-scene.png?w=300&#038;h=289" alt="" width="300" height="289" /></a><a href="http://dpow3r.files.wordpress.com/2009/12/bdpt-hard-scene.png"><img class="alignnone size-medium wp-image-91" title="BDPT hard scene" src="http://dpow3r.files.wordpress.com/2009/12/bdpt-hard-scene.png?w=292&#038;h=300" alt="" width="292" height="300" /></a></p>
<p><a href="http://dpow3r.files.wordpress.com/2009/12/under_water_caustics.png"><img class="alignnone size-medium wp-image-92" title="under_water_caustics" src="http://dpow3r.files.wordpress.com/2009/12/under_water_caustics.png?w=285&#038;h=300" alt="" width="285" height="300" /></a></p>
<p>There is still a lot of improvement to be made,for example i can use a better heuristic to combine the paths (Balance heuristic,power heuristic&#8230;) ,but for now i&#8217;m going to stick with my current implementation and probabily move to another topic ,may be acceleration structures or BRDFs or even Fractal Flames&#8230;I don&#8217;t know</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/dpow3r.wordpress.com/89/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/dpow3r.wordpress.com/89/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/dpow3r.wordpress.com/89/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/dpow3r.wordpress.com/89/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/dpow3r.wordpress.com/89/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/dpow3r.wordpress.com/89/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/dpow3r.wordpress.com/89/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/dpow3r.wordpress.com/89/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/dpow3r.wordpress.com/89/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/dpow3r.wordpress.com/89/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/dpow3r.wordpress.com/89/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/dpow3r.wordpress.com/89/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/dpow3r.wordpress.com/89/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/dpow3r.wordpress.com/89/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dpow3r.wordpress.com&amp;blog=7661317&amp;post=89&amp;subd=dpow3r&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://dpow3r.wordpress.com/2009/12/28/bidirectional-path-tracing-part-2/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/4ea73949e3399369cb006031286843db?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">D-POWER</media:title>
		</media:content>

		<media:content url="http://dpow3r.files.wordpress.com/2009/12/bdpt-cornell-scene.png?w=300" medium="image">
			<media:title type="html">BDPT cornell scene</media:title>
		</media:content>

		<media:content url="http://dpow3r.files.wordpress.com/2009/12/bdpt-hard-scene.png?w=292" medium="image">
			<media:title type="html">BDPT hard scene</media:title>
		</media:content>

		<media:content url="http://dpow3r.files.wordpress.com/2009/12/under_water_caustics.png?w=285" medium="image">
			<media:title type="html">under_water_caustics</media:title>
		</media:content>
	</item>
		<item>
		<title>Bidirectional Path Tracing</title>
		<link>http://dpow3r.wordpress.com/2009/11/29/bidirectional-path-tracing/</link>
		<comments>http://dpow3r.wordpress.com/2009/11/29/bidirectional-path-tracing/#comments</comments>
		<pubDate>Sun, 29 Nov 2009 14:53:28 +0000</pubDate>
		<dc:creator>dpwr</dc:creator>
				<category><![CDATA[bidirectional path tracing]]></category>
		<category><![CDATA[Global illumination]]></category>

		<guid isPermaLink="false">http://dpow3r.wordpress.com/?p=81</guid>
		<description><![CDATA[Hi, I didn&#8217;t posted since a while and i thought may be i should write something about my progress&#8230; My current project is a Monte Carlo bidirectional path tracer aiming to be robust and fast  as much as it can be.One of its main  goals is to familiarize myself with Monte Carlo Methods and how [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dpow3r.wordpress.com&amp;blog=7661317&amp;post=81&amp;subd=dpow3r&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Hi,</p>
<p>I didn&#8217;t posted since a while and i thought may be i should write something about my progress&#8230;</p>
<p>My current project is a Monte Carlo bidirectional path tracer aiming to be robust and fast  as much as it can be.One of its main  goals is to familiarize myself with Monte Carlo Methods and how we can apply various variance reduction  techniques to better solve the rendering equation.Obviously,the first step that i did is to implement the Light Tracing Algorithm which is very good at handling paths of the type L***DE,the second step is to find a way to combine a Light Path with an Eye Path and this is where all my nightmares began.To do so , I have two options:</p>
<p>-A uniform weighting scheme which treats all the paths as if they are &#8220;equal&#8221; .A major drawback of this technique is that the estimand can  have high variance and as a consequence all of the advantages of the light tracing step will be buried under the ground.</p>
<p>-With variable weights (as described in [1]) ,it weights  the paths based on their importance (i.e. important paths have weights closer to 1 and vice versa).</p>
<p>My implementation only supports uniform weighting scheme to combine the two paths ,and as it can be seen below in the images ,a naive BDPT can perform slightly better than a PT  for diffuse  scenes.</p>
<p><a href="http://dpow3r.files.wordpress.com/2009/11/bidirectional-pt-vs-pt.png"><img class="alignnone size-medium wp-image-83" title="BiDirectional PT vs PT" src="http://dpow3r.files.wordpress.com/2009/11/bidirectional-pt-vs-pt.png?w=300&#038;h=155" alt="" width="300" height="155" /></a></p>
<p>And here is another image which compares Light Tracing (left) to Path Tracing (right):</p>
<p><a href="http://dpow3r.files.wordpress.com/2009/11/light-tracing-vs-path-tracing.png"><img class="alignnone size-medium wp-image-84" title="Light Tracing vs Path Tracing" src="http://dpow3r.files.wordpress.com/2009/11/light-tracing-vs-path-tracing.png?w=300&#038;h=155" alt="" width="300" height="155" /></a></p>
<p>[1] Optimally Combining Sampling Techniques for Monte Carlo Rendering, Eric Veach Leonidas J. Guibas</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/dpow3r.wordpress.com/81/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/dpow3r.wordpress.com/81/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/dpow3r.wordpress.com/81/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/dpow3r.wordpress.com/81/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/dpow3r.wordpress.com/81/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/dpow3r.wordpress.com/81/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/dpow3r.wordpress.com/81/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/dpow3r.wordpress.com/81/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/dpow3r.wordpress.com/81/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/dpow3r.wordpress.com/81/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/dpow3r.wordpress.com/81/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/dpow3r.wordpress.com/81/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/dpow3r.wordpress.com/81/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/dpow3r.wordpress.com/81/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dpow3r.wordpress.com&amp;blog=7661317&amp;post=81&amp;subd=dpow3r&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://dpow3r.wordpress.com/2009/11/29/bidirectional-path-tracing/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/4ea73949e3399369cb006031286843db?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">D-POWER</media:title>
		</media:content>

		<media:content url="http://dpow3r.files.wordpress.com/2009/11/bidirectional-pt-vs-pt.png?w=300" medium="image">
			<media:title type="html">BiDirectional PT vs PT</media:title>
		</media:content>

		<media:content url="http://dpow3r.files.wordpress.com/2009/11/light-tracing-vs-path-tracing.png?w=300" medium="image">
			<media:title type="html">Light Tracing vs Path Tracing</media:title>
		</media:content>
	</item>
		<item>
		<title>Depth of field+some simple fractals</title>
		<link>http://dpow3r.wordpress.com/2009/08/14/depth-of-fieldsome-simple-fractals/</link>
		<comments>http://dpow3r.wordpress.com/2009/08/14/depth-of-fieldsome-simple-fractals/#comments</comments>
		<pubDate>Fri, 14 Aug 2009 11:14:39 +0000</pubDate>
		<dc:creator>dpwr</dc:creator>
				<category><![CDATA[Fractal]]></category>
		<category><![CDATA[Global illumination]]></category>
		<category><![CDATA[path tracing]]></category>

		<guid isPermaLink="false">http://dpow3r.wordpress.com/?p=66</guid>
		<description><![CDATA[I have been working slowly these days probably due to the hot temperature in Tunisia,anyway i have just implemented DOF and i thought  that i can share my progress,nothing out of the extraordinary, it&#8217;s just a simple scene but I&#8217;m willing to expand the ray tracer by adding an xml-parser probably, but nothing is for [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dpow3r.wordpress.com&amp;blog=7661317&amp;post=66&amp;subd=dpow3r&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I have been working slowly these days probably due to the hot temperature in Tunisia,anyway i have just implemented DOF and i thought  that i can share my progress,nothing out of the extraordinary, it&#8217;s just a simple scene but I&#8217;m willing to expand the ray tracer by adding an xml-parser probably, but nothing is for sure&#8230;</p>
<p>I think depth of field is not well explained in most of cg papers that&#8217;s why I&#8217;ll shortly describe the algorithm to calculate it:</p>
<ul>
<li>First ,we need to specify how farther our focal plane is from the camera origin (this is called the focal distance)</li>
<li>Second ,we calculate our ray direction as we normally do</li>
<li>Third,we calculate our point in focus for that given pixel (point=ray.origin+ray.direction*focal_distance)</li>
<li>Fourth,we calculate a random point on the lens and displace the ray origin by the coordinates of this point</li>
<li>Finally ,the new ray direction is ( point-ray.origin).normalize()</li>
</ul>
<p>Sorry for the excessive use of the word &#8220;calculate&#8221; <img src='http://s0.wp.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>Here&#8217;s my results:</p>
<p><img class="alignnone size-full wp-image-67" title="Cornell Box+DOF" src="http://dpow3r.files.wordpress.com/2009/08/cornell-boxdof.png?w=270&#038;h=270" alt="Cornell Box+DOF" width="270" height="270" /><img class="alignnone size-full wp-image-68" title="Outdoor+DOF" src="http://dpow3r.files.wordpress.com/2009/08/outdoordof.png?w=180&#038;h=180" alt="Outdoor+DOF" width="180" height="180" /></p>
<p>Thanks to <a href="http://lyc.deviantart.com/" target="_self">lyc</a> ,I&#8217;m now interested in <a href="http://en.wikipedia.org/wiki/Fractal" target="_self">fractals </a>,I wrote a program to render the <a href="http://warp.povusers.org/Mandelbrot/" target="_self">Mandelbrot set</a> and the Julia set ,it&#8217;s  quite an easy task ,what impress me though is that how such simple formulas (Zn+1=Zn*Zn+C where Zn+1,Zn and C are complex numbers) can generate very beautiful shapes.</p>
<p>The first image represents the Mandelbrot set, the second and the third ones are the Julia set with different values of C.</p>
<p><img class="alignnone size-full wp-image-73" title="Mandelbrot set" src="http://dpow3r.files.wordpress.com/2009/08/mandelbrot-set.png?w=450&#038;h=473" alt="Mandelbrot set" width="450" height="473" /></p>
<p><img class="alignnone size-full wp-image-74" title="Julia set 1" src="http://dpow3r.files.wordpress.com/2009/08/julia-set-1.png?w=450&#038;h=475" alt="Julia set 1" width="450" height="475" /><img class="alignnone size-full wp-image-75" title="Julia set 2" src="http://dpow3r.files.wordpress.com/2009/08/julia-set-2.png?w=450&#038;h=473" alt="Julia set 2" width="450" height="473" /></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/dpow3r.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/dpow3r.wordpress.com/66/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/dpow3r.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/dpow3r.wordpress.com/66/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/dpow3r.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/dpow3r.wordpress.com/66/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/dpow3r.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/dpow3r.wordpress.com/66/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/dpow3r.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/dpow3r.wordpress.com/66/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/dpow3r.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/dpow3r.wordpress.com/66/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/dpow3r.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/dpow3r.wordpress.com/66/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dpow3r.wordpress.com&amp;blog=7661317&amp;post=66&amp;subd=dpow3r&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://dpow3r.wordpress.com/2009/08/14/depth-of-fieldsome-simple-fractals/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/4ea73949e3399369cb006031286843db?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">D-POWER</media:title>
		</media:content>

		<media:content url="http://dpow3r.files.wordpress.com/2009/08/cornell-boxdof.png" medium="image">
			<media:title type="html">Cornell Box+DOF</media:title>
		</media:content>

		<media:content url="http://dpow3r.files.wordpress.com/2009/08/outdoordof.png" medium="image">
			<media:title type="html">Outdoor+DOF</media:title>
		</media:content>

		<media:content url="http://dpow3r.files.wordpress.com/2009/08/mandelbrot-set.png" medium="image">
			<media:title type="html">Mandelbrot set</media:title>
		</media:content>

		<media:content url="http://dpow3r.files.wordpress.com/2009/08/julia-set-1.png" medium="image">
			<media:title type="html">Julia set 1</media:title>
		</media:content>

		<media:content url="http://dpow3r.files.wordpress.com/2009/08/julia-set-2.png" medium="image">
			<media:title type="html">Julia set 2</media:title>
		</media:content>
	</item>
		<item>
		<title>Preetham&#8217;s skylight model</title>
		<link>http://dpow3r.wordpress.com/2009/07/23/preethams-skylight-model/</link>
		<comments>http://dpow3r.wordpress.com/2009/07/23/preethams-skylight-model/#comments</comments>
		<pubDate>Thu, 23 Jul 2009 12:33:17 +0000</pubDate>
		<dc:creator>dpwr</dc:creator>
				<category><![CDATA[path tracing]]></category>
		<category><![CDATA[Ray tracing]]></category>
		<category><![CDATA[Skylight]]></category>

		<guid isPermaLink="false">http://dpow3r.wordpress.com/?p=56</guid>
		<description><![CDATA[Hi folks, I&#8217;ve been experimenting  lately with the Preetham&#8217;s daylight model,i only implemented the skylight part ,at first it sounds really complicated ,a lot of formulas and numbers plus the color conversion (from xyY to XYZ to RGB) .But in the end , it is really not that complicated and it gives a good sense [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dpow3r.wordpress.com&amp;blog=7661317&amp;post=56&amp;subd=dpow3r&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Hi folks,</p>
<p>I&#8217;ve been experimenting  lately with the Preetham&#8217;s daylight model,i only implemented the skylight part ,at first it sounds really complicated ,a lot of formulas and numbers plus the color conversion (from xyY to XYZ to RGB) .But in the end , it is really not that complicated and it gives a good sense of realism to the scene ,even though i struggled to implement it correctly.Below are two images representing the sky at sunset and at daytime.</p>
<p><img class="alignnone size-full wp-image-57" title="Sunset" src="http://dpow3r.files.wordpress.com/2009/07/sunset.png?w=450&#038;h=450" alt="Sunset" width="450" height="450" /></p>
<p><img class="alignnone size-full wp-image-58" title="DayLight" src="http://dpow3r.files.wordpress.com/2009/07/daylight.png?w=450&#038;h=450" alt="DayLight" width="450" height="450" /></p>
<p>As you can notice , I&#8217;ve added a procedural texture (checkerboard) which is quite simple to implement.Here&#8217;s my code to generate such a texture.</p>
<p>Color3f getColor(HitRecord *record)<br />
{<br />
float s=2.0;//the size of the square<br />
int x=(int)floor(record-&gt;pHit.x/s);<br />
int y=(int)floor(record-&gt;pHit.y/s);<br />
int z=(int)floor(record-&gt;pHit.z/s);<br />
if ((x+y+z)%2==0)<br />
return m_c1;//the white color<br />
else<br />
return m_c2;//black color<br />
}</p>
<p><a href="http://www.eisscholle.de/articles.html" target="_blank">This paper</a> &#8220;Day light sky color&#8221;  helped me a lot to implement the Preetham&#8217;s skylight model , basically it provides all the necessary data to go from xyY to RGB color space plus the basic steps to get the sky color, so it&#8217;s a good read.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/dpow3r.wordpress.com/56/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/dpow3r.wordpress.com/56/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/dpow3r.wordpress.com/56/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/dpow3r.wordpress.com/56/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/dpow3r.wordpress.com/56/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/dpow3r.wordpress.com/56/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/dpow3r.wordpress.com/56/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/dpow3r.wordpress.com/56/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/dpow3r.wordpress.com/56/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/dpow3r.wordpress.com/56/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/dpow3r.wordpress.com/56/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/dpow3r.wordpress.com/56/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/dpow3r.wordpress.com/56/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/dpow3r.wordpress.com/56/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dpow3r.wordpress.com&amp;blog=7661317&amp;post=56&amp;subd=dpow3r&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://dpow3r.wordpress.com/2009/07/23/preethams-skylight-model/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/4ea73949e3399369cb006031286843db?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">D-POWER</media:title>
		</media:content>

		<media:content url="http://dpow3r.files.wordpress.com/2009/07/sunset.png" medium="image">
			<media:title type="html">Sunset</media:title>
		</media:content>

		<media:content url="http://dpow3r.files.wordpress.com/2009/07/daylight.png" medium="image">
			<media:title type="html">DayLight</media:title>
		</media:content>
	</item>
		<item>
		<title>Explicit Direct Lighting added</title>
		<link>http://dpow3r.wordpress.com/2009/06/26/explicit-direct-lighting-added/</link>
		<comments>http://dpow3r.wordpress.com/2009/06/26/explicit-direct-lighting-added/#comments</comments>
		<pubDate>Fri, 26 Jun 2009 16:28:27 +0000</pubDate>
		<dc:creator>dpwr</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://dpow3r.wordpress.com/?p=48</guid>
		<description><![CDATA[I&#8217;ve been playing with my ray tracer this morning , fixed a lot of bugs and optimized the bvh a little then I thought may be I  should add explicit direct lighting because quite frankly naive path tracing is so sloooowww especially with an old computer like  mine(p4 ht 3ghz).The result is pretty amazing, now [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dpow3r.wordpress.com&amp;blog=7661317&amp;post=48&amp;subd=dpow3r&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been playing with my ray tracer this morning , fixed a lot of bugs and optimized the bvh a little then I thought may be I  should add explicit direct lighting because quite frankly naive path tracing is so sloooowww especially with an old computer like  mine(p4 ht 3ghz).The result is pretty amazing, now I can render everything i want in a decent time.</p>
<p>To see the difference , here&#8217;s a scene (138 902 traingles) rendered with naive path tracing (1 samples/pixel)  in 15 seconds (some little details are lost due to jpg compression):</p>
<p><img class="alignnone size-full wp-image-49" title="Bunnies naive path tracing" src="http://dpow3r.files.wordpress.com/2009/06/bunnies-naive-path-tracing.jpg?w=450&#038;h=450" alt="Bunnies naive path tracing" width="450" height="450" /></p>
<p>and here&#8217;s the same scene after adding explicit direct lighting:</p>
<p><img class="alignnone size-full wp-image-50" title="Bunnies+Explicit Direct Lighting" src="http://dpow3r.files.wordpress.com/2009/06/bunniesexplicit-direct-lighting.jpg?w=450&#038;h=452" alt="Bunnies+Explicit Direct Lighting" width="450" height="452" /></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/dpow3r.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/dpow3r.wordpress.com/48/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/dpow3r.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/dpow3r.wordpress.com/48/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/dpow3r.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/dpow3r.wordpress.com/48/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/dpow3r.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/dpow3r.wordpress.com/48/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/dpow3r.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/dpow3r.wordpress.com/48/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/dpow3r.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/dpow3r.wordpress.com/48/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/dpow3r.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/dpow3r.wordpress.com/48/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dpow3r.wordpress.com&amp;blog=7661317&amp;post=48&amp;subd=dpow3r&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://dpow3r.wordpress.com/2009/06/26/explicit-direct-lighting-added/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/4ea73949e3399369cb006031286843db?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">D-POWER</media:title>
		</media:content>

		<media:content url="http://dpow3r.files.wordpress.com/2009/06/bunnies-naive-path-tracing.jpg" medium="image">
			<media:title type="html">Bunnies naive path tracing</media:title>
		</media:content>

		<media:content url="http://dpow3r.files.wordpress.com/2009/06/bunniesexplicit-direct-lighting.jpg" medium="image">
			<media:title type="html">Bunnies+Explicit Direct Lighting</media:title>
		</media:content>
	</item>
		<item>
		<title>Finally my BVH is working!</title>
		<link>http://dpow3r.wordpress.com/2009/06/24/finally-my-bvh-is-working/</link>
		<comments>http://dpow3r.wordpress.com/2009/06/24/finally-my-bvh-is-working/#comments</comments>
		<pubDate>Wed, 24 Jun 2009 19:55:41 +0000</pubDate>
		<dc:creator>dpwr</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://dpow3r.wordpress.com/?p=40</guid>
		<description><![CDATA[First thing first , I would like to say Bravo for everyone who has implemented a bvh  so Bravo Ray Tracing  guys ,its so easy to think about it but when it comes to coding you get two confused  especially for the first time, for me it was like I&#8217;m comitting a suicide (may be [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dpow3r.wordpress.com&amp;blog=7661317&amp;post=40&amp;subd=dpow3r&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>First thing first , I would like to say Bravo for everyone who has implemented a bvh  so Bravo Ray Tracing  guys <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> ,its so easy to think about it but when it comes to coding you get two confused  especially for the first time, for me it was like I&#8217;m comitting a suicide (may be this is because I&#8217;m too newbie <img src='http://s0.wp.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> )but after so many tries I succeded , well not 100% , it still some issues left (memory leak,messy code&#8230;)but afterall it works pretty fine and as a matter of fact I was amazed by the speed gain.No more blablabla , here is some benchmarking (rendered with my naive ray tracer):</p>
<p>Dragon (203 000 triangles):</p>
<p>Image resolution:1000*1000,number of sample for AA: 10 (random sampling),render time:38 minutes</p>
<p><img class="alignnone size-full wp-image-41" title="Dragon Stanford" src="http://dpow3r.files.wordpress.com/2009/06/dragon.jpg?w=450&#038;h=450" alt="Dragon Stanford" width="450" height="450" /></p>
<p>Suzanne (4000 triangles):</p>
<p>Image resolution:500*500,number of sample for AA: 10 (random sampling),render time:1min30s</p>
<p><img class="alignnone size-full wp-image-42" title="Suzanne 10spp" src="http://dpow3r.files.wordpress.com/2009/06/suzanne-10spp.jpg?w=450&#038;h=450" alt="Suzanne 10spp" width="450" height="450" /></p>
<p>Bunny(16000 triangles):</p>
<p>Image resolution:500*500,number of sample for AA: 10 (random sampling),render time:2 minutes</p>
<p><img class="alignnone size-full wp-image-43" title="BVH test1 1m30s 16k" src="http://dpow3r.files.wordpress.com/2009/06/bvh-test1-1m30s-16k.jpg?w=450&#038;h=450" alt="BVH test1 1m30s 16k" width="450" height="450" /></p>
<p>the same scene but it is path traced with 1000spp (render time:2hours)</p>
<p><img class="alignnone size-full wp-image-44" title="Cornell-box bunny bvh test 1000spp 2h" src="http://dpow3r.files.wordpress.com/2009/06/cornell-box-bunny-bvh-test-1000spp-2h.jpg?w=400&#038;h=400" alt="Cornell-box bunny bvh test 1000spp 2h" width="400" height="400" /></p>
<p><img class="alignnone size-full wp-image-53" title="Ajax Bust" src="http://dpow3r.files.wordpress.com/2009/06/ajax-bust.png?w=450&#038;h=450" alt="Ajax Bust" width="450" height="450" /></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/dpow3r.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/dpow3r.wordpress.com/40/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/dpow3r.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/dpow3r.wordpress.com/40/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/dpow3r.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/dpow3r.wordpress.com/40/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/dpow3r.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/dpow3r.wordpress.com/40/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/dpow3r.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/dpow3r.wordpress.com/40/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/dpow3r.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/dpow3r.wordpress.com/40/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/dpow3r.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/dpow3r.wordpress.com/40/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dpow3r.wordpress.com&amp;blog=7661317&amp;post=40&amp;subd=dpow3r&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://dpow3r.wordpress.com/2009/06/24/finally-my-bvh-is-working/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/4ea73949e3399369cb006031286843db?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">D-POWER</media:title>
		</media:content>

		<media:content url="http://dpow3r.files.wordpress.com/2009/06/dragon.jpg" medium="image">
			<media:title type="html">Dragon Stanford</media:title>
		</media:content>

		<media:content url="http://dpow3r.files.wordpress.com/2009/06/suzanne-10spp.jpg" medium="image">
			<media:title type="html">Suzanne 10spp</media:title>
		</media:content>

		<media:content url="http://dpow3r.files.wordpress.com/2009/06/bvh-test1-1m30s-16k.jpg" medium="image">
			<media:title type="html">BVH test1 1m30s 16k</media:title>
		</media:content>

		<media:content url="http://dpow3r.files.wordpress.com/2009/06/cornell-box-bunny-bvh-test-1000spp-2h.jpg" medium="image">
			<media:title type="html">Cornell-box bunny bvh test 1000spp 2h</media:title>
		</media:content>

		<media:content url="http://dpow3r.files.wordpress.com/2009/06/ajax-bust.png" medium="image">
			<media:title type="html">Ajax Bust</media:title>
		</media:content>
	</item>
		<item>
		<title>Need for Speed</title>
		<link>http://dpow3r.wordpress.com/2009/06/16/oh-nomy-path-tracer-is-so-slow/</link>
		<comments>http://dpow3r.wordpress.com/2009/06/16/oh-nomy-path-tracer-is-so-slow/#comments</comments>
		<pubDate>Tue, 16 Jun 2009 08:46:46 +0000</pubDate>
		<dc:creator>dpwr</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://dpow3r.wordpress.com/?p=25</guid>
		<description><![CDATA[I&#8217;ve been working on my path tracer since a month ,I actually finish it recently now it can produce some good images but what remains now is SPEED ,so to check whether  everything is working or not I rendered a scene containing suzanne ,a plane and sphere (the light): The render time is really shocking [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dpow3r.wordpress.com&amp;blog=7661317&amp;post=25&amp;subd=dpow3r&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been working on my path tracer since a month ,I actually finish it recently now it can produce some good images but what remains now is SPEED ,so to check whether  everything is working or not I rendered a scene containing suzanne ,a plane and sphere (the light):</p>
<p><img class="alignnone size-full wp-image-26" title="Naive Path Tracing Suzanne " src="http://dpow3r.files.wordpress.com/2009/06/naive-path-tracing-suzanne-1000spp-11h32min.jpg?w=450&#038;h=450" alt="Naive Path Tracing Suzanne " width="450" height="450" /></p>
<p>The render time is really shocking for a such a simple scene (approximately 11h35min using 1000spp).This is actually made me think seriously about acceleration structures for ray  tracing .</p>
<p>Next thing to implement  is Bounding Volume Hierarchies <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</p>
<p>By the way here&#8217;s some more images rendered by my ray tracer:</p>
<p><img class="alignleft size-medium wp-image-27" title="Naive Path Tracing My Gorgeous balls 100spp" src="http://dpow3r.files.wordpress.com/2009/06/naive-path-tracing-my-gorgeous-balls-100spp.jpg?w=450&#038;h=450" alt="Naive Path Tracing My Gorgeous balls 100spp" width="450" height="450" /><img class="alignnone size-full wp-image-28" title="Naive Path Tracing Light made me alive 1000spp" src="http://dpow3r.files.wordpress.com/2009/06/naive-path-tracing-light-made-me-alive-1000spp.jpg?w=450&#038;h=450" alt="Naive Path Tracing Light made me alive 1000spp" width="450" height="450" /><img class="alignnone size-full wp-image-29" title="Naive Path Tracing Cornell Spheres 1000spp" src="http://dpow3r.files.wordpress.com/2009/06/naive-path-tracing-cornell-spheres-1000spp.jpg?w=450&#038;h=450" alt="Naive Path Tracing Cornell Spheres 1000spp" width="450" height="450" /></p>
<p><img class="alignnone size-full wp-image-38" title="Naive Path Tracing Touching Spheres 1000spp" src="http://dpow3r.files.wordpress.com/2009/06/naive-path-tracing-touching-spheres-1000spp1.jpg?w=450&#038;h=450" alt="Naive Path Tracing Touching Spheres 1000spp" width="450" height="450" /></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/dpow3r.wordpress.com/25/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/dpow3r.wordpress.com/25/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/dpow3r.wordpress.com/25/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/dpow3r.wordpress.com/25/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/dpow3r.wordpress.com/25/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/dpow3r.wordpress.com/25/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/dpow3r.wordpress.com/25/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/dpow3r.wordpress.com/25/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/dpow3r.wordpress.com/25/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/dpow3r.wordpress.com/25/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/dpow3r.wordpress.com/25/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/dpow3r.wordpress.com/25/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/dpow3r.wordpress.com/25/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/dpow3r.wordpress.com/25/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dpow3r.wordpress.com&amp;blog=7661317&amp;post=25&amp;subd=dpow3r&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://dpow3r.wordpress.com/2009/06/16/oh-nomy-path-tracer-is-so-slow/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/4ea73949e3399369cb006031286843db?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">D-POWER</media:title>
		</media:content>

		<media:content url="http://dpow3r.files.wordpress.com/2009/06/naive-path-tracing-suzanne-1000spp-11h32min.jpg" medium="image">
			<media:title type="html">Naive Path Tracing Suzanne </media:title>
		</media:content>

		<media:content url="http://dpow3r.files.wordpress.com/2009/06/naive-path-tracing-my-gorgeous-balls-100spp.jpg?w=300" medium="image">
			<media:title type="html">Naive Path Tracing My Gorgeous balls 100spp</media:title>
		</media:content>

		<media:content url="http://dpow3r.files.wordpress.com/2009/06/naive-path-tracing-light-made-me-alive-1000spp.jpg" medium="image">
			<media:title type="html">Naive Path Tracing Light made me alive 1000spp</media:title>
		</media:content>

		<media:content url="http://dpow3r.files.wordpress.com/2009/06/naive-path-tracing-cornell-spheres-1000spp.jpg" medium="image">
			<media:title type="html">Naive Path Tracing Cornell Spheres 1000spp</media:title>
		</media:content>

		<media:content url="http://dpow3r.files.wordpress.com/2009/06/naive-path-tracing-touching-spheres-1000spp1.jpg" medium="image">
			<media:title type="html">Naive Path Tracing Touching Spheres 1000spp</media:title>
		</media:content>
	</item>
		<item>
		<title>Why my path tracer is messing up my pixels ?</title>
		<link>http://dpow3r.wordpress.com/2009/06/04/why-my-path-tracer-is-messing-up-my-pixels/</link>
		<comments>http://dpow3r.wordpress.com/2009/06/04/why-my-path-tracer-is-messing-up-my-pixels/#comments</comments>
		<pubDate>Thu, 04 Jun 2009 10:50:44 +0000</pubDate>
		<dc:creator>dpwr</dc:creator>
				<category><![CDATA[path tracing]]></category>
		<category><![CDATA[Path tracing]]></category>

		<guid isPermaLink="false">http://dpow3r.wordpress.com/?p=12</guid>
		<description><![CDATA[It was a hard night for me yesterday ,I was coding like maniac, searching for the reasons that made my path tracer render looks so ugly!I did fixed a bug related to the luminaries(objects below a luminaire ,like the ceiling, receives much light when they are supposed to be in shadow (thanks to neos for [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dpow3r.wordpress.com&amp;blog=7661317&amp;post=12&amp;subd=dpow3r&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>It was a hard night for me yesterday ,I was coding like maniac, searching for the reasons that made my path tracer render looks so ugly!I did fixed a bug related to the luminaries(objects below a luminaire ,like the ceiling, receives much light when they are supposed to be in shadow (thanks to <a title="Neos's blog" href="http://neos1.ovh.org/" target="_blank">neos </a>for pointing this out))&#8230;</p>
<p>But now , I had a much more serious problem , It is how to pick a random direction on the unit hemisphere centered at the normal of the intersected point.At first ,I didn&#8217;t bother at searching for a good approach ,I just used the classic method which is :</p>
<p>-Pick two random number between 0 and 1 (say n1 and n2)</p>
<p>-theta=2*PI*n1</p>
<p>-phi=0.5*PI*n2</p>
<p>And then the random direction is :</p>
<p>x=cos(theta)*sin(phi)</p>
<p>y=sin(theta)*sin(phi)</p>
<p>z=cos(phi)</p>
<p>But this method turns out to be not efficient as I thought , a &#8220;strange&#8221; shadow in the back of the sphere has appeared , take a look:</p>
<p><img class="alignnone size-full wp-image-15" title="Cornel-Box Path Tracing 9 samples " src="http://dpow3r.files.wordpress.com/2009/06/cornel-box-path-tracing-9-samples-test-51.jpg?w=450&#038;h=450" alt="Cornel-Box Path Tracing 9 samples " width="450" height="450" /></p>
<p>So I looked over the internet to find another method for hemispherical sampling and I end up with this one:</p>
<p>pick two random numbers (e1 ,e2) the spherical angles (theta and phi) are then given by :</p>
<p>theta=2.0*PI*e1,phi=arccos(sq rt(e2)).</p>
<p>The shadow thing is somehow fixed but another bug has appeared , check it out:</p>
<p><img class="alignnone size-full wp-image-16" title="Cornel-Box Path Tracing 9 samples test 6" src="http://dpow3r.files.wordpress.com/2009/06/cornel-box-path-tracing-9-samples-test-6.jpg?w=450&#038;h=450" alt="Cornel-Box Path Tracing 9 samples test 6" width="450" height="450" /></p>
<p>I know that it is less probably that someone is visiting my blog right now but if you passed by and have a solution , please let me know!</p>
<p>Thanks</p>
<p>Edit:</p>
<p>After some searching , I found out that my problem was that I&#8217;m not actually constructing a coordinate system such as the unit hemisphere is centered around the normal at the intersected point so the good way is to sample the hemisphere using a pdf  then creating the random direction by multiplying each component of the random direction (on the unit hemisphere) by the axis u,v,w respectively with w  set to be the normal at the intersected point (must be normalized) , u=CrossProduct(t,w)/length(CrossProduct(t,w)) , t is a vector equal to w except that the smallest absolute value component of t  (x,y or z) is set to 1 and finally v=CrossProduct(w,u).</p>
<p>Now the  Cornell Box looks much more better:</p>
<p><img class="alignnone size-full wp-image-23" title="Cornel-Box Path Tracing 9 samples test 7 100spp-28m" src="http://dpow3r.files.wordpress.com/2009/06/cornel-box-path-tracing-9-samples-test-7-100spp-28m.jpg?w=450&#038;h=450" alt="Cornel-Box Path Tracing 9 samples test 7 100spp-28m" width="450" height="450" /></p>
<p>Thanks for reading!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/dpow3r.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/dpow3r.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/dpow3r.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/dpow3r.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/dpow3r.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/dpow3r.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/dpow3r.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/dpow3r.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/dpow3r.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/dpow3r.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/dpow3r.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/dpow3r.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/dpow3r.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/dpow3r.wordpress.com/12/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dpow3r.wordpress.com&amp;blog=7661317&amp;post=12&amp;subd=dpow3r&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://dpow3r.wordpress.com/2009/06/04/why-my-path-tracer-is-messing-up-my-pixels/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/4ea73949e3399369cb006031286843db?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">D-POWER</media:title>
		</media:content>

		<media:content url="http://dpow3r.files.wordpress.com/2009/06/cornel-box-path-tracing-9-samples-test-51.jpg" medium="image">
			<media:title type="html">Cornel-Box Path Tracing 9 samples </media:title>
		</media:content>

		<media:content url="http://dpow3r.files.wordpress.com/2009/06/cornel-box-path-tracing-9-samples-test-6.jpg" medium="image">
			<media:title type="html">Cornel-Box Path Tracing 9 samples test 6</media:title>
		</media:content>

		<media:content url="http://dpow3r.files.wordpress.com/2009/06/cornel-box-path-tracing-9-samples-test-7-100spp-28m.jpg" medium="image">
			<media:title type="html">Cornel-Box Path Tracing 9 samples test 7 100spp-28m</media:title>
		</media:content>
	</item>
	</channel>
</rss>
