<?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>AdamCe&#039;s Blog &#187; Computer graphics</title>
	<atom:link href="http://celarek.at/category/computer-graphics/feed/" rel="self" type="application/rss+xml" />
	<link>http://celarek.at</link>
	<description>Just another weblog ; )</description>
	<lastBuildDate>Fri, 19 Apr 2013 18:08:25 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>Merging Ray Tracing and Rasterization in Mixed Reality</title>
		<link>http://celarek.at/2013/01/merging-ray-tracing-and-rasterization-in-mixed-reality/</link>
		<comments>http://celarek.at/2013/01/merging-ray-tracing-and-rasterization-in-mixed-reality/#comments</comments>
		<pubDate>Sat, 05 Jan 2013 21:58:11 +0000</pubDate>
		<dc:creator>Adam Celarek</dc:creator>
				<category><![CDATA[Computer graphics]]></category>
		<category><![CDATA[3d]]></category>
		<category><![CDATA[bachelor thesis]]></category>
		<category><![CDATA[CG]]></category>
		<category><![CDATA[ray tracing]]></category>
		<category><![CDATA[rendering]]></category>

		<guid isPermaLink="false">http://celarek.at/?p=182</guid>
		<description><![CDATA[I&#8217;ve been studying computer sciences for three years and recently I finished writing my bachelor thesis. The topic was implementing reflections and refractions in the context of mixed reality. Basically, mixed reality means adding virtual objects into a video stream (of real environment). One of the goals is to make the resulting images look as [...]]]></description>
				<content:encoded><![CDATA[<div id="attachment_188" class="wp-caption alignright" style="width: 250px"><a href="http://celarek.at/2013/01/merging-ray-tracing-and-rasterization-in-mixed-reality/reflectionscene_optix_knecht/" rel="attachment wp-att-188"><img class=" wp-image-188 " alt="Reflection Scene rendered by our combined renderer" src="http://celarek.at/wp/wp-content/uploads/2013/01/reflectionScene_optix_knecht-300x225.jpg" width="240" height="180" /></a><p class="wp-caption-text">Reflection Scene rendered by our combined renderer</p></div>
<p>I&#8217;ve been studying <a title="University homepage about the programme, I focused on computer graphics" href="http://www.tuwien.ac.at/en/teaching/bachelor_programmes/computer_sciences/#c25960">computer sciences</a> for three years and recently I finished writing my bachelor thesis. The topic was implementing reflections and refractions in the context of <a title="Wikipedia on Mixed reality. The article is poor at the time of writing, so I will elaborate." href="http://en.wikipedia.org/wiki/Mixed_reality">mixed reality</a>. Basically, mixed reality means adding virtual objects into a video stream (of real environment). One of the goals is to make the resulting images look as realistic as possible. Naturally this includes reflection and refraction effects.</p>
<p>In my work I utilise the framework implemented in the <a title="RESHADE website" href="http://www.cg.tuwien.ac.at/research/projects/RESHADE/">RESHADE</a> project. There was already a mixed reality renderer based on a Direct3D rasterizer. My task was to work on a ray tracer using <a title="NVIDIA OptiX" href="https://developer.nvidia.com/optix">OptiX</a> and merge the resulting image with the rasterizer&#8217;s image. OptiX provides a ray tracing framework for the graphics card.</p>
<div id="attachment_197" class="wp-caption alignleft" style="width: 250px"><a href="http://celarek.at/2013/01/merging-ray-tracing-and-rasterization-in-mixed-reality/glassbunny_optix_9xaa/" rel="attachment wp-att-197"><img class=" wp-image-197 " alt="Glass Bunny Scene" src="http://celarek.at/wp/wp-content/uploads/2013/01/glassBunny_optix_9xaa-300x240.jpg" width="240" height="192" /></a><p class="wp-caption-text">Glass Bunny Scene</p></div>
<p>Generally a ray tracer is slower than a rasterizer, but it has better quality with reflections and refractions. Because of that, we used a combined method. The ray tracer is working only on transparent and reflecting surfaces. This is achieved by a mask, which is created by the rasterizer in a separate render pass. This mask indicates, where reflecting or refracting objects are.</p>
<p>Especially with virtual flat mirrors there are very strong artefacts (see reflection scene, right mirror). This is due to lack of information. We are using the video frame, the environment map and the textured model of the real scene to gather information for the reflected ray.</p>
<p>Other problems we encountered were artefacts due to different shading algorithms in the rasterizer and ray tracer, and various issues with implementation due to the tone mapper.</p>
<p>When I was more or less finished with my work, I discovered that somebody else in the project was working on the implementation of reflections and refractions using the rasterizer. This was cool, because we were able to compare the results. Usually rasterizing is much faster than ray tracing. Surprisingly this was not the case with all scenarios. The reflection scene (first image) was faster with the combined method, the transparent bunny was slower. Especially with the bunny scene, I believe that the main drawback in speed was accuracy. The ray tracer also computes inner reflections, which causes a lot of additional work. I didn&#8217;t manage to benchmark this (rendering without inner reflections), because I was running out of time, but maybe I will do it yet..</p>
<p>Thanks to <a title="Institute homepage" href="http://www.cg.tuwien.ac.at/staff/MichaelWimmer.html">Michael Wimmer</a> for making this work possible and special thanks to <a title="Private homepage" href="http://martinknecht.com">Martin</a> <a title="Institute homepage" href="http://www.cg.tuwien.ac.at/staff/MartinKnecht.html">Knecht</a> for being an excellent supervisor and helping with all the questions <img src='http://celarek.at/wp/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</p>
<p>Finally, if you are interested into more details, <a title="My bachelor thesis on the university homepage" href="http://www.cg.tuwien.ac.at/research/publications/2012/celarek_adam-2012-rrmro/">here you can find the thesis</a>..</p>
]]></content:encoded>
			<wfw:commentRss>http://celarek.at/2013/01/merging-ray-tracing-and-rasterization-in-mixed-reality/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Chawah, Final update a little latish..</title>
		<link>http://celarek.at/2012/01/chawah-final-update-a-little-latish/</link>
		<comments>http://celarek.at/2012/01/chawah-final-update-a-little-latish/#comments</comments>
		<pubDate>Mon, 23 Jan 2012 23:04:56 +0000</pubDate>
		<dc:creator>Adam Celarek</dc:creator>
				<category><![CDATA[Computer graphics]]></category>
		<category><![CDATA[3d]]></category>
		<category><![CDATA[CG]]></category>
		<category><![CDATA[Chawah]]></category>
		<category><![CDATA[Game]]></category>
		<category><![CDATA[OpenGL]]></category>

		<guid isPermaLink="false">http://celarek.at/?p=144</guid>
		<description><![CDATA[I had lots of things to do, no time etc etc. You know the excuses. But now I want to write another blog about a new Lindenmayer brush for Krita, and though have the motivation to catch up with old posts.. Well, we added loads of new features, mainly graphical ones: lens  flares and sun [...]]]></description>
				<content:encoded><![CDATA[<p>I had lots of things to do, no time etc etc. You know the excuses. But now I want to write another blog about a new Lindenmayer brush for Krita, and though have the motivation to catch up with old posts..</p>
<p>Well, we added loads of new features, mainly graphical ones:</p>
<ul>
<li>lens  flares and sun dazzle effect</li>
<li>moving space dust (white circles), which are moving randomly, this is an simple particle system.</li>
<li>explosion and fire stream effects (more complicated particle systems)</li>
<li>environment mapping (on the ships and station)</li>
<li>bloom</li>
<li>music and sound effects</li>
<li>some power ups (armor, rockets, boost)</li>
<li>&#8230;</li>
</ul>
<p>Here is a video, we made for the presentation. Unfortunately it&#8217;s low quality, I hope to get a better one tomorrow, but it&#8217;s probably gone..</p>
<p><object width="560" height="315"><param name="movie" value="http://www.youtube-nocookie.com/v/PrdZnlJZRzM?version=3&amp;hl=en_GB&amp;rel=0"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube-nocookie.com/v/PrdZnlJZRzM?version=3&amp;hl=en_GB&amp;rel=0" type="application/x-shockwave-flash" width="560" height="315" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>Update: We found a better HD quality Video <img src='http://celarek.at/wp/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://celarek.at/2012/01/chawah-final-update-a-little-latish/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Chawah Progress</title>
		<link>http://celarek.at/2011/06/chawah-progress/</link>
		<comments>http://celarek.at/2011/06/chawah-progress/#comments</comments>
		<pubDate>Sat, 04 Jun 2011 16:04:53 +0000</pubDate>
		<dc:creator>Adam Celarek</dc:creator>
				<category><![CDATA[Computer graphics]]></category>
		<category><![CDATA[CG]]></category>
		<category><![CDATA[Chawah]]></category>
		<category><![CDATA[Environment mapping]]></category>
		<category><![CDATA[Game]]></category>
		<category><![CDATA[OpenGL]]></category>

		<guid isPermaLink="false">http://celarek.at/?p=127</guid>
		<description><![CDATA[More than one month since my last post and we (Felix and me) are quite satisfied with our progress. There is some basic game logic (you can destroy the other ship and then the game restarts), health display and physics. We got all points at our first submission and currently we are starting implementing the [...]]]></description>
				<content:encoded><![CDATA[<p>More than one month since my last post and we (Felix and me) are quite satisfied with our progress. There is some basic game logic (you can destroy the other ship and then the game restarts), health display and physics. We got all points at our first submission and currently we are starting implementing the <a href="https://cg2.cg.tuwien.ac.at/wiki/doku.php?id=students:ss2011:chawah:design_document&#effects">effects</a>. Environment mapping is already in place.<br />
<a href="http://celarek.at/wp/wp-content/uploads/2011/06/chawah3.jpeg"><img src="http://celarek.at/wp/wp-content/uploads/2011/06/chawah3-300x187.jpg" alt="" title="Third Chawah Screenshot" width="300" height="187" class="aligncenter size-medium wp-image-125" /></a><br />
<a href="http://celarek.at/wp/wp-content/uploads/2011/06/chawah4.jpeg"><img src="http://celarek.at/wp/wp-content/uploads/2011/06/chawah4-300x187.jpg" alt="" title="Fourth Chawah Screenshot" width="300" height="187" class="aligncenter size-medium wp-image-126" /></a></p>
<p>I&#8217;ve made a short video, where you can see bullet physics in action (at the end of the video you can see bullet debug mode enabled).<br />
<object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/MvwcdqsD75M?hl=en&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/MvwcdqsD75M?hl=en&#038;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object><br />
Music by <a href="http://www.jamendo.com/en/artist/b.z.d.h">Bézèd&#8217;h</a>, music and video are CC licensed.</p>
]]></content:encoded>
			<wfw:commentRss>http://celarek.at/2011/06/chawah-progress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>First chawah screenshots</title>
		<link>http://celarek.at/2011/04/first-chawah-screenshots/</link>
		<comments>http://celarek.at/2011/04/first-chawah-screenshots/#comments</comments>
		<pubDate>Wed, 27 Apr 2011 23:02:59 +0000</pubDate>
		<dc:creator>Adam Celarek</dc:creator>
				<category><![CDATA[Computer graphics]]></category>
		<category><![CDATA[Assimp]]></category>
		<category><![CDATA[CG]]></category>
		<category><![CDATA[Chawah]]></category>
		<category><![CDATA[Game]]></category>
		<category><![CDATA[GLEW]]></category>
		<category><![CDATA[GLFW]]></category>
		<category><![CDATA[OpenGL]]></category>

		<guid isPermaLink="false">http://celarek.at/?p=108</guid>
		<description><![CDATA[Unfortunatly I hadn&#8217;t time for Krita any time recently. I had to work and do stuff for university. I will focus more on Krita in summer again.. This term i&#8217;m attending the second computer graphics course in my university. The goal is to program a 3d game in OpenGL. We (Felix and me) chose to [...]]]></description>
				<content:encoded><![CDATA[<p>Unfortunatly I hadn&#8217;t time for Krita any time recently. I had to work and do stuff for university. I will focus more on Krita in summer again..</p>
<p>This term i&#8217;m attending the second <a href="http://cg.tuwien.ac.at/courses/CG23/LU.html">computer graphics</a> course in my university. The goal is to program a 3d game in OpenGL. We (Felix and me) chose to program a <a href="https://cg2.cg.tuwien.ac.at/wiki/doku.php?id=students:ss2011:chawah:overview">split screen flight duel game</a>, as this is a simple game concept, but it&#8217;s still very extensible graphics and game logic wise.</p>
<p>The first step was to setup OpenGL etc. (<a href="http://glew.sourceforge.net/">GLEW</a>, <a href="http://www.glfw.org/">GLFW</a>), which produced this first screen shot in begin of April.<br />
<img src="http://celarek.at/wp/wp-content/uploads/2011/04/chawah1.jpg" alt="First Chawah screen shot" height="200" /></p>
<p>We have worked hard and now we have implemented model loading (<a href="http://assimp.sourceforge.net/">Assimp</a>), shading, texturing, controls and split screen. Looks good for our first deadline <img src='http://celarek.at/wp/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
<a href="http://celarek.at/wp/wp-content/uploads/2011/04/chawah2.jpg"><img src="http://celarek.at/wp/wp-content/uploads/2011/04/chawah2.jpg" alt="First Chawah screen shot" height="200" /></a></p>
<p>Next steps will be to implement some more game logic, in game display of hull state, frags and menu and then physics. We will use <a href="http://www.cegui.org.uk">CEGUI</a> and <a href="http://bulletphysics.org">Bullet</a> for these tasks..</p>
]]></content:encoded>
			<wfw:commentRss>http://celarek.at/2011/04/first-chawah-screenshots/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
