<?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>BigDaveDev - Honours &#187; Research</title>
	<atom:link href="http://bigdavedev.com/honours-blog/category/research/feed/" rel="self" type="application/rss+xml" />
	<link>http://bigdavedev.com/honours-blog</link>
	<description></description>
	<lastBuildDate>Thu, 12 Aug 2010 20:12:17 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Worksheet 4</title>
		<link>http://bigdavedev.com/honours-blog/2009/11/worksheet-4/</link>
		<comments>http://bigdavedev.com/honours-blog/2009/11/worksheet-4/#comments</comments>
		<pubDate>Thu, 19 Nov 2009 11:53:05 +0000</pubDate>
		<dc:creator>Big Dave</dc:creator>
				<category><![CDATA[Proposal]]></category>
		<category><![CDATA[Research]]></category>
		<category><![CDATA[Update]]></category>
		<category><![CDATA[Worksheet]]></category>

		<guid isPermaLink="false">http://bigdavedev.com/honours-blog/?p=82</guid>
		<description><![CDATA[In this final worksheet we are asked to outline our presentation for the 23rd November.  The presentation is to be no more than 5 mins (including question time of 2 mins).  The following are points to talk about: Introduction: The focus of this dissertation is on atmospheric scattering as a post-processed effect.  Atmospheric scattering is [...]]]></description>
			<content:encoded><![CDATA[<p>In this final worksheet we are asked to outline our presentation for the 23rd November.  The presentation is to be no more than 5 mins (including question time of 2 mins).  The following are points to talk about:</p>
<p>Introduction:</p>
<p>The focus of this dissertation is on atmospheric scattering as a post-processed effect.  Atmospheric scattering is the reason that our sky has colour.  It describes the way that the light from the sun disperses when it comes through our atmosphere.  In terms of game development, it can add REAL depth cues to vast landscapes and increase the immersion that the player experiences.  Plus, it looks good!</p>
<p>CryEngine2 uses this effect very well and creates astoundingly beautiful environments :</p>
<p><img class="aligncenter size-full wp-image-88" title="ce2-sshot002" src="http://bigdavedev.com/honours-blog/wp-content/uploads/2009/11/ce2-sshot002.jpg" alt="ce2-sshot002" width="440" height="145" /></p>
<p>The image on the left is of Kualoa Ranch in Hawaii and the image on the right is the CryEngine2 replica.<span id="more-82"></span></p>
<p>In this implementation, though, the aerial perspective calculations used were not those defined by the atmospheric model they used.  Instead, they forced their own implementation to work.  Though it looks good, it is still not as good as it should be.  The aim of this honours project, then, is to use the same atmospheric model as CryEngine2 and to add the correct calculations for aerial perspective.</p>
<p>Issues:</p>
<p>The main issue surrounding this effect is that it is very expensive to calculate.  In the original implementations &#8211; see Nishita93 and Preetham99 &#8211; highly tessellated sky hemispheres were used.  This meant that for better representations of the sky, more vertices had to be used.  In a game, this would have a serious effect on performance.</p>
]]></content:encoded>
			<wfw:commentRss>http://bigdavedev.com/honours-blog/2009/11/worksheet-4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Worksheet 3 &#8211; Draft Proposal</title>
		<link>http://bigdavedev.com/honours-blog/2009/10/worksheet-3-draft-proposal/</link>
		<comments>http://bigdavedev.com/honours-blog/2009/10/worksheet-3-draft-proposal/#comments</comments>
		<pubDate>Tue, 27 Oct 2009 12:04:20 +0000</pubDate>
		<dc:creator>Big Dave</dc:creator>
				<category><![CDATA[Proposal]]></category>
		<category><![CDATA[Research]]></category>
		<category><![CDATA[Update]]></category>
		<category><![CDATA[Worksheet]]></category>

		<guid isPermaLink="false">http://bigdavedev.com/honours-blog/?p=73</guid>
		<description><![CDATA[Introduction Atmospheric effects in games are becoming increasingly more popular; however some implementations are less efficient than others, giving arguably better results – (Tomoyuki et al. 1993) vs. (Preetham et al. 1999) for example. These models can be performed on a per-pixel basis to provide very realistic looking skies in games. It was suggested in [...]]]></description>
			<content:encoded><![CDATA[<p><!--[endif]--></p>
<p class="style3" style="margin-left: 0in;"><strong><span style="text-decoration: underline;"><span style="font-family: Arial; letter-spacing: 0.4pt;" lang="EN-US">Introduction</span></span></strong></p>
<p class="MsoNormal">
<p class="MsoNormal" style="line-height: 150%;">Atmospheric effects in games are becoming increasingly more popular; however some implementations are less efficient than others, giving arguably better results – <!--[if supportFields]><span style="mso-element:field-begin" mce_style="mso-element:field-begin"></span><span style="mso-spacerun:yes" mce_style="mso-spacerun:yes"> </span>ADDIN EN.CITE &lt;EndNote&gt;&lt;Cite&gt;&lt;Author&gt;Tomoyuki&lt;/Author&gt;&lt;Year&gt;1993&lt;/Year&gt;&lt;RecNum&gt;2&lt;/RecNum&gt;&lt;record&gt;&lt;rec-number&gt;2&lt;/rec-number&gt;&lt;ref-type name=&quot;Conference Paper&quot;&gt;47&lt;/ref-type&gt;&lt;contributors&gt;&lt;authors&gt;&lt;author&gt;Tomoyuki, Nishita&lt;/author&gt;&lt;author&gt;Takao, Sirai&lt;/author&gt;&lt;author&gt;Katsumi, Tadamura&lt;/author&gt;&lt;author&gt;Eihachiro, Nakamae&lt;/author&gt;&lt;/authors&gt;&lt;/contributors&gt;&lt;titles&gt;&lt;title&gt;Display of the earth taking into account atmospheric scattering&lt;/title&gt;&lt;secondary-title&gt;Proceedings of the 20th annual conference on Computer graphics and interactive techniques&lt;/secondary-title&gt;&lt;/titles&gt;&lt;dates&gt;&lt;year&gt;1993&lt;/year&gt;&lt;/dates&gt;&lt;pub-location&gt;Anaheim, CA&lt;/pub-location&gt;&lt;publisher&gt;ACM&lt;/publisher&gt;&lt;urls&gt;&lt;/urls&gt;&lt;electronic-resource-num&gt;http://doi.acm.org/10.1145/166117.166140&lt;/electronic-resource-num&gt;&lt;/record&gt;&lt;/Cite&gt;&lt;/EndNote&gt;<span style="mso-element:field-separator" mce_style="mso-element:field-separator"></span><![endif]-->(Tomoyuki et al. 1993)<!--[if supportFields]><span style="mso-element:field-end" mce_style="mso-element:field-end"></span><![endif]--> vs. <!--[if supportFields]><span style="mso-element:field-begin" mce_style="mso-element:field-begin"></span><span style="mso-spacerun:yes" mce_style="mso-spacerun:yes"> </span>ADDIN EN.CITE &lt;EndNote&gt;&lt;Cite&gt;&lt;Author&gt;Preetham&lt;/Author&gt;&lt;Year&gt;1999&lt;/Year&gt;&lt;RecNum&gt;4&lt;/RecNum&gt;&lt;record&gt;&lt;rec-number&gt;4&lt;/rec-number&gt;&lt;ref-type name=&quot;Conference Paper&quot;&gt;47&lt;/ref-type&gt;&lt;contributors&gt;&lt;authors&gt;&lt;author&gt;A. J. Preetham&lt;/author&gt;&lt;author&gt;Peter, Shirley&lt;/author&gt;&lt;author&gt;Brian, Smits&lt;/author&gt;&lt;/authors&gt;&lt;/contributors&gt;&lt;titles&gt;&lt;title&gt;A practical analytic model for daylight&lt;/title&gt;&lt;secondary-title&gt;Proceedings of the 26th annual conference on Computer graphics and interactive techniques&lt;/secondary-title&gt;&lt;/titles&gt;&lt;dates&gt;&lt;year&gt;1999&lt;/year&gt;&lt;/dates&gt;&lt;publisher&gt;ACM Press/Addison-Wesley Publishing Co.&lt;/publisher&gt;&lt;urls&gt;&lt;/urls&gt;&lt;electronic-resource-num&gt;http://doi.acm.org/10.1145/311535.311545&lt;/electronic-resource-num&gt;&lt;/record&gt;&lt;/Cite&gt;&lt;/EndNote&gt;<span style="mso-element:field-separator" mce_style="mso-element:field-separator"></span><![endif]-->(Preetham et al. 1999)<!--[if supportFields]><span style="mso-element:field-end" mce_style="mso-element:field-end"></span><![endif]--> for example.<span> </span>These models can be performed on a per-pixel basis to provide very realistic looking skies in games. <span> </span>It was suggested in an e-mail discussion with Damianno Iannetta of Rare on 7<sup>th</sup> October 2009 that this project should steer itself toward the model proposed in <!--[if supportFields]><span style="mso-element:field-begin" mce_style="mso-element:field-begin"></span><span style="mso-spacerun:yes" mce_style="mso-spacerun:yes"> </span>ADDIN EN.CITE &lt;EndNote&gt;&lt;Cite&gt;&lt;Author&gt;Tomoyuki&lt;/Author&gt;&lt;Year&gt;1993&lt;/Year&gt;&lt;RecNum&gt;2&lt;/RecNum&gt;&lt;record&gt;&lt;rec-number&gt;2&lt;/rec-number&gt;&lt;ref-type name=&quot;Conference Paper&quot;&gt;47&lt;/ref-type&gt;&lt;contributors&gt;&lt;authors&gt;&lt;author&gt;Tomoyuki, Nishita&lt;/author&gt;&lt;author&gt;Takao, Sirai&lt;/author&gt;&lt;author&gt;Katsumi, Tadamura&lt;/author&gt;&lt;author&gt;Eihachiro, Nakamae&lt;/author&gt;&lt;/authors&gt;&lt;/contributors&gt;&lt;titles&gt;&lt;title&gt;Display of the earth taking into account atmospheric scattering&lt;/title&gt;&lt;secondary-title&gt;Proceedings of the 20th annual conference on Computer graphics and interactive techniques&lt;/secondary-title&gt;&lt;/titles&gt;&lt;dates&gt;&lt;year&gt;1993&lt;/year&gt;&lt;/dates&gt;&lt;pub-location&gt;Anaheim, CA&lt;/pub-location&gt;&lt;publisher&gt;ACM&lt;/publisher&gt;&lt;urls&gt;&lt;/urls&gt;&lt;electronic-resource-num&gt;http://doi.acm.org/10.1145/166117.166140&lt;/electronic-resource-num&gt;&lt;/record&gt;&lt;/Cite&gt;&lt;/EndNote&gt;<span style="mso-element:field-separator" mce_style="mso-element:field-separator"></span><![endif]-->(Tomoyuki et al. 1993)<!--[if supportFields]><span style="mso-element:field-end" mce_style="mso-element:field-end"></span><![endif]--> and as such, this dissertation will be focusing on an efficient post-processed <span> </span>implementation of this technique for PC and/or PS3, making the most use of hardware – i.e. GPGPU and Cell for PC and PS3 respectively.</p>
<p class="MsoNormal" style="line-height: 150%;"><span id="more-73"></span></p>
<p class="MsoNormal">
<p class="MsoNormal" style="margin-right: 1.2in;"><strong><span style="text-decoration: underline;"><span style="font-family: Arial; letter-spacing: 0.4pt;" lang="EN-US">Motivation</span></span></strong></p>
<p class="MsoNormal">
<p class="MsoNormal" style="line-height: 150%;">“Modelling surfaces with polygons is often the most straightforward way to approach the problem of portraying objects in a scene.<span> </span>Polygons are good only up to a point, however.<span> </span>Image-based rendering (IBR) has become a paradigm of its own.” As written by <!--[if supportFields]><span style="mso-element:field-begin" mce_style="mso-element:field-begin"></span><span style="mso-spacerun:yes" mce_style="mso-spacerun:yes"> </span>ADDIN EN.CITE &lt;EndNote&gt;&lt;Cite&gt;&lt;Author&gt;Möller&lt;/Author&gt;&lt;Year&gt;2008&lt;/Year&gt;&lt;RecNum&gt;14&lt;/RecNum&gt;&lt;record&gt;&lt;rec-number&gt;14&lt;/rec-number&gt;&lt;ref-type name=&quot;Book&quot;&gt;6&lt;/ref-type&gt;&lt;contributors&gt;&lt;authors&gt;&lt;author&gt;Möller, Tomas,&lt;/author&gt;&lt;author&gt;Haines, Eric,&lt;/author&gt;&lt;author&gt;Hoffman, Naty.&lt;/author&gt;&lt;/authors&gt;&lt;/contributors&gt;&lt;titles&gt;&lt;title&gt;Real-time rendering&lt;/title&gt;&lt;/titles&gt;&lt;pages&gt;xviii, 1027&lt;/pages&gt;&lt;edition&gt;3rd&lt;/edition&gt;&lt;keywords&gt;&lt;keyword&gt;Computer graphics.&lt;/keyword&gt;&lt;keyword&gt;Real-time data processing.&lt;/keyword&gt;&lt;/keywords&gt;&lt;dates&gt;&lt;year&gt;2008&lt;/year&gt;&lt;/dates&gt;&lt;pub-location&gt;Wellesley, Mass.&lt;/pub-location&gt;&lt;publisher&gt;A.K. Peters&lt;/publisher&gt;&lt;isbn&gt;9781568814247&amp;#xD;1568814240&lt;/isbn&gt;&lt;accession-num&gt;109847&lt;/accession-num&gt;&lt;call-num&gt;T385 .M635 2008&amp;#xD;006.6 MOL&lt;/call-num&gt;&lt;urls&gt;&lt;/urls&gt;&lt;/record&gt;&lt;/Cite&gt;&lt;/EndNote&gt;<span style="mso-element:field-separator" mce_style="mso-element:field-separator"></span><![endif]-->(Möller et al. 2008)<!--[if supportFields]><span style="mso-element:field-end" mce_style="mso-element:field-end"></span><![endif]--> in their book <em>Real-Time Rendering </em>begins to explain the importance of post-processing a 3D scene in a computer game.<span> </span>Things like clouds and fur are too complex to be represented as models.<span> </span>By creating images of the scene, these objects can be added as a post-process at a potentially lower cost – dependent on screen resolution and technique used – to look more realistic.</p>
<p class="MsoNormal" style="line-height: 150%;">
<p class="MsoNormal" style="line-height: 150%;">In a similar manner, this technique can be used to create realistic renderings of the sky between sunrise and sunset as demonstrated by <!--[if supportFields]><span style="mso-element:field-begin" mce_style="mso-element:field-begin"></span><span style="mso-spacerun:yes" mce_style="mso-spacerun:yes"> </span>ADDIN EN.CITE &lt;EndNote&gt;&lt;Cite&gt;&lt;Author&gt;Carsten&lt;/Author&gt;&lt;Year&gt;2006&lt;/Year&gt;&lt;RecNum&gt;3&lt;/RecNum&gt;&lt;record&gt;&lt;rec-number&gt;3&lt;/rec-number&gt;&lt;ref-type name=&quot;Conference Paper&quot;&gt;47&lt;/ref-type&gt;&lt;contributors&gt;&lt;authors&gt;&lt;author&gt;Carsten Wenzel&lt;/author&gt;&lt;/authors&gt;&lt;/contributors&gt;&lt;titles&gt;&lt;title&gt;Real-time atmospheric effects in games&lt;/title&gt;&lt;secondary-title&gt;ACM SIGGRAPH 2006 Courses&lt;/secondary-title&gt;&lt;/titles&gt;&lt;dates&gt;&lt;year&gt;2006&lt;/year&gt;&lt;/dates&gt;&lt;pub-location&gt;Boston, Massachusetts&lt;/pub-location&gt;&lt;publisher&gt;ACM&lt;/publisher&gt;&lt;urls&gt;&lt;/urls&gt;&lt;electronic-resource-num&gt;http://doi.acm.org/10.1145/1185657.1185831&lt;/electronic-resource-num&gt;&lt;/record&gt;&lt;/Cite&gt;&lt;/EndNote&gt;<span style="mso-element:field-separator" mce_style="mso-element:field-separator"></span><![endif]-->(Wenzel 2006)<!--[if supportFields]><span style="mso-element:field-end" mce_style="mso-element:field-end"></span><![endif]--> using CryEngine2 and (Tomoyuki et al. 1993).<span> </span>The atmospheric effect put forward for use in CryEngine2, however, does not use the aerial perspective model put forward by <!--[if supportFields]><span style="mso-element: field-begin" mce_style="mso-element: field-begin"></span><span style="mso-spacerun:yes" mce_style="mso-spacerun:yes"> </span>ADDIN EN.CITE &lt;EndNote&gt;&lt;Cite&gt;&lt;Author&gt;Tomoyuki&lt;/Author&gt;&lt;Year&gt;1993&lt;/Year&gt;&lt;RecNum&gt;2&lt;/RecNum&gt;&lt;record&gt;&lt;rec-number&gt;2&lt;/rec-number&gt;&lt;ref-type name=&quot;Conference Paper&quot;&gt;47&lt;/ref-type&gt;&lt;contributors&gt;&lt;authors&gt;&lt;author&gt;Tomoyuki, Nishita&lt;/author&gt;&lt;author&gt;Takao, Sirai&lt;/author&gt;&lt;author&gt;Katsumi, Tadamura&lt;/author&gt;&lt;author&gt;Eihachiro, Nakamae&lt;/author&gt;&lt;/authors&gt;&lt;/contributors&gt;&lt;titles&gt;&lt;title&gt;Display of the earth taking into account atmospheric scattering&lt;/title&gt;&lt;secondary-title&gt;Proceedings of the 20th annual conference on Computer graphics and interactive techniques&lt;/secondary-title&gt;&lt;/titles&gt;&lt;dates&gt;&lt;year&gt;1993&lt;/year&gt;&lt;/dates&gt;&lt;pub-location&gt;Anaheim, CA&lt;/pub-location&gt;&lt;publisher&gt;ACM&lt;/publisher&gt;&lt;urls&gt;&lt;/urls&gt;&lt;electronic-resource-num&gt;http://doi.acm.org/10.1145/166117.166140&lt;/electronic-resource-num&gt;&lt;/record&gt;&lt;/Cite&gt;&lt;/EndNote&gt;<span style="mso-element:field-separator" mce_style="mso-element:field-separator"></span><![endif]-->(Tomoyuki et al. 1993)<!--[if supportFields]><span style="mso-element:field-end" mce_style="mso-element:field-end"></span><![endif]-->, only the scattering model is used.<span> </span>It is therefore desirable to complete this technique by adding the correct method for aerial perspective.<span> </span></p>
<p class="MsoNormal">
<p class="MsoNormal" style="line-height: 150%;">There are numerous benefits to using accurate models for atmospheric conditions.<span> </span>Firstly, when a user begins to play a game, the visuals presented are one of the first things that will be noticed.<span> </span>Certainly, introducing magnificent effects will only aid in increasing the immersion experienced by the player – if supported by sufficient gameplay. <span> </span>According to a recent survey conducted by Steam last month 65.38% of gamers using Steam own an NVIDIA graphics cards and a further 27.26% own an ATI GPU <!--[if supportFields]><span style="mso-element: field-begin" mce_style="mso-element: field-begin"></span><span style="mso-spacerun:yes" mce_style="mso-spacerun:yes"> </span>ADDIN EN.CITE &lt;EndNote&gt;&lt;Cite&gt;&lt;Author&gt;Steam&lt;/Author&gt;&lt;Year&gt;2009&lt;/Year&gt;&lt;RecNum&gt;17&lt;/RecNum&gt;&lt;record&gt;&lt;rec-number&gt;17&lt;/rec-number&gt;&lt;ref-type name=&quot;Internet (Web Page(s))&quot;&gt;25&lt;/ref-type&gt;&lt;contributors&gt;&lt;authors&gt;&lt;author&gt;Steam&lt;/author&gt;&lt;/authors&gt;&lt;/contributors&gt;&lt;titles&gt;&lt;title&gt;Steam Hardware Survey&lt;/title&gt;&lt;/titles&gt;&lt;dates&gt;&lt;year&gt;2009&lt;/year&gt;&lt;pub-dates&gt;&lt;date&gt;22 October 2009&lt;/date&gt;&lt;/pub-dates&gt;&lt;/dates&gt;&lt;publisher&gt;http://steampowered.com&lt;/publisher&gt;&lt;urls&gt;&lt;related-urls&gt;&lt;url&gt;http://store.steampowered.com/hwsurvey/&lt;/url&gt;&lt;/related-urls&gt;&lt;/urls&gt;&lt;/record&gt;&lt;/Cite&gt;&lt;/EndNote&gt;<span style="mso-element:field-separator" mce_style="mso-element:field-separator"></span><![endif]-->(Steam 2009)<!--[if supportFields]><span style="mso-element:field-end" mce_style="mso-element:field-end"></span><![endif]--> .<span> </span>This implies that the majority of PC gamers at least are expecting to buy games with high graphics capabilities.<span> </span></p>
<p class="MsoNormal" style="line-height: 150%;">
<p class="MsoNormal" style="line-height: 150%;">Secondly, great looking images can help with marketing.<span> </span>Again, when screenshots are released to the public it is important that the game looks appealing and carefully selected graphical effects can enhance a game’s reputation.<span> </span>Another example of how accurate models for atmospheric conditions can enhance immersion is in the simulation genre which includes games such as the Gran Turismo series by Polyphony Digital where the aim is to create the most visually stunning products possible as well as with the most realistic physics.<span> </span>This particular series includes some races that can last several hours and having a sky change over time can help solidify the feeling of time passing in game.</p>
<p class="MsoNormal" style="line-height: 150%;">
<p class="MsoNormal" style="line-height: 150%;">The problem with creating the most accurate model, however, is the effect it can have on gameplay.<span> </span>If it is not coded carefully enough then it could ruin the illusion of being in another world.<span> </span>Other things that can affect performance are the hardware of the player, especially for a PC based product where the variations in player hardware is almost infinite.<span> </span>Hardware such as the NVIDIA G80, G92 and GT2xx series graphics cards are ideal for these graphically intensive games with plenty of statistics supporting especially the latter series in iBXT Labs “<em><span style="color: black;">NVIDIA GeForce GT2XX Reference</span></em><span style="font-size: 11.5pt; line-height: 150%; font-family: Arial; color: black;">” </span><span style="color: black;">which goes on to explain technologies such as CUDA and PhysX and the acceleration they provide </span><!--[if supportFields]><span style="color:black" mce_style="color:black"><span style="mso-element:field-begin" mce_style="mso-element:field-begin"></span><span style="mso-spacerun:yes" mce_style="mso-spacerun:yes"> </span>ADDIN EN.CITE &lt;EndNote&gt;&lt;Cite&gt;&lt;Author&gt;Berillo&lt;/Author&gt;&lt;Year&gt;2009&lt;/Year&gt;&lt;RecNum&gt;16&lt;/RecNum&gt;&lt;record&gt;&lt;rec-number&gt;16&lt;/rec-number&gt;&lt;ref-type name=&quot;Internet (Web Page(s))&quot;&gt;25&lt;/ref-type&gt;&lt;contributors&gt;&lt;authors&gt;&lt;author&gt;Alexey Berillo&lt;/author&gt;&lt;/authors&gt;&lt;/contributors&gt;&lt;titles&gt;&lt;title&gt;NVIDIA GeForce GT2XX Reference&lt;/title&gt;&lt;/titles&gt;&lt;dates&gt;&lt;year&gt;2009&lt;/year&gt;&lt;pub-dates&gt;&lt;date&gt;20 October 2009&lt;/date&gt;&lt;/pub-dates&gt;&lt;/dates&gt;&lt;publisher&gt;iXBTLabs.com&lt;/publisher&gt;&lt;urls&gt;&lt;related-urls&gt;&lt;url&gt;http://ixbtlabs.com/articles3/video/spravka-gt2xx-p2.html&lt;/url&gt;&lt;/related-urls&gt;&lt;/urls&gt;&lt;/record&gt;&lt;/Cite&gt;&lt;/EndNote&gt;<span style="mso-element:field-separator" mce_style="mso-element:field-separator"></span></span><![endif]--><span style="color: black;">(Berillo 2009)</span><!--[if supportFields]><span style="color:black" mce_style="color:black"><span style="mso-element:field-end" mce_style="mso-element:field-end"></span></span><![endif]--><span style="color: black;">.<span> </span></span></p>
<p class="MsoNormal" style="line-height: 150%;">
<p class="MsoNormal" style="line-height: 150%;">This brings us to the age old compromise between accuracy and efficiency.<span> </span>This dissertation will strive to get the very most accuracy with the least impact on efficiency.<span> </span>It is hoped that a full implementation of <!--[if supportFields]><span style="mso-element: field-begin" mce_style="mso-element: field-begin"></span><span style="mso-spacerun:yes" mce_style="mso-spacerun:yes"> </span>ADDIN EN.CITE &lt;EndNote&gt;&lt;Cite&gt;&lt;Author&gt;Tomoyuki&lt;/Author&gt;&lt;Year&gt;1993&lt;/Year&gt;&lt;RecNum&gt;2&lt;/RecNum&gt;&lt;record&gt;&lt;rec-number&gt;2&lt;/rec-number&gt;&lt;ref-type name=&quot;Conference Paper&quot;&gt;47&lt;/ref-type&gt;&lt;contributors&gt;&lt;authors&gt;&lt;author&gt;Tomoyuki, Nishita&lt;/author&gt;&lt;author&gt;Takao, Sirai&lt;/author&gt;&lt;author&gt;Katsumi, Tadamura&lt;/author&gt;&lt;author&gt;Eihachiro, Nakamae&lt;/author&gt;&lt;/authors&gt;&lt;/contributors&gt;&lt;titles&gt;&lt;title&gt;Display of the earth taking into account atmospheric scattering&lt;/title&gt;&lt;secondary-title&gt;Proceedings of the 20th annual conference on Computer graphics and interactive techniques&lt;/secondary-title&gt;&lt;/titles&gt;&lt;dates&gt;&lt;year&gt;1993&lt;/year&gt;&lt;/dates&gt;&lt;pub-location&gt;Anaheim, CA&lt;/pub-location&gt;&lt;publisher&gt;ACM&lt;/publisher&gt;&lt;urls&gt;&lt;/urls&gt;&lt;electronic-resource-num&gt;http://doi.acm.org/10.1145/166117.166140&lt;/electronic-resource-num&gt;&lt;/record&gt;&lt;/Cite&gt;&lt;/EndNote&gt;<span style="mso-element:field-separator" mce_style="mso-element:field-separator"></span><![endif]-->(Tomoyuki et al. 1993)<!--[if supportFields]><span style="mso-element:field-end" mce_style="mso-element:field-end"></span><![endif]--> can be achieved without compromise.</p>
<p class="MsoNormal">
<p class="MsoNormal"><strong><span style="text-decoration: underline;"><span style="font-family: Arial; letter-spacing: 0.4pt;" lang="EN-US">Research Question</span></span></strong></p>
<p class="MsoNormal"><span style="font-family: Arial; letter-spacing: 0.4pt;" lang="EN-US"> </span></p>
<p class="MsoNormal"><span style="letter-spacing: 0.4pt;" lang="EN-US">The research question proposed, then, is:</span></p>
<p class="MsoNormal"><span style="font-family: Arial; letter-spacing: 0.4pt;" lang="EN-US"> </span></p>
<p class="MsoNormal" style="line-height: 150%;">Can atmospheric scattering be implemented efficiently in computer games, with minimal compromise in accuracy?</p>
<p class="MsoNormal"><span style="font-family: Arial; letter-spacing: 0.4pt;" lang="EN-US"> </span></p>
<p class="style3" style="margin-left: 0in;"><strong><span style="text-decoration: underline;"><span style="font-family: Arial; letter-spacing: 0.4pt;" lang="EN-US"><span style="text-decoration: none;"> </span></span></span></strong></p>
<p class="style3" style="margin-left: 0in;"><strong><span style="text-decoration: underline;"><span style="font-family: Arial; letter-spacing: 0.4pt;" lang="EN-US">Addressing the question</span></span></strong></p>
<p class="MsoNormal">
<p class="MsoNormal" style="line-height: 150%;">The main issue being addressed is achieving maximum accuracy without affecting the performance of the video game.<span> </span>It has been seen in various white papers that performance is an issue with regard to atmospheric scattering.<span> </span>According to O’Neil in GPU Gems 2, using the methods described in <!--[if supportFields]><span style="mso-element:field-begin" mce_style="mso-element:field-begin"></span><span style="mso-spacerun:yes" mce_style="mso-spacerun:yes"> </span>ADDIN EN.CITE &lt;EndNote&gt;&lt;Cite&gt;&lt;Author&gt;Tomoyuki&lt;/Author&gt;&lt;Year&gt;1993&lt;/Year&gt;&lt;RecNum&gt;2&lt;/RecNum&gt;&lt;record&gt;&lt;rec-number&gt;2&lt;/rec-number&gt;&lt;ref-type name=&quot;Conference Paper&quot;&gt;47&lt;/ref-type&gt;&lt;contributors&gt;&lt;authors&gt;&lt;author&gt;Tomoyuki, Nishita&lt;/author&gt;&lt;author&gt;Takao, Sirai&lt;/author&gt;&lt;author&gt;Katsumi, Tadamura&lt;/author&gt;&lt;author&gt;Eihachiro, Nakamae&lt;/author&gt;&lt;/authors&gt;&lt;/contributors&gt;&lt;titles&gt;&lt;title&gt;Display of the earth taking into account atmospheric scattering&lt;/title&gt;&lt;secondary-title&gt;Proceedings of the 20th annual conference on Computer graphics and interactive techniques&lt;/secondary-title&gt;&lt;/titles&gt;&lt;dates&gt;&lt;year&gt;1993&lt;/year&gt;&lt;/dates&gt;&lt;pub-location&gt;Anaheim, CA&lt;/pub-location&gt;&lt;publisher&gt;ACM&lt;/publisher&gt;&lt;urls&gt;&lt;/urls&gt;&lt;electronic-resource-num&gt;http://doi.acm.org/10.1145/166117.166140&lt;/electronic-resource-num&gt;&lt;/record&gt;&lt;/Cite&gt;&lt;/EndNote&gt;<span style="mso-element:field-separator" mce_style="mso-element:field-separator"></span><![endif]-->(Tomoyuki et al. 1993)<!--[if supportFields]><span style="mso-element:field-end" mce_style="mso-element:field-end"></span><![endif]--> would require upto 300 computations per vertex using 5 samples for each scattering equation. <!--[if supportFields]><span style="mso-element:field-begin" mce_style="mso-element:field-begin"></span><span style="mso-spacerun:yes" mce_style="mso-spacerun:yes"> </span>ADDIN EN.CITE &lt;EndNote&gt;&lt;Cite&gt;&lt;Author&gt;Pharr&lt;/Author&gt;&lt;Year&gt;2005&lt;/Year&gt;&lt;RecNum&gt;1&lt;/RecNum&gt;&lt;record&gt;&lt;rec-number&gt;1&lt;/rec-number&gt;&lt;ref-type name=&quot;Book&quot;&gt;6&lt;/ref-type&gt;&lt;contributors&gt;&lt;authors&gt;&lt;author&gt;Pharr, Matt.&lt;/author&gt;&lt;author&gt;Fernando, Randima.&lt;/author&gt;&lt;/authors&gt;&lt;/contributors&gt;&lt;titles&gt;&lt;title&gt;GPU gems 2 : programming techniques for high-performance graphics and general-purpose computation&lt;/title&gt;&lt;/titles&gt;&lt;pages&gt;253 &#8211; 269&lt;/pages&gt;&lt;keywords&gt;&lt;keyword&gt;Computer graphics.&lt;/keyword&gt;&lt;keyword&gt;Real-time programming.&lt;/keyword&gt;&lt;/keywords&gt;&lt;dates&gt;&lt;year&gt;2005&lt;/year&gt;&lt;/dates&gt;&lt;pub-location&gt;London&lt;/pub-location&gt;&lt;publisher&gt;Addison-Wesley&lt;/publisher&gt;&lt;isbn&gt;0321335597 (hardcover alk. paper)&lt;/isbn&gt;&lt;call-num&gt;T385 .G688 2005&amp;#xD;006.66 G&lt;/call-num&gt;&lt;urls&gt;&lt;/urls&gt;&lt;/record&gt;&lt;/Cite&gt;&lt;/EndNote&gt;<span style="mso-element:field-separator" mce_style="mso-element:field-separator"></span><![endif]-->(Pharr and Fernando 2005)<!--[if supportFields]><span style="mso-element:field-end" mce_style="mso-element:field-end"></span><![endif]-->.<span> </span>It is obvious that using more samples for greater accuracy can greatly increase the number of computations.<span> </span>This project will be calculating the atmospheric model on a per-pixel basis as a post-process to eliminate the need for highly tessellated sky domes, which can help reduce computations further if care is taken.<span> </span>So in the case of the previous example, there would be 300 computations per-pixel.</p>
<p class="MsoNormal" style="line-height: 150%;">
<p class="MsoNormal" style="line-height: 150%;">The basic principal of post-processing is to render the entire scene to an off screen buffer and then apply this as a texture to a quad the size of the screen.<span> </span>An issue with performing atmospheric scattering as a post-process is that all the per-pixel calculations are performed in 2D space.<span> </span>This means there is no depth associated with each pixel and depth is required for attenuation of distant objects for correct aerial perspective.<span> </span>The work around for this is to create another texture that stores just the depth – the same technique used for shadow mapping.<span> </span>This texture can then be sampled at the same time as the scene texture to give distance.<span> </span>(i.e. pixel(ij) = depth(ij))</p>
<p class="MsoNormal" style="line-height: 150%;">
<p class="MsoNormal" style="line-height: 150%;">The final problem associated with this technique is of course efficiency.<span> </span>While it is highly accurate, this comes at the cost of performance, which in games is important.<span> </span>Some options exist for increasing performance without sacrificing accuracy.<span> </span>Firstly, a number of constants can be pre-computed as they are never likely to change during run-time.<span> </span>Another option is multi-threading – a very important concept in computing – meaning that several parts can be computed at any one time in parallel.</p>
<p class="MsoNormal" style="line-height: 150%;">
<p class="MsoNormal" style="line-height: 150%;">One such example of this is GPGPU or General Purpose GPU.<span> </span>GPGPU is an interesting development in graphics hardware as it allows for general purpose computation on the GPU directly, meaning that physics solvers, as an example, could be computed off the CPU either in part or whole, leaving the CPU free to handle other tasks, such as AI, gameplay, audio etc.<span> </span>It should be noted that the most appropriate use of GPGPU is with tasks that lend themselves well to parallelisation.<span> </span>Such tasks could be spread over roughly 12,288 threads on an NVIDIA 8800GTX GPU, implying that there could be a potentially huge performance increase.<span> </span><!--[if supportFields]><span style="mso-element:field-begin" mce_style="mso-element:field-begin"></span><span style="mso-spacerun:yes" mce_style="mso-spacerun:yes"> </span>ADDIN EN.CITE &lt;EndNote&gt;&lt;Cite&gt;&lt;Author&gt;David Luebke&lt;/Author&gt;&lt;Year&gt;2008&lt;/Year&gt;&lt;RecNum&gt;7&lt;/RecNum&gt;&lt;record&gt;&lt;rec-number&gt;7&lt;/rec-number&gt;&lt;ref-type name=&quot;Internet (Web Page(s))&quot;&gt;25&lt;/ref-type&gt;&lt;contributors&gt;&lt;authors&gt;&lt;author&gt;David Luebke, Michael Garland, John Owens, Kevin Skadron&lt;/author&gt;&lt;/authors&gt;&lt;/contributors&gt;&lt;titles&gt;&lt;title&gt;GPU Computing: The Democratization of Parallel Computing&lt;/title&gt;&lt;/titles&gt;&lt;dates&gt;&lt;year&gt;2008&lt;/year&gt;&lt;pub-dates&gt;&lt;date&gt;19 October 2009&lt;/date&gt;&lt;/pub-dates&gt;&lt;/dates&gt;&lt;publisher&gt;Architectural Support for Programming Languages and Operating Systems&lt;/publisher&gt;&lt;urls&gt;&lt;related-urls&gt;&lt;url&gt;http://gpgpu.org/static/asplos2008/ASPLOS08-1-intro-overview.pdf&lt;/url&gt;&lt;/related-urls&gt;&lt;pdf-urls&gt;&lt;url&gt;http://gpgpu.org/static/asplos2008/ASPLOS08-1-intro-overview.pdf&lt;/url&gt;&lt;/pdf-urls&gt;&lt;/urls&gt;&lt;/record&gt;&lt;/Cite&gt;&lt;/EndNote&gt;<span style="mso-element:field-separator" mce_style="mso-element:field-separator"></span><![endif]-->(David Luebke 2008)<!--[if supportFields]><span style="mso-element:field-end" mce_style="mso-element:field-end"></span><![endif]--><span> </span>This means that potentially, the screen can be split into regions to be worked on by different threads on the GPU, potentially leading to an increase in performance.</p>
<p class="MsoNormal" style="line-height: 150%;">
<p class="MsoNormal" style="line-height: 150%;">On the PS3 there exist 7 programmable cores as well as a 256MB NVIDIA GPU, all of which can be optimised to run this post-processed effect.<span> </span>For example, an SPU could be used to calculate Rayleigh and Mie coefficients for scattering and then the GPU would only have to apply these numbers to each pixel in post-processing the scene.<span> </span>This could also lead to an increase in speed and it this technique that will be researched further for the purposes of the dissertation.</p>
<p class="MsoNormal">
<p class="MsoNormal">
<p class="style3" style="margin-left: 0in;"><strong><span style="text-decoration: underline;"><span style="font-family: Arial; letter-spacing: 0.4pt;" lang="EN-US">What equipment/resources will be needed/used</span></span></strong></p>
<p class="MsoNormal">
<p class="MsoNormal" style="line-height: 150%;">Access to the SIGGRAPH database for reference material is required as is a PS3 SDK.<span> </span>Some form of debugger for the PS3 would be desirable for speeding up the bug fixing process.<span> </span>There is little need for 3D models or high quality textures, as the effect is only applied to a texture and generates all required imagery for the effect to look realistic.</p>
<p class="MsoNormal">
<p class="MsoNormal"><strong><span style="text-decoration: underline;"><span style="font-family: Arial;">Reference</span></span></strong></p>
<p class="MsoNormal">
<p class="MsoNormal"><span style="font-family: Arial;"><span> </span></span><!--[if supportFields]><span style="font-family:Arial" mce_style="font-family:Arial"><span style="mso-element:field-begin" mce_style="mso-element:field-begin"></span><span style="mso-spacerun:yes" mce_style="mso-spacerun:yes"> </span>ADDIN EN.REFLIST <span style="mso-element: field-separator" mce_style="mso-element: field-separator"></span></span><![endif]-->Berillo, A. 2009. <em>NVIDIA GeForce GT2XX Reference</em>. [online]. iXBTLabs.com. Available from: <a href="http://ixbtlabs.com/articles3/video/spravka-gt2xx-p2.html">http://ixbtlabs.com/articles3/video/spravka-gt2xx-p2.html</a> [Accessed 20 October 2009].</p>
<p class="MsoNormal">
<p class="MsoNormal">David Luebke, M. G., John Owens, Kevin Skadron. 2008. <em>GPU Computing: The Democratization of Parallel Computing</em>. [online]. Architectural Support for Programming Languages and Operating Systems. Available from: <a href="http://gpgpu.org/static/asplos2008/ASPLOS08-1-intro-overview.pdf">http://gpgpu.org/static/asplos2008/ASPLOS08-1-intro-overview.pdf</a> [Accessed 19 October 2009].</p>
<p class="MsoNormal">
<p class="MsoNormal">Möller, T., Haines, E. and Hoffman, N. 2008. <em>Real-time rendering</em>. 3rd ed. Wellesley, Mass.: A.K. Peters</p>
<p class="MsoNormal">
<p class="MsoNormal">Pharr, M. and Fernando, R. 2005. <em>GPU gems 2 : programming techniques for high-performance graphics and general-purpose computation</em>. London: Addison-Wesley</p>
<p class="MsoNormal">
<p class="MsoNormal">Preetham, A. J., Peter, S. and Brian, S. 1999 In <em>Proceedings of the 26th annual conference on Computer graphics and interactive techniques</em>ACM Press/Addison-Wesley Publishing Co.</p>
<p class="MsoNormal">
<p class="MsoNormal">Steam. 2009. <em>Steam Hardware Survey</em>. [online]. <a href="http://steampowered.com/">http://steampowered.com</a>. Available from: <a href="http://store.steampowered.com/hwsurvey/">http://store.steampowered.com/hwsurvey/</a> [Accessed 22 October 2009].</p>
<p class="MsoNormal">
<p class="MsoNormal">Tomoyuki, N., et al. 1993 In <em>Proceedings of the 20th annual conference on Computer graphics and interactive techniques</em>ACM, Anaheim, CA.</p>
<p class="MsoNormal">
<p class="MsoNormal">Wenzel, C. 2006 In <em>ACM SIGGRAPH 2006 Courses</em>ACM, Boston, Massachusetts.</p>
<p class="MsoNormal">
<p class="MsoNormal">
<p class="MsoNormal" style="margin-left: 0.5in; text-indent: -0.5in;"><!--[if supportFields]><span style="font-family:Arial" mce_style="font-family:Arial"><span style="mso-element:field-end" mce_style="mso-element:field-end"></span></span><![endif]--></p>
<p class="MsoNormal" style="margin-left: 0.5in; text-indent: -0.5in;"><span style="font-family: Arial;"> </span></p>
]]></content:encoded>
			<wfw:commentRss>http://bigdavedev.com/honours-blog/2009/10/worksheet-3-draft-proposal/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Links/Resources</title>
		<link>http://bigdavedev.com/honours-blog/2009/10/linksresources/</link>
		<comments>http://bigdavedev.com/honours-blog/2009/10/linksresources/#comments</comments>
		<pubDate>Thu, 01 Oct 2009 13:23:19 +0000</pubDate>
		<dc:creator>Big Dave</dc:creator>
				<category><![CDATA[Reading]]></category>
		<category><![CDATA[Research]]></category>
		<category><![CDATA[Resource]]></category>

		<guid isPermaLink="false">http://bigdavedev.com/honours-blog/?p=61</guid>
		<description><![CDATA[I have installed the CUDA SDK at home and have requested that it be installed in the GameLab at Abertay as well.  Having looked through some of the examples supplied &#8211; demonstrating, for example,  real-time ray tracing &#8211; I am beginning to understand just how important GPGPU methods could become.  It is clear that harnessing [...]]]></description>
			<content:encoded><![CDATA[<p>I have installed the CUDA SDK at home and have requested that it be installed in the GameLab at Abertay as well.  Having looked through some of the examples supplied &#8211; demonstrating, for example,  real-time ray tracing &#8211; I am beginning to understand just how important GPGPU methods could become.  It is clear that harnessing the power of CUDA could be the next stage in game development.</p>
<p>And with the Khronos Group releasing OpenCL in a bid to encapsulate both NVIDIA CUDA and AMD Stream in a similar manner to OpenGL and OpenAL, it is reasonable to expect developers to begin using this in the near future also.</p>
<p>Following are some web-sites to read through to gain a better understanding of CUDA</p>
<p><a href="http://llpanorama.wordpress.com/cuda-tutorial/" target="_blank">http://llpanorama.wordpress.com/cuda-tutorial/</a></p>
<p><a href="http://www.nvidia.com/object/cuda_education.html" target="_blank">http://www.nvidia.com/object/cuda_education.html</a></p>
<p><a href="http://gpgpu.org/asplos2008" target="_blank">http://gpgpu.org/asplos2008</a></p>
<p><a href="http://gpgpu.org/developer" target="_blank">http://gpgpu.org/developer</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bigdavedev.com/honours-blog/2009/10/linksresources/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Some Videos &#8211; on topic</title>
		<link>http://bigdavedev.com/honours-blog/2009/09/some-videos-on-topic/</link>
		<comments>http://bigdavedev.com/honours-blog/2009/09/some-videos-on-topic/#comments</comments>
		<pubDate>Tue, 29 Sep 2009 15:14:20 +0000</pubDate>
		<dc:creator>Big Dave</dc:creator>
				<category><![CDATA[Research]]></category>
		<category><![CDATA[Videos]]></category>

		<guid isPermaLink="false">http://bigdavedev.com/honours-blog/?p=54</guid>
		<description><![CDATA[I have found some videos that are demonstrating the atmospheric scattering that this project refers to.  Some of these videos show amasing implementations: This second video is very nicely polished and a great example of what can be achieved:]]></description>
			<content:encoded><![CDATA[<p>I have found some videos that are demonstrating the atmospheric scattering that this project refers to.  Some of these videos show amasing implementations:</p>
<p><object width="425" height="350" data="http://www.youtube.com/v/lyPhwGoAqRw" type="application/x-shockwave-flash"><param name="src" value="http://www.youtube.com/v/lyPhwGoAqRw" /></object></p>
<p>This second video is very nicely polished and a great example of what can be achieved:</p>
<p><object width="425" height="350" data="http://www.youtube.com/v/LeKFXx2hDn8" type="application/x-shockwave-flash"><param name="src" value="http://www.youtube.com/v/LeKFXx2hDn8" /></object></p>
]]></content:encoded>
			<wfw:commentRss>http://bigdavedev.com/honours-blog/2009/09/some-videos-on-topic/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

