<?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; Big Dave</title>
	<atom:link href="http://bigdavedev.com/honours-blog/author/bigdaved/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>News</title>
		<link>http://bigdavedev.com/honours-blog/2010/08/news/</link>
		<comments>http://bigdavedev.com/honours-blog/2010/08/news/#comments</comments>
		<pubDate>Thu, 12 Aug 2010 20:12:17 +0000</pubDate>
		<dc:creator>Big Dave</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://bigdavedev.com/honours-blog/?p=126</guid>
		<description><![CDATA[Hi all, Although I have completed this dissertation, the actual program was not a success.  Therefore, I will be keeping this blog alive with the intention of picking up the program once my computer has made its way over here to sunny Sweden! Dave]]></description>
			<content:encoded><![CDATA[<p>Hi all,</p>
<p>Although I have completed this dissertation, the actual program was not a success.  Therefore, I will be keeping this blog alive with the intention of picking up the program once my computer has made its way over here to sunny Sweden!</p>
<p>Dave</p>
]]></content:encoded>
			<wfw:commentRss>http://bigdavedev.com/honours-blog/2010/08/news/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Progress Report &#8211; Upto 05/02/10</title>
		<link>http://bigdavedev.com/honours-blog/2010/02/progress-report-upto-050210/</link>
		<comments>http://bigdavedev.com/honours-blog/2010/02/progress-report-upto-050210/#comments</comments>
		<pubDate>Tue, 09 Feb 2010 13:36:07 +0000</pubDate>
		<dc:creator>Big Dave</dc:creator>
				<category><![CDATA[Update]]></category>

		<guid isPermaLink="false">http://bigdavedev.com/honours-blog/?p=110</guid>
		<description><![CDATA[Progress so far has been promising.  It&#8217;s into week four of the semester now and I am only two or three days behind on my gantt chart progress, however the chart needs some re-working.  I have a scene developed &#8211; a plane with a movable camera &#8211; and have developed the interfaces required for the [...]]]></description>
			<content:encoded><![CDATA[<p>Progress so far has been promising.  It&#8217;s into week four of the semester now and I am only two or three days behind on my gantt chart progress, however the chart needs some re-working.  I have a scene developed &#8211; a plane with a movable camera &#8211; and have developed the interfaces required for the project.</p>
<p>The stages of the program are as follows:</p>
<ol>
<li>Initialise sub-systems</li>
<li>Create a custom render target</li>
<li>Load shaders required</li>
<li>Render the scene to the render target</li>
<li>Shader stores colour and depth information in same texture</li>
<li>Render target is switched to backbuffer</li>
<li>Full screen quad rendered with scene texture applied</li>
</ol>
<p>Work has also been started on creating the actual sky effect itself.  However the screen has been drawing blank since this development started.  It is unclear if the problem is with the code I have added to the project or if it is the driver update I recently installed.  It is more likely to be the first issue as the the program does not fail at run-time.  There is still a context created implying that the OpenGL SDK is working well.</p>
<p>I have been advised by my colleague &#8211; Scott Dunbar &#8211; to use a piece of software called glslDevil to debug my program and make sure that everything is OK.  The reason for using glslDevil as opposed to Visual Studio for debugging is that Visual Studio does not debug shaders whereas glslDevil does.</p>
<p>By the next progress report I hope to have this problem fixed and continued development on the effect.  Work has been started on the introduction for the dissertation as well and this will be finished by the next report and a good start to the literature review will be underway</p>
]]></content:encoded>
			<wfw:commentRss>http://bigdavedev.com/honours-blog/2010/02/progress-report-upto-050210/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Project Proposal</title>
		<link>http://bigdavedev.com/honours-blog/2010/01/project-proposal/</link>
		<comments>http://bigdavedev.com/honours-blog/2010/01/project-proposal/#comments</comments>
		<pubDate>Wed, 13 Jan 2010 12:01:46 +0000</pubDate>
		<dc:creator>Big Dave</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://bigdavedev.com/honours-blog/?p=97</guid>
		<description><![CDATA[Atmospheric Scattering as a Post-Processed Effect Introduction Post-processing is a technique fundamental to graphics programming today. It allows for effects to be realised in great amounts of detail. This honours project will make use of this technique to demonstrate the potential it has to create visually stunning and accurate effects. This demonstration will be achieved [...]]]></description>
			<content:encoded><![CDATA[<h1>Atmospheric Scattering as a Post-Processed Effect</h1>
<p><!--[if gte mso 9]><xml> <w:WordDocument> <w:View>Normal</w:View> <w:Zoom>0</w:Zoom> <w:TrackMoves /> <w:TrackFormatting /> <w:PunctuationKerning /> <w:ValidateAgainstSchemas /> <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid> <w:IgnoreMixedContent>false</w:IgnoreMixedContent> <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText> <w:DoNotPromoteQF /> <w:LidThemeOther>EN-GB</w:LidThemeOther> <w:LidThemeAsian>X-NONE</w:LidThemeAsian> <w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript> <w:Compatibility> <w:BreakWrappedTables /> <w:SnapToGridInCell /> <w:WrapTextWithPunct /> <w:UseAsianBreakRules /> <w:DontGrowAutofit /> <w:SplitPgBreakAndParaMark /> <w:DontVertAlignCellWithSp /> <w:DontBreakConstrainedForcedTables /> <w:DontVertAlignInTxbx /> <w:Word11KerningPairs /> <w:CachedColBalance /> </w:Compatibility> <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel> <m:mathPr> <m:mathFont m:val="Cambria Math" /> <m:brkBin m:val="before" /> <m:brkBinSub m:val="&#45;-" /> <m:smallFrac m:val="off" /> <m:dispDef /> <m:lMargin m:val="0" /> <m:rMargin m:val="0" /> <m:defJc m:val="centerGroup" /> <m:wrapIndent m:val="1440" /> <m:intLim m:val="subSup" /> <m:naryLim m:val="undOvr" /> </m:mathPr></w:WordDocument> </xml><![endif]--><!--[if gte mso 9]><xml> <w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"   DefSemiHidden="true" DefQFormat="false" DefPriority="99"   LatentStyleCount="267"> <w:LsdException Locked="false" Priority="0" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Normal" /> <w:LsdException Locked="false" Priority="9" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="heading 1" /> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2" /> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3" /> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4" /> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5" /> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6" /> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7" /> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8" /> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9" /> <w:LsdException Locked="false" Priority="39" Name="toc 1" /> <w:LsdException Locked="false" Priority="39" Name="toc 2" /> <w:LsdException Locked="false" Priority="39" Name="toc 3" /> <w:LsdException Locked="false" Priority="39" Name="toc 4" /> <w:LsdException Locked="false" Priority="39" Name="toc 5" /> <w:LsdException Locked="false" Priority="39" Name="toc 6" /> <w:LsdException Locked="false" Priority="39" Name="toc 7" /> <w:LsdException Locked="false" Priority="39" Name="toc 8" /> <w:LsdException Locked="false" Priority="39" Name="toc 9" /> <w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption" /> <w:LsdException Locked="false" Priority="10" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Title" /> <w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font" /> <w:LsdException Locked="false" Priority="11" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Subtitle" /> <w:LsdException Locked="false" Priority="22" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Strong" /> <w:LsdException Locked="false" Priority="20" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Emphasis" /> <w:LsdException Locked="false" Priority="59" SemiHidden="false"    UnhideWhenUsed="false" Name="Table Grid" /> <w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text" /> <w:LsdException Locked="false" Priority="1" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="No Spacing" /> <w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading" /> <w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List" /> <w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid" /> <w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1" /> <w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2" /> <w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1" /> <w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2" /> <w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1" /> <w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2" /> <w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3" /> <w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List" /> <w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading" /> <w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List" /> <w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid" /> <w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 1" /> <w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 1" /> <w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 1" /> <w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1" /> <w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1" /> <w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 1" /> <w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision" /> <w:LsdException Locked="false" Priority="34" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="List Paragraph" /> <w:LsdException Locked="false" Priority="29" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Quote" /> <w:LsdException Locked="false" Priority="30" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Intense Quote" /> <w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 1" /> <w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1" /> <w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1" /> <w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1" /> <w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 1" /> <w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 1" /> <w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 1" /> <w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 1" /> <w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 2" /> <w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 2" /> <w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 2" /> <w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2" /> <w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2" /> <w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 2" /> <w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 2" /> <w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2" /> <w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2" /> <w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2" /> <w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 2" /> <w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 2" /> <w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 2" /> <w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 2" /> <w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 3" /> <w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 3" /> <w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 3" /> <w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3" /> <w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3" /> <w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 3" /> <w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 3" /> <w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3" /> <w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3" /> <w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3" /> <w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 3" /> <w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 3" /> <w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 3" /> <w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 3" /> <w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 4" /> <w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 4" /> <w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 4" /> <w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4" /> <w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4" /> <w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 4" /> <w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 4" /> <w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4" /> <w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4" /> <w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4" /> <w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 4" /> <w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 4" /> <w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 4" /> <w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 4" /> <w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 5" /> <w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 5" /> <w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 5" /> <w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5" /> <w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5" /> <w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 5" /> <w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 5" /> <w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5" /> <w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5" /> <w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5" /> <w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 5" /> <w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 5" /> <w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 5" /> <w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 5" /> <w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 6" /> <w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 6" /> <w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 6" /> <w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6" /> <w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6" /> <w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 6" /> <w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 6" /> <w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6" /> <w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6" /> <w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6" /> <w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 6" /> <w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 6" /> <w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 6" /> <w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 6" /> <w:LsdException Locked="false" Priority="19" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis" /> <w:LsdException Locked="false" Priority="21" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis" /> <w:LsdException Locked="false" Priority="31" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference" /> <w:LsdException Locked="false" Priority="32" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Intense Reference" /> <w:LsdException Locked="false" Priority="33" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Book Title" /> <w:LsdException Locked="false" Priority="37" Name="Bibliography" /> <w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading" /> </w:LatentStyles> </xml><![endif]--> <!--[if gte mso 9]><xml> <w:WordDocument> <w:View>Normal</w:View> <w:Zoom>0</w:Zoom> <w:TrackMoves /> <w:TrackFormatting /> <w:PunctuationKerning /> <w:ValidateAgainstSchemas /> <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid> <w:IgnoreMixedContent>false</w:IgnoreMixedContent> <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText> <w:DoNotPromoteQF /> <w:LidThemeOther>EN-GB</w:LidThemeOther> <w:LidThemeAsian>X-NONE</w:LidThemeAsian> <w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript> <w:Compatibility> <w:BreakWrappedTables /> <w:SnapToGridInCell /> <w:WrapTextWithPunct /> <w:UseAsianBreakRules /> <w:DontGrowAutofit /> <w:SplitPgBreakAndParaMark /> <w:DontVertAlignCellWithSp /> <w:DontBreakConstrainedForcedTables /> <w:DontVertAlignInTxbx /> <w:Word11KerningPairs /> <w:CachedColBalance /> </w:Compatibility> <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel> <m:mathPr> <m:mathFont m:val="Cambria Math" /> <m:brkBin m:val="before" /> <m:brkBinSub m:val="&#45;-" /> <m:smallFrac m:val="off" /> <m:dispDef /> <m:lMargin m:val="0" /> <m:rMargin m:val="0" /> <m:defJc m:val="centerGroup" /> <m:wrapIndent m:val="1440" /> <m:intLim m:val="subSup" /> <m:naryLim m:val="undOvr" /> </m:mathPr></w:WordDocument> </xml><![endif]--><!--[if gte mso 9]><xml> <w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"   DefSemiHidden="true" DefQFormat="false" DefPriority="99"   LatentStyleCount="267"> <w:LsdException Locked="false" Priority="0" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Normal" /> <w:LsdException Locked="false" Priority="9" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="heading 1" /> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2" /> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3" /> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4" /> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5" /> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6" /> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7" /> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8" /> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9" /> <w:LsdException Locked="false" Priority="39" Name="toc 1" /> <w:LsdException Locked="false" Priority="39" Name="toc 2" /> <w:LsdException Locked="false" Priority="39" Name="toc 3" /> <w:LsdException Locked="false" Priority="39" Name="toc 4" /> <w:LsdException Locked="false" Priority="39" Name="toc 5" /> <w:LsdException Locked="false" Priority="39" Name="toc 6" /> <w:LsdException Locked="false" Priority="39" Name="toc 7" /> <w:LsdException Locked="false" Priority="39" Name="toc 8" /> <w:LsdException Locked="false" Priority="39" Name="toc 9" /> <w:LsdException Locked="false" Priority="0" Name="header" /> <w:LsdException Locked="false" Priority="0" Name="footer" /> <w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption" /> <w:LsdException Locked="false" Priority="10" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Title" /> <w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font" /> <w:LsdException Locked="false" Priority="11" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Subtitle" /> <w:LsdException Locked="false" Priority="22" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Strong" /> <w:LsdException Locked="false" Priority="20" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Emphasis" /> <w:LsdException Locked="false" Priority="59" SemiHidden="false"    UnhideWhenUsed="false" Name="Table Grid" /> <w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text" /> <w:LsdException Locked="false" Priority="1" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="No Spacing" /> <w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading" /> <w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List" /> <w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid" /> <w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1" /> <w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2" /> <w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1" /> <w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2" /> <w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1" /> <w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2" /> <w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3" /> <w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List" /> <w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading" /> <w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List" /> <w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid" /> <w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 1" /> <w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 1" /> <w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 1" /> <w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1" /> <w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1" /> <w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 1" /> <w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision" /> <w:LsdException Locked="false" Priority="34" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="List Paragraph" /> <w:LsdException Locked="false" Priority="29" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Quote" /> <w:LsdException Locked="false" Priority="30" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Intense Quote" /> <w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 1" /> <w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1" /> <w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1" /> <w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1" /> <w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 1" /> <w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 1" /> <w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 1" /> <w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 1" /> <w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 2" /> <w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 2" /> <w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 2" /> <w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2" /> <w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2" /> <w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 2" /> <w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 2" /> <w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2" /> <w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2" /> <w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2" /> <w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 2" /> <w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 2" /> <w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 2" /> <w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 2" /> <w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 3" /> <w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 3" /> <w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 3" /> <w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3" /> <w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3" /> <w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 3" /> <w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 3" /> <w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3" /> <w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3" /> <w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3" /> <w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 3" /> <w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 3" /> <w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 3" /> <w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 3" /> <w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 4" /> <w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 4" /> <w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 4" /> <w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4" /> <w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4" /> <w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 4" /> <w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 4" /> <w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4" /> <w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4" /> <w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4" /> <w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 4" /> <w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 4" /> <w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 4" /> <w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 4" /> <w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 5" /> <w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 5" /> <w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 5" /> <w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5" /> <w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5" /> <w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 5" /> <w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 5" /> <w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5" /> <w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5" /> <w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5" /> <w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 5" /> <w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 5" /> <w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 5" /> <w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 5" /> <w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 6" /> <w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 6" /> <w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 6" /> <w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6" /> <w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6" /> <w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 6" /> <w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 6" /> <w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6" /> <w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6" /> <w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6" /> <w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 6" /> <w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 6" /> <w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 6" /> <w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 6" /> <w:LsdException Locked="false" Priority="19" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis" /> <w:LsdException Locked="false" Priority="21" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis" /> <w:LsdException Locked="false" Priority="31" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference" /> <w:LsdException Locked="false" Priority="32" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Intense Reference" /> <w:LsdException Locked="false" Priority="33" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Book Title" /> <w:LsdException Locked="false" Priority="37" Name="Bibliography" /> <w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading" /> </w:LatentStyles> </xml><![endif]--> <!--[if gte mso 10]><br />
<mce:style><!   /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Table Normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-priority:99; 	mso-style-qformat:yes; 	mso-style-parent:""; 	mso-padding-alt:0cm 5.4pt 0cm 5.4pt; 	mso-para-margin:0cm; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Times New Roman","serif";} --></p>
<p><!--[endif]--></p>
<p class="style3" style="margin-left: 0cm;"><strong><span style="text-decoration: underline;"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;; letter-spacing: 0.4pt;" lang="EN-US">Introduction</span></span></strong></p>
<p class="MsoNormal"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;"> </span></p>
<p class="MsoNormal"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;">Post-processing is a technique fundamental to graphics programming today.<span> </span>It allows for effects to be realised in great amounts of detail.<span> </span>This honours project will make use of this technique to demonstrate the potential it has to create visually stunning and accurate effects.<span> </span>This demonstration will be achieved by applying atmospheric scattering to a scene as a post-process to create very realistic skies.</span></p>
<p class="MsoNormal"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;"> </span></p>
<p class="MsoNormal"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;">Atmospheric scattering has been chosen as it is very realistic.<span> </span>It describes how incoming light from the sun is affected by the atmosphere to produce the stunning aura of colours observed daily.<span> </span>Another visual effect created with atmospheric scattering is that of haziness.<span> </span>This haze adds to the realism of the game environment and also gives the player much better depth cues.</span></p>
<p class="MsoNormal"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;"> </span></p>
<p class="MsoNormal"><strong><span style="text-decoration: underline;"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;; letter-spacing: 0.4pt;" lang="EN-US">Research Question</span></span></strong></p>
<p class="MsoNormal"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;; letter-spacing: 0.4pt;" lang="EN-US"> </span></p>
<p class="MsoNormal"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;; letter-spacing: 0.4pt;" lang="EN-US">Atmospheric scattering has a reputation for being an expensive effect to implement.<span> </span>Post-processing could speed this up.<span> </span>To that effect, the question being presented is:</span></p>
<p class="MsoNormal"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;; letter-spacing: 0.4pt;" lang="EN-US"> </span></p>
<p class="MsoNormal"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;">What are the benefits of using post-processing techniques to simulate atmospheric scattering in a computer game and what are the issues associated with its implementation?</span></p>
<p class="MsoNormal"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;"><span id="more-97"></span><br />
</span></p>
<p class="MsoNormal"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;; letter-spacing: 0.4pt;" lang="EN-US"> </span></p>
<p class="MsoNormal"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;; letter-spacing: 0.4pt;" lang="EN-US"> </span></p>
<p class="style3" style="margin-left: 0cm;"><strong><span style="text-decoration: underline;"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;; letter-spacing: 0.4pt;" lang="EN-US">Literature Review</span></span></strong></p>
<p class="MsoNormal"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;"> </span></p>
<p class="MsoNormal"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;">“Modelling surfaces with polygons is often the most straightforward way to approach the problem of portraying objects in a scene. Polygons are good only up to a point, however. Image-based rendering (IBR) has become a paradigm of its own.” (Möller, T., et al, 2008)</span></p>
<p class="MsoNormal"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;"> </span></p>
<p class="MsoNormal"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;">As Möller et al discuss in their book, Real-time Rendering, there are many advantages to using post-processing in a scene.<span> </span>Complex objects like fur and clouds can more easily be added in this 2D image space after the entire scene has been rendered first.<span> </span>Complex lighting techniques, such as atmospheric scattering, are also ideally suited for post-processing.<span> </span>The reason this is true is because in post-processing you are only operating on the final pixel colour.<span> </span>There is no pixel overdraw associated with this technique.</span></p>
<p class="MsoNormal"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;"> </span></p>
<p class="MsoNormal"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;">To include post-processing in a game, one must first create an off-screen buffer.<span> </span>The entire scene is then rendered to this buffer instead of the back buffer.<span> </span>Once the drawing is complete, this off-screen buffer must be displayed on the screen.<span> </span>To do this, it is simply added as a texture to a quad that fills the screen.<span> </span>These are the principles of post-processing.<span> </span>The entire process is analogous to editing a photograph, where the photographer has a 2D image and adds Gaussian blurs, increases contrast, and decreases saturation for example, resulting in an altered image.<span> </span>By passing filters over the off-screen buffer, the programmer is able to achieve the same effect as in the photography example.</span></p>
<p class="MsoNormal"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;"> </span></p>
<p class="MsoNormal"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;">One important consideration with applying 3D effects, such as atmospheric scattering, as a post-process is that the depth buffer must also be resolved to another texture.<span> </span>The information in this texture must then be reconstructed in world-space to obtain the depth of each pixel.<span> </span>This last step is important as the depths are stored in a non-linear format.</span></p>
<p class="MsoNormal"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;"> </span></p>
<p class="MsoNormal"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;">The principles of atmospheric scattering are simple.<span> </span>Two coefficients must be solved individually and then used in the complete equation.<span> </span>These two coefficients are Rayleigh and Mie.<span> </span>Rayleigh describes what happens to light as it passes through the gases of the atmosphere itself, which determines sky colour.<span> </span>During the day the short wavelengths are scattered the most resulting in the blue sky.<span> </span>At sunrise and sunset, when the light travels through more of the atmosphere, the longer wavelengths are scattered more and this gives the red and orange skies.(Tomoyuki et al. 1993)</span></p>
<p class="MsoNormal"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;"> </span></p>
<p class="MsoNormal"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;">Mie scattering on the other hand describes how light from the sun interacts with more dense molecules in the air, such as dust and water vapour.<span> </span>This results in haze which limits how far a person can see.<span> </span>According to psychologists “aerial perspective is a fundamental depth cue that humans use to estimate distances, and the only absolute depth cue available for distant unfamiliar objects.” (Preetham, A. J., et al 1999).<span> </span>It is therefore vital that aerial perspective be implemented properly.</span></p>
<p class="MsoNormal"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;"> </span></p>
<p class="MsoNormal"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;; letter-spacing: 0.4pt;">These coefficients are then used in the scattering equation to determine the final colour of the pixel.<span> </span>The equation is given by L(s, </span><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;">?</span><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;; letter-spacing: 0.4pt;">) = L<sub>o</sub>F<sub>ex</sub>(s)+ L<sub>in</sub>(s, </span><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;">?);</span><sub><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;; letter-spacing: 0.4pt;"> </span></sub><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;; letter-spacing: 0.4pt;">where L<sub>o<span> </span></sub>is the initial colour of the pixel, F<sub>ex </sub>is the extinction factor which has the effect of darkening objects that are further away and finally L<sub>in </sub>is the inscattering component which has the effect of adding more light to distant objects.<span> </span>The function takes two arguments.<span> </span>The first argument, ‘s’, is the distance of from the viewer to the object and the second, </span><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;">?, is the angle viewer-object vector and the sun direction.</span></p>
<p class="MsoNormal"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;"> </span></p>
<p class="MsoNormal"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;">There are two main approaches to implementing atmospheric scattering equations.<span> </span>One is to use the method proposed by A. J. Preetham in 1999 which is an analytic model.<span> </span>His model uses many simplifications and precomputations that give a reasonable effect, but limits the scalability.<span> </span>Another model for consideration is the model proposed in 1993 by </span><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;; letter-spacing: 0.4pt;">Tomoyuki, N., et al. in 1993.<span> </span>This model is far more general and the ability to scale coefficients dynamically is possible.<span> </span>The downside to this model however is its inherent computational expense.<span> </span>Unlike Preetham’s model, Tomoyuki et al designed their model to allow the atmosphere to be viewed from space.</span></p>
<p class="MsoNormal"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;; letter-spacing: 0.4pt;"> </span></p>
<p class="MsoNormal"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;; letter-spacing: 0.4pt;">For adding realism to outdoor scenes in CryEngine2, Carsten Wenzel used the model proposed Tomoyuki et al 1993.<span> </span>However, only the skylight model was used and the aerial perspective was neglected.<span> </span>Instead they went with another implementation, which does exactly what the aerial perspective model proposed by Tomoyuki et al would do.<span> </span>This work around is then rather redundant as there are now two separate systems that handle the same thing.<span> </span></span></p>
<p class="MsoNormal"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;; letter-spacing: 0.4pt;"> </span></p>
<p class="MsoNormal"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;; letter-spacing: 0.4pt;">After e-mail discussions with Damianno Iannetta of Rare Ltd on 7<sup>th</sup> October 2009 it was recommended that this dissertation also use the model proposed by Tomoyuki et al and use the correct model for aerial perspective to give a more accurate effect.</span></p>
<p class="MsoNormal"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;; letter-spacing: 0.4pt;"> </span></p>
<p class="style3" style="margin-left: 0cm;"><strong><span style="text-decoration: underline;"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;; letter-spacing: 0.4pt;" lang="EN-US">Methodology</span></span></strong></p>
<p class="MsoNormal"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;"> </span></p>
<p class="MsoNormal"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;">For the implementation of this project OpenGL will be the graphics API of choice.<span> </span>It has been chosen for its ease of use and functionality as well as its performance.<span> </span>The target platform will be Windows, however the framework will make use of SDL as it handles all the events very nicely and requires very little to set up and manage.</span></p>
<p class="MsoNormal"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;"> </span></p>
<p class="MsoNormal"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;">A simple scene will be required so that the user has a point of reference for up and down, left and right.<span> </span>This will take the shape of a simple heightmapped terrain.<span> </span>This terrain will be lit and textured in the conventional way with GLSL shaders.<span> </span>The user will be able to walk on, or fly around the terrain to view the effect from different angles.</span></p>
<p class="MsoNormal"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;"> </span></p>
<p class="MsoNormal"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;">As for the effect itself, floating point framebuffers will be used to store the fullscreen effect.<span> </span>The reason for this is to add high dynamic range rendering to the scene to make it look sharper.<span> </span>This buffer will then have the entire scene rendered to it before being applied as a texture to a full screen quad.<span> </span>Another texture will need to be used to hold all the depth information for the scene.<span> </span>This will be created in another pass and sampled from at the same time as the fullscreen effect.<span> </span>Together these two textures will contain the information needed for the effect.</span></p>
<p class="MsoNormal"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;"> </span></p>
<p class="MsoNormal"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;">Finally, a small scale GUI will have to be created to allow for dynamic changing of variables.<span> </span>This sort of feature is desirable as it allows for different settings to be created in no time at all and the effect seen instantly.<span> </span>This will be done using OpenGL to create sliders and display text information.</span></p>
<p class="MsoNormal"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;"> </span></p>
<p class="MsoNormal"><strong><span style="text-decoration: underline;"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;">Evaluation</span></span></strong></p>
<p class="MsoNormal"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;"> </span></p>
<p class="MsoNormal"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;">When evaluating this particular project there are a few important questions to answer:</span></p>
<p class="MsoNormal" style="margin-left: 36pt; text-indent: -18pt;"><!--[if !supportLists]--><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;"><span>1.<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none;"> </span></span></span><!--[endif]--><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;">Does the effect look good, does it do what it should?</span></p>
<p class="MsoNormal" style="margin-left: 36pt; text-indent: -18pt;"><!--[if !supportLists]--><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;"><span>2.<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none;"> </span></span></span><!--[endif]--><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;">How has using post-processing techniques benefitted this effect?</span></p>
<p class="MsoNormal"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;"> </span></p>
<p class="MsoNormal"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;">The first question is rather subjective, but it is an important and relevant question as the aim of this dissertation is to create something that is visually stunning and accurate.<span> </span>If it does not look good then the variables might need scaling.<span> </span>The second question is one that is slightly harder to answer, given that this dissertation will be focused on post-processing only, however data available from past research in the field of atmospheric scattering should provide some good comparisons. </span></p>
<p class="MsoNormal"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;"> </span></p>
<p class="MsoNormal"><strong><span style="text-decoration: underline;"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;">Issues</span></span></strong></p>
<p class="MsoNormal"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;"> </span></p>
<p class="MsoNormal"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;">As with any project, there are some issues that need addressing.<span> </span>For example, with post-processed atmospheric scattering, the depth buffer must be stored in a texture for sampling in the shader.<span> </span>Traditionally this requires another pass, however it might be possible to store this depth information in the same pass as the initial rendering by storing it in the alpha channel of the scene texture.</span></p>
<p class="MsoNormal"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;"> </span></p>
<p class="MsoNormal"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;">While post-processing reduces the number of times that the expensive scattering equations are performed, the equations can still have a detrimental effect on performance.<span> </span>Use of lookup tables and pre-computing coefficients may help alleviate this.</span></p>
<p class="MsoNormal"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;"> </span></p>
<p class="MsoNormal"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;"><span> </span></span></p>
<p class="MsoNormal"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;"> </span></p>
<p class="MsoNormal"><strong><span style="text-decoration: underline;"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;">Resources Required</span></span></strong></p>
<p class="style3" style="margin-left: 0cm;"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;"> </span></p>
<p class="style3" style="margin-left: 0cm;"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;">The resources required for this project are fairly minimal.<span> </span>Access to a computer with a suitable graphics card, such as an NVIDIA 8800GT, will suffice.<span> </span>Some sort of debugger for GLSL would be ideal, but not essential as any problems arising will most likely result in visual artefact, making them easier to track down. </span></p>
<p class="style3" style="margin-left: 0cm;"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;"> </span></p>
<p class="style3" style="margin-left: 0cm;"><strong><span style="text-decoration: underline;"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;">Conclusion</span></span></strong></p>
<p class="style3" style="margin-left: 0cm;"><strong><span style="text-decoration: underline;"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;"><span style="text-decoration: none;"> </span></span></span></strong></p>
<p class="style3" style="margin-left: 0cm;"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;">At the end of the project it should be clear what the benefits are of post-processing over physical modelling.<span> </span>Some issues may arise that can provide a basis for future work however, most issues that arise should be manageable.<span> </span>Most importantly, by the end of this project there will be a strong application demonstrating atmospheric scattering as a stunning effect that adds accurate skies and usable depth cues for gamers.</span></p>
<p class="style3" style="margin-left: 0cm;"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;"> </span></p>
<p class="style3" style="margin-left: 0cm;"><strong><span style="text-decoration: underline;"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;" lang="EN-US"><span style="text-decoration: none;"> </span></span></span></strong></p>
<p class="style3" style="margin-left: 0cm;"><strong><span style="text-decoration: underline;"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;" lang="EN-US"><span style="text-decoration: none;"> </span></span></span></strong></p>
<p class="style3" style="margin-left: 0cm;"><strong><span style="text-decoration: underline;"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;" lang="EN-US"><span style="text-decoration: none;"> </span></span></span></strong></p>
<p class="style3" style="margin-left: 0cm;"><strong><span style="text-decoration: underline;"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;" lang="EN-US"><span style="text-decoration: none;"> </span></span></span></strong></p>
<p class="style3" style="margin-left: 0cm;"><strong><span style="text-decoration: underline;"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;" lang="EN-US"><span style="text-decoration: none;"> </span></span></span></strong></p>
<p class="style3" style="margin-left: 0cm;"><strong><span style="text-decoration: underline;"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;" lang="EN-US"><span style="text-decoration: none;"> </span></span></span></strong></p>
<p class="style3" style="margin-left: 0cm;"><strong><span style="text-decoration: underline;"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;" lang="EN-US"><span style="text-decoration: none;"> </span></span></span></strong></p>
<p class="style3" style="margin-left: 0cm;"><strong><span style="text-decoration: underline;"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;" lang="EN-US"><span style="text-decoration: none;"> </span></span></span></strong></p>
<p class="style3" style="margin-left: 0cm;"><strong><span style="text-decoration: underline;"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;" lang="EN-US">References and Bibliography</span></span></strong></p>
<p class="MsoNormal"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;"> </span></p>
<p class="MsoNormal"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;; letter-spacing: 0.4pt;">Möller, T., Haines, E. and Hoffman, N. 2008. <em>Real-time rendering</em>. 3rd ed. Wellesley, Mass.: A.K. Peters</span></p>
<p class="MsoNormal"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;; letter-spacing: 0.4pt;"> </span></p>
<p class="MsoNormal"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;; letter-spacing: 0.4pt;">N Hoffman, A. J. P. 2002. Photorealistic real-time outdoor light scattering. <em>Game Developer</em>. pp.32-38.</span></p>
<p class="MsoNormal"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;; letter-spacing: 0.4pt;"> </span></p>
<p class="MsoNormal"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;; letter-spacing: 0.4pt;">O&#8217;Neil, S. 2005. <em>GPU gems 2 : programming techniques for high-performance graphics and general-purpose computation</em>. London: Addison-Wesley</span></p>
<p class="MsoNormal"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;; letter-spacing: 0.4pt;"> </span></p>
<p class="MsoNormal"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;; letter-spacing: 0.4pt;">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.</span></p>
<p class="MsoNormal"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;; letter-spacing: 0.4pt;"> </span></p>
<p class="MsoNormal"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;; letter-spacing: 0.4pt;">Tomoyuki, N., et al. 1993 In <em>Proceedings of the 20th annual conference on Computer graphics and interactive techniques</em>ACM, Anaheim, CA.</span></p>
<p class="MsoNormal"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;; letter-spacing: 0.4pt;"> </span></p>
<p class="MsoNormal"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;; letter-spacing: 0.4pt;">Wenzel, C. 2006 In <em>ACM SIGGRAPH 2006 Courses</em>ACM, Boston, Massachusetts.</span></p>
<p class="MsoNormal"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;; letter-spacing: 0.4pt;"> </span></p>
<p class="MsoNormal"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;; letter-spacing: 0.4pt;">Yoshinori, D., Tsuyoshi, Y. and Tomoyuki, N. 2002 In <em>Proceedings of the ACM SIGGRAPH/EUROGRAPHICS conference on Graphics hardware</em>Eurographics Association, Saarbrucken, Germany.</span></p>
<p class="MsoNormal">
<p class="MsoNormal">
<p class="MsoNormal" style="margin-left: 36pt; text-indent: -36pt;">
<p><!--[if gte mso 10]><br />
<mce:style><!   /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Table Normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-priority:99; 	mso-style-qformat:yes; 	mso-style-parent:""; 	mso-padding-alt:0cm 5.4pt 0cm 5.4pt; 	mso-para-margin:0cm; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Times New Roman","serif";} --></p>
<p><!--[endif]--></p>
]]></content:encoded>
			<wfw:commentRss>http://bigdavedev.com/honours-blog/2010/01/project-proposal/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<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>Worksheet 2</title>
		<link>http://bigdavedev.com/honours-blog/2009/10/worksheet-2/</link>
		<comments>http://bigdavedev.com/honours-blog/2009/10/worksheet-2/#comments</comments>
		<pubDate>Tue, 06 Oct 2009 15:23:25 +0000</pubDate>
		<dc:creator>Big Dave</dc:creator>
				<category><![CDATA[Proposal]]></category>
		<category><![CDATA[Reading]]></category>
		<category><![CDATA[Update]]></category>
		<category><![CDATA[Worksheet]]></category>

		<guid isPermaLink="false">http://bigdavedev.com/honours-blog/?p=65</guid>
		<description><![CDATA[This weeks task is to actually arrive at a research question &#8211; by no means an easy task! I have formulated several possible questions thus far and all are related to the topic of atmospheric scattering, as this is my main topic of interest.  I shall list them below: Can atmospheric scattering be used accurately [...]]]></description>
			<content:encoded><![CDATA[<p>This weeks task is to actually arrive at a research question &#8211; by no means an easy task!</p>
<p>I have formulated several possible questions thus far and all are related to the topic of atmospheric scattering, as this is my main topic of interest.  I shall list them below:</p>
<ul>
<li>Can atmospheric scattering be used accurately in computer games?</li>
<li>Is it feasible to include atmospheric scattering in computer games?</li>
<li>Can post-processed effects &#8211; such as atmospheric scattering &#8211; be used in computer games without hindering performance?</li>
<li>Can post-processed effects &#8211; such as atmospheric scattering &#8211; be used in computer games without negatively affecting overall performance?</li>
<li>Can atmospheric scattering be implemented efficiently in computer games?</li>
<li>Can atmospheric scattering be used as an effective depth cue in computer games?</li>
<li>Can atmospheric scattering be used as an effective enhancement to traditional global illumination models?</li>
</ul>
<p>While the last one holds the most interest for me, I do not think there is enough time to play with this question as it would involve the use of radiosity, ray tracing or photon mapping.  With that in mind, I feel that the question that will allow me to explore atmospheric scattering and post-processing would be the third-last question:</p>
<p>&#8220;Can atmospheric scattering be implemented efficiently in computer games?&#8221;</p>
<p>With this particular question, the suggested scope should be small enough to investigate GPGPU techniques and post-processing as well as provide me the choice of using either Preetham or Nishitas&#8217; method for the atmospheric scattering model.</p>
<p>It was also brought to my attention earlier today that using Nishitas&#8217; model would allow an appropriate use of GPGPU techniques as there are lots of variables to compute over several frames.</p>
<p>On a final note then, the research question I am putting forward is:</p>
<p>&#8220;Can atmospheric scattering be implemented efficiently in computer games?&#8221;</p>
]]></content:encoded>
			<wfw:commentRss>http://bigdavedev.com/honours-blog/2009/10/worksheet-2/feed/</wfw:commentRss>
		<slash:comments>3</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>
		<item>
		<title>Worksheet 1</title>
		<link>http://bigdavedev.com/honours-blog/2009/09/worksheet-1/</link>
		<comments>http://bigdavedev.com/honours-blog/2009/09/worksheet-1/#comments</comments>
		<pubDate>Thu, 24 Sep 2009 17:10:44 +0000</pubDate>
		<dc:creator>Big Dave</dc:creator>
				<category><![CDATA[Proposal]]></category>
		<category><![CDATA[Reading]]></category>
		<category><![CDATA[Update]]></category>
		<category><![CDATA[Worksheet]]></category>

		<guid isPermaLink="false">http://bigdavedev.com/honours-blog/?p=33</guid>
		<description><![CDATA[We were issued a task in class today to complete a worksheet with the aim of guiding us towards a research topic and ultimately a research question. First I must state the topic of interest. I have a keen interest in landscape photography and lighting composure is a key aspect in getting the perfect photograph.  [...]]]></description>
			<content:encoded><![CDATA[<p>We were issued a task in class today to complete a worksheet with the aim of guiding us towards a research topic and ultimately a research question.</p>
<p>First I must state the topic of interest.</p>
<p>I have a keen interest in landscape photography and lighting composure is a key aspect in getting the perfect photograph.  In particular, sunset and sunrise are very pleasant effects.  I am interested in mimicking these atmospheric conditions in an interactive environment using post-processing techniques.</p>
<p>Currently the issues surrounding these post-processed effects is efficiency in real-time.  Various post-processing effects are used in Adobe Photoshop and The GIMP, where time isn&#8217;t really of the essence.  With atmospheric effects &#8211; such as scattering &#8211; game programmers and artists have traditionally used rough approximations<img class="alignright size-full wp-image-43" title="preetham99" src="http://bigdavedev.com/honours-blog/wp-content/uploads/2009/09/preetham99.jpg" alt="preetham99" width="202" height="152" /> due to<img src="file:///C:/DOCUME~1/0402040/LOCALS~1/Temp/moz-screenshot.png" alt="" /> computational expense at the hands of mathematical complexity, leading to less believable &#8211; and thus less immersive &#8211; environments.  However, these effects are becoming more popular now due to better hardware.</p>
<p>As stated I intend to mimic atmospheric scattering effects by applying it as a post-processed effect.  This principally means taking a screenshot of the framebuffer and attaching it to the depth buffer and applying this texture to a quad the size of the screen.  From here it is passed straight to a pixel/fragment shader where the effects are applied.  I will primarily stick to the methods outlined by Preetham in his 1999 SIGGRAPH paper  &#8220;A Practical Analytic Model for Daylight&#8221; as the techniques he outlines have remained virtually unchanged.</p>
<p>There are two ways to implement these techniques:</p>
<ol>
<li>The traditional CPU and GPU combination</li>
<li>The new GPGPU &#8211; General Purpose GPU &#8211; methods</li>
</ol>
<p>In this project I will be looking into method 2 using NVIDIAs&#8217; CUDA technology.  Due to lack of access, I will not be able to create an implementation using AMD Stream as I do not have access to a required ATI card.  I would be interested as well in creating a port of this project to a major console &#8211; time permitting &#8211; such as the PS3 or the XBox360.  However, I doubt there will be much time left over to try and make this port.</p>
<p>The aim of this honours project is to create a visual effect that can be used in games to create stunning and practical depth-cues for vast landscapes.</p>
]]></content:encoded>
			<wfw:commentRss>http://bigdavedev.com/honours-blog/2009/09/worksheet-1/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Welcome to my Honours blog</title>
		<link>http://bigdavedev.com/honours-blog/2009/03/welcome-to-my-honours-blog/</link>
		<comments>http://bigdavedev.com/honours-blog/2009/03/welcome-to-my-honours-blog/#comments</comments>
		<pubDate>Tue, 10 Mar 2009 13:58:03 +0000</pubDate>
		<dc:creator>Big Dave</dc:creator>
				<category><![CDATA[Reminder]]></category>
		<category><![CDATA[bigdavedev]]></category>
		<category><![CDATA[blog-skinning]]></category>
		<category><![CDATA[dissertation]]></category>
		<category><![CDATA[Honours]]></category>
		<category><![CDATA[portfolio]]></category>
		<category><![CDATA[projects]]></category>
		<category><![CDATA[test]]></category>

		<guid isPermaLink="false">http://bigdavedev.com/honours-blog/?p=3</guid>
		<description><![CDATA[This is the blog where I will keep track of my honours project next year.  I have decided to set it up now, so as to save time from doing it later when I could be getting on with studying   As yet there is nothing here but this post and it will remain so [...]]]></description>
			<content:encoded><![CDATA[<p>This is the blog where I will keep track of my honours project next year.  I have decided to set it up now, so as to save time from doing it later when I could be getting on with studying <img src='http://bigdavedev.com/honours-blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />   As yet there is nothing here but this post and it will remain so up until the end of the summer holiday.  So an update will be posted by mid September at the latest.  I may, before then, decide to post some dissertation ideas on here in the mean time to serve as reminders later on.  But until then, this is the only post available in this blog.</p>
<p>So, see you in September folks!</p>
<p>Bis bald,</p>
<p>Big Dave</p>
]]></content:encoded>
			<wfw:commentRss>http://bigdavedev.com/honours-blog/2009/03/welcome-to-my-honours-blog/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

