<?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>FanDoster</title>
	<atom:link href="http://fandoster.com/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://fandoster.com</link>
	<description>Check MEOWt.</description>
	<lastBuildDate>Sun, 27 Jan 2013 19:41:30 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>First Week Back.</title>
		<link>http://fandoster.com/?p=535</link>
		<comments>http://fandoster.com/?p=535#comments</comments>
		<pubDate>Fri, 25 Jan 2013 19:36:40 +0000</pubDate>
		<dc:creator>DanFoster</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://fandoster.com/?p=535</guid>
		<description><![CDATA[It&#8217;s now the end of the first week of University in 2013. Christmas was a lot of fun but I&#8217;m already enjoying getting stuck into some work. I&#8217;m doing three modules this term that I&#8217;m really looking forward to doing. They are Team Project, Graphics II and Application Development. Team Project Team Project is an [...]]]></description>
				<content:encoded><![CDATA[<p>It&#8217;s now the end of the first week of University in 2013. Christmas was a lot of fun but I&#8217;m already enjoying getting stuck into some work.</p>
<p>I&#8217;m doing three modules this term that I&#8217;m really looking forward to doing. They are Team Project, Graphics II and Application Development.</p>
<h3>Team Project</h3>
<p>Team Project is an opportunity for me to create something great as part of a team. The only real directions we have received is to make something impressive (but feasible). The project doesn&#8217;t even necessarily have to be programming based, but as everyone in my Team is studying Computer Games Programming we all really wanted to make a game&#8230; So a game it is!</p>
<p>Our team is made up of 6 programmers all in their second year of Games Programming, and from what I could tell from the first meeting we were all looking forward to making something cool.</p>
<p>After talking and  getting to know my team mates the type of game that we wanted to make evolved quickly and we settled on making something 2D in Unity. We picked Unity for it&#8217;s quick and professional development environment and we decided to go with a 2D game as we don&#8217;t have any artist in our team, and programmer art is never a pretty sight.</p>
<p>I found that I was leading the discussion about the different platforms and games that were available for us to work with and make, so I became  the team&#8217;s Project Manager. This means that I&#8217;ve become the point of contact between Dave Voorhis (the lecture for this module) and the rest of the team. It also falls to me to organise our team, help delegate tasks and make sure that this project is done on time to a spectacular standard.</p>
<p>The first thing that I did as Project Manager was set Wednesdays as the day that we would all meet up outside of the scheduled tutor time for this module. We were limited on time as one of the team members has to pick up his child from school in the afternoon so we agreed to meet at 10am every Wednesday and work though until then. I have also collected all of the team members&#8217; email addresses should I need to contact them and made a &#8220;todo&#8221; list  and description of the game and how it will be played on Google Docs.</p>
<p>For now this week the only task on the Todo list is for everyone to lean some Unity! We have a facebook group that people have been posting Unity tutorials in so it looks like things have started smoothly.</p>
<p>I&#8217;ll give more information on our project when we have some screen shots and more development news to talk about.</p>
<h3>Graphics II</h3>
<p>Onto Graphics, I really enjoyed Graphics I last term and I am really looking forward to sinking my teeth into this module. There are three tasks that make up the final grade for Graphics II:</p>
<p>- An 8 page Scientific Paper styled report comparing the two main graphics APIs OpenGL and Direct3D</p>
<p>- A Tech Demo designed to show off my capabilities as a graphics programmer</p>
<p>- And a paired assignment with someone else on the module that should be an extension of the individual demo with intractable objects that uses more advanced rendering techniques.</p>
<p>The report is coming along nicely and with the deadline in week 3. It&#8217;s easy to write as a there is more than enough material online thanks to the internet providing the perfect platform for people to ague about everything (Graphics API very much included in this).</p>
<p>The Solo Demo is something that I have wanted to work on for a while. The reason that I got into programming in the first place was to make games, and making a 3D environment that does as many fancy things as possible is exactly what I need to get there. I have already finished an introductory book to DirectX11 and will start on <a title="Frank Luna" href="http://www.amazon.com/Introduction-3D-Game-Programming-DirectX/dp/1598220535" target="_blank">Frank Luna&#8217;s</a> Highly recommended DirectX10 book soon as it seems to have a lot more practical techniques in it. I would like to use the DirectX11 version of the book but I don&#8217;t have hardware that supports it <img src='http://fandoster.com/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> .</p>
<p>For the paired project we must give a presentation in the last week of term showing off what we have made. I have already teamed up with someone on the course named Elliot, we get on quite well and he seems like a motivated individual so I am looking forward to working closely with him to make something great in a few weeks time.</p>
<h3>Application Development</h3>
<p>The grade for Application Development is made up as follows:</p>
<p>40%  - Essay</p>
<p>30% &#8211; Web Application</p>
<p>30% &#8211; Windows 8 Application</p>
<p><strong>Essay</strong></p>
<p>In the module handbook (the details of the Essay have not been given yet) We are to write a research paper about the core concepts, issues and technologies involved in developing and deploying a variety of applications.</p>
<p>Okay, this sounds like it is useful stuff, but we are tasked with writing it first, before we have developed and deployed <strong>anything</strong>. Surely we should write this at the end when we have had to look into these subject areas when developing and deploying our two applications. The other thing that is deeply wrong about this is that more marks are awarded (and therefor must be more important) for being able to write a paper on deploying application than actually being able to build and deploy an application!</p>
<p>I can not wait to leave academia.</p>
<p><strong>Web Application</strong></p>
<p>For a meager 30% of this modules grade we will have the honor of actually getting to do some programming. We will be using some pretty new tools, we get to use WebMatrix2 and the Azure platform. These are two pretty cool things (but it must not be that important to be able to use a globally salable platform as less than a third of the mark is given for being able to do so).</p>
<p>We&#8217;ve not been told much about this project yet, other than we will be using Azure and using some PHP. I&#8217;ve done a little PHP before and really enjoyed it so I&#8217;m looking forward to it. I&#8217;ve checked out Azure a bit as well and it looks like we&#8217;ve been given a lot of stuff to tinker around with. We get something along the lines of 2 virtual machines, &#8220;Mobile Services&#8221;, a few websites, SQL databases and things. Looks like I could make something pretty cool with these tools <img src='http://fandoster.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</p>
<p>&nbsp;</p>
<p><strong>Windows 8 Store App</strong></p>
<p>We have been told even less about this assignment  pretty much the only thing that has been said is that we can make a game if we want.</p>
<p>I&#8217;ve got Windows 8 on my laptop and computer and it seems pretty nice, but I never use any of the Store Application on it. It could be a cool thing to develop on but I&#8217;ll have too see.</p>
]]></content:encoded>
			<wfw:commentRss>http://fandoster.com/?feed=rss2&#038;p=535</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Falling Spikes</title>
		<link>http://fandoster.com/?p=514</link>
		<comments>http://fandoster.com/?p=514#comments</comments>
		<pubDate>Tue, 20 Nov 2012 15:01:46 +0000</pubDate>
		<dc:creator>DanFoster</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Falling Spikes]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[game]]></category>
		<category><![CDATA[Silicon Milkroundabout]]></category>
		<category><![CDATA[Spikes]]></category>

		<guid isPermaLink="false">http://fandoster.com/?p=514</guid>
		<description><![CDATA[I recently went to Silicon Milkroundbout  in London to look for a placement, I thought it would be a really good idea to make Falling Spikes to show potential employees there and as a good conversation starter. As I write this in its current state Falling Spikes is in an early alpha state as it&#8217;s [...]]]></description>
				<content:encoded><![CDATA[<p>I recently went to Silicon <a title="Silicon Milk Roundabout" href="http://siliconmilkroundabout.com/">Milkroundbout  </a>in London to look for a placement, I thought it would be a really good idea to make Falling Spikes to show potential employees there and as a good conversation starter.</p>
<p>As I write this in its current state <a href="https://play.google.com/store/apps/details?id=com.fandoster.falling.spikes&amp;feature=search_result#?t=W251bGwsMSwyLDEsImNvbS5mYW5kb3N0ZXIuZmFsbGluZy5zcGlrZXMiXQ..">Falling Spikes</a> is in an early alpha state as it&#8217;s only had a couple of days work done on it in the run up to Silicon Milkroundabout so please forgive the rough edges.</p>
<div id="attachment_517" class="wp-caption aligncenter" style="width: 234px"><a href="http://fandoster.com/wp-content/uploads/2012/12/fallingspikes.jpg"><img class="size-full wp-image-517" title="Falling Spikes" src="http://fandoster.com/wp-content/uploads/2012/12/fallingspikes.jpg" alt="Falling Spikes" width="224" height="370" /></a><p class="wp-caption-text">Stay in the square for points!</p></div>
<p>The objective of the game is to stay alive and get as many points as possible. The player must use the phones accelerometer to move a ball around the screen and dodge the spikes that fall from the top of the screen. There is a square that moves around the screen that the player must stay inside of to get points.</p>
<p>There are collectibles that fall fro the top of the screen as well, the player much touch these to collect them.</p>
<p>So far I have most of the basic elements in the game but there is much to do. When I have some more free time from my university work I intend to make the game look much more appealing, allow the user to tweet their high score and add a collectible that makes the player invisible and can destroy spikes.</p>
<div id="attachment_515" class="wp-caption aligncenter" style="width: 202px"><a href="http://fandoster.com/wp-content/uploads/2012/12/Untitled.jpg"><img class="size-full wp-image-515" title="Falling Spikes" src="http://fandoster.com/wp-content/uploads/2012/12/Untitled.jpg" alt="Falling Spikes" width="192" height="317" /></a><p class="wp-caption-text">Falling Spikes game play.</p></div>
<p>Whilst I was at Silicon Milkroundabout I found that almost everyone who played it was confused about at what to do, and that almost never tried to get the bonuses the first time they played. This has made me realise that Falling Spikes definitely needs some kind of tutorial when the game first starts. Ideally this would allow the player to get use to controlling the ball, and show them that they have to touch the bonuses..</p>
<p>&nbsp;</p>
<p style="text-align: center;"><a title="FALLING SPIKES!" href="https://play.google.com/store/apps/details?id=com.fandoster.falling.spikes&amp;feature=search_result#?t=W251bGwsMSwyLDEsImNvbS5mYW5kb3N0ZXIuZmFsbGluZy5zcGlrZXMiXQ.." target="_blank">Install Falling Spikes on you Android phone now!</a></p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://fandoster.com/?feed=rss2&#038;p=514</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Implementing the Bresenham / Midpoint Line Algorithm.</title>
		<link>http://fandoster.com/?p=446</link>
		<comments>http://fandoster.com/?p=446#comments</comments>
		<pubDate>Tue, 09 Oct 2012 16:53:06 +0000</pubDate>
		<dc:creator>DanFoster</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[University]]></category>
		<category><![CDATA[Algorithm]]></category>
		<category><![CDATA[Bresenham]]></category>
		<category><![CDATA[C]]></category>
		<category><![CDATA[draw]]></category>
		<category><![CDATA[Line]]></category>
		<category><![CDATA[Midpoint]]></category>
		<category><![CDATA[plot]]></category>
		<category><![CDATA[Two points]]></category>

		<guid isPermaLink="false">http://fandoster.com/?p=446</guid>
		<description><![CDATA[This is an article about implementing the Midpoint Algorithm. The Midpoint algorithm is a technique for drawing a straight line between two points efficiently. In this article I hope to implement the algorithm and explain the steps along the way. Here is the equation needed to plot a line. y = mx + d The variables y and x simply refer [...]]]></description>
				<content:encoded><![CDATA[<p>This is an article about implementing the Midpoint Algorithm. The Midpoint algorithm is a technique for drawing a straight line between two points efficiently. In this article I hope to implement the algorithm and explain the steps along the way. Here is the equation needed to plot a line.</p>
<pre style="text-align: center;">y = mx + d</pre>
<p>The variables <strong>y</strong> and<strong> x</strong> simply refer to the x and y position at any point in the line. The <strong>m</strong> variable is the slope of the line and <strong>d </strong>is where the line crosses the y axis. Pretty simple to understand (and convert into code).</p>
<p>First of all we are going to create local variables that represent the x and y of the two points. In this example we are passing in a vector of integers and simply copying the values from them. <div id="wpshdo_1" class="wp-synhighlighter-outer"><div id="wpshdt_1" class="wp-synhighlighter-expanded"><table border="0" width="100%"><tr><td align="left" width="80%"><a name="#codesyntax_1"></a><a id="wpshat_1" class="wp-synhighlighter-title" href="#codesyntax_1"  onClick="javascript:wpsh_toggleBlock(1)" title="Click to show/hide code block">Code block</a></td><td align="right"><a href="#codesyntax_1" onClick="javascript:wpsh_code(1)" title="Show code only"><img border="0" style="border: 0 none" src="http://fandoster.com/wp-content/plugins/wp-synhighlight/themes/default/images/code.png" /></a>&nbsp;<a href="#codesyntax_1" onClick="javascript:wpsh_print(1)" title="Print code"><img border="0" style="border: 0 none" src="http://fandoster.com/wp-content/plugins/wp-synhighlight/themes/default/images/printer.png" /></a>&nbsp;<a href="http://fandoster.com/wp-content/plugins/wp-synhighlight/About.html" target="_blank" title="Show plugin information"><img border="0" style="border: 0 none" src="http://fandoster.com/wp-content/plugins/wp-synhighlight/themes/default/images/info.gif" /></a>&nbsp;</td></tr></table></div><div id="wpshdi_1" class="wp-synhighlighter-inner" style="display: block;"><pre class="csharp" style="font-family:monospace;"><span class="kw1">void</span> drawline<span class="br0">&#40;</span>Vector2 <span class="kw1">const</span><span class="sy0">*</span> <span class="kw1">const</span> pt1, Vector2 <span class="kw1">const</span><span class="sy0">*</span> <span class="kw1">const</span> pt2<span class="br0">&#41;</span>
<span class="br0">&#123;</span>
	<span class="co1">// Create local variables to use</span>
	<span class="kw4">int</span> p1x <span class="sy0">=</span> pt1<span class="sy0">-&gt;</span>x<span class="sy0">;</span>
	<span class="kw4">int</span> p1y <span class="sy0">=</span> pt1<span class="sy0">-&gt;</span>y<span class="sy0">;</span>
	<span class="kw4">int</span> p2x <span class="sy0">=</span> pt2<span class="sy0">-&gt;</span>x<span class="sy0">;</span>
	<span class="kw4">int</span> p2y <span class="sy0">=</span> pt2<span class="sy0">-&gt;</span>y<span class="sy0">;</span>
<span class="br0">&#125;</span></pre></div></div></p>
<p>After getting the initial values I create the delta terms for use later. The delta terms is another way of saying the difference between the points.</p>
<h3 style="text-align: center;">Finding the Slope.</h3>
<p>This is the equation to get the slope (<strong>m</strong>) of the a line between two points. <a href="http://fandoster.com/wp-content/uploads/2012/10/Untitled.jpg"><img class="aligncenter size-full wp-image-475" title="Slope equation." src="http://fandoster.com/wp-content/uploads/2012/10/Untitled.jpg" alt="Slope / m" width="139" height="86" /></a>This is nice and easy to implement in code. Make another two variables called deltaX and deltaY. These will be the difference between the two points. <div id="wpshdo_2" class="wp-synhighlighter-outer"><div id="wpshdt_2" class="wp-synhighlighter-expanded"><table border="0" width="100%"><tr><td align="left" width="80%"><a name="#codesyntax_2"></a><a id="wpshat_2" class="wp-synhighlighter-title" href="#codesyntax_2"  onClick="javascript:wpsh_toggleBlock(2)" title="Click to show/hide code block">Code block</a></td><td align="right"><a href="#codesyntax_2" onClick="javascript:wpsh_code(2)" title="Show code only"><img border="0" style="border: 0 none" src="http://fandoster.com/wp-content/plugins/wp-synhighlight/themes/default/images/code.png" /></a>&nbsp;<a href="#codesyntax_2" onClick="javascript:wpsh_print(2)" title="Print code"><img border="0" style="border: 0 none" src="http://fandoster.com/wp-content/plugins/wp-synhighlight/themes/default/images/printer.png" /></a>&nbsp;<a href="http://fandoster.com/wp-content/plugins/wp-synhighlight/About.html" target="_blank" title="Show plugin information"><img border="0" style="border: 0 none" src="http://fandoster.com/wp-content/plugins/wp-synhighlight/themes/default/images/info.gif" /></a>&nbsp;</td></tr></table></div><div id="wpshdi_2" class="wp-synhighlighter-inner" style="display: block;"><pre class="csharp" style="font-family:monospace;"><span class="co1">// create delta terms</span>
<span class="kw4">int</span> deltaX <span class="sy0">=</span> p2x <span class="sy0">-</span> p1x<span class="sy0">;</span>
<span class="kw4">int</span> deltaY <span class="sy0">=</span> p2y <span class="sy0">-</span> p1y<span class="sy0">;</span>
&nbsp;
<span class="kw4">float</span> currentY <span class="sy0">=</span> <span class="nu0">0</span><span class="sy0">;</span>
<span class="kw4">float</span> slope <span class="sy0">=</span> abs<span class="br0">&#40;</span> <span class="br0">&#40;</span><span class="kw4">float</span><span class="br0">&#41;</span>deltaY <span class="sy0">/</span> <span class="br0">&#40;</span><span class="kw4">float</span><span class="br0">&#41;</span>deltaX <span class="br0">&#41;</span><span class="sy0">;</span></pre></div></div></pre>
<p>Then we also need  to have a temporary variable to track our position on the Y axis. This will have the slope value added to it once for each step we take across the X axis.</p>
<p>Now for the part of the code that actually draws the line. We will be going from the left X position to the right X position. A for loop will be good for this.</p>
<div id="wpshdo_3" class="wp-synhighlighter-outer"><div id="wpshdt_3" class="wp-synhighlighter-expanded"><table border="0" width="100%"><tr><td align="left" width="80%"><a name="#codesyntax_3"></a><a id="wpshat_3" class="wp-synhighlighter-title" href="#codesyntax_3"  onClick="javascript:wpsh_toggleBlock(3)" title="Click to show/hide code block">Code block</a></td><td align="right"><a href="#codesyntax_3" onClick="javascript:wpsh_code(3)" title="Show code only"><img border="0" style="border: 0 none" src="http://fandoster.com/wp-content/plugins/wp-synhighlight/themes/default/images/code.png" /></a>&nbsp;<a href="#codesyntax_3" onClick="javascript:wpsh_print(3)" title="Print code"><img border="0" style="border: 0 none" src="http://fandoster.com/wp-content/plugins/wp-synhighlight/themes/default/images/printer.png" /></a>&nbsp;<a href="http://fandoster.com/wp-content/plugins/wp-synhighlight/About.html" target="_blank" title="Show plugin information"><img border="0" style="border: 0 none" src="http://fandoster.com/wp-content/plugins/wp-synhighlight/themes/default/images/info.gif" /></a>&nbsp;</td></tr></table></div><div id="wpshdi_3" class="wp-synhighlighter-inner" style="display: block;"><pre class="csharp" style="font-family:monospace;"><span class="kw4">int</span> y <span class="sy0">=</span> p1y<span class="sy0">;</span>
&nbsp;
<span class="kw1">for</span><span class="br0">&#40;</span><span class="kw4">int</span> x <span class="sy0">=</span> p1x<span class="sy0">;</span> x <span class="sy0">&lt;=</span> p2x<span class="sy0">;</span> <span class="sy0">++</span>x<span class="br0">&#41;</span>
<span class="br0">&#123;</span>   <span class="co1">// Plot the line along the x axis</span>
	drawpoint<span class="br0">&#40;</span>x, y, <span class="st0">'*'</span><span class="br0">&#41;</span><span class="sy0">;</span>
<span class="br0">&#125;</span></pre></div></div>
<p>Here I am creating a Y variable and assigning it to the first point&#8217;s Y value. I am also setting  the loop up to move from the first X position to the second. My drawpoint() function is for drawing in a command prompt, but you will have to use or make your own function for this.</p>
<p>If you run this code you will get  a straight line going from the left-most point to the Y position of right point. So we&#8217;re halfway there.</p>
<p><a href="http://fandoster.com/wp-content/uploads/2012/10/straightline-e1349807666700.jpg"><img class="aligncenter size-full wp-image-480" title="Straight LIne" src="http://fandoster.com/wp-content/uploads/2012/10/straightline-e1349807666700.jpg" alt="" width="411" height="369" /></a></p>
<p>&nbsp;</p>
<p>Now we need to make the Y value increase at the rate of the slope we made earlier. This is nice and easy to do.</p>
<p>First we add &#8220;slope&#8221; to the &#8220;currentY&#8221; variable and check to see if it is over 0.5. If it is over 0.5, then the Y value is over halfway into the next cell, so we add 1 to the Y and take one from &#8220;currentY&#8221;. Here is the loop to draw the line now.</p>
<div id="wpshdo_4" class="wp-synhighlighter-outer"><div id="wpshdt_4" class="wp-synhighlighter-expanded"><table border="0" width="100%"><tr><td align="left" width="80%"><a name="#codesyntax_4"></a><a id="wpshat_4" class="wp-synhighlighter-title" href="#codesyntax_4"  onClick="javascript:wpsh_toggleBlock(4)" title="Click to show/hide code block">Code block</a></td><td align="right"><a href="#codesyntax_4" onClick="javascript:wpsh_code(4)" title="Show code only"><img border="0" style="border: 0 none" src="http://fandoster.com/wp-content/plugins/wp-synhighlight/themes/default/images/code.png" /></a>&nbsp;<a href="#codesyntax_4" onClick="javascript:wpsh_print(4)" title="Print code"><img border="0" style="border: 0 none" src="http://fandoster.com/wp-content/plugins/wp-synhighlight/themes/default/images/printer.png" /></a>&nbsp;<a href="http://fandoster.com/wp-content/plugins/wp-synhighlight/About.html" target="_blank" title="Show plugin information"><img border="0" style="border: 0 none" src="http://fandoster.com/wp-content/plugins/wp-synhighlight/themes/default/images/info.gif" /></a>&nbsp;</td></tr></table></div><div id="wpshdi_4" class="wp-synhighlighter-inner" style="display: block;"><pre class="csharp" style="font-family:monospace;"><span class="kw1">for</span><span class="br0">&#40;</span><span class="kw4">int</span> x <span class="sy0">=</span> p1x<span class="sy0">;</span> x <span class="sy0">&lt;=</span> p2x<span class="sy0">;</span> <span class="sy0">++</span>x<span class="br0">&#41;</span>
<span class="br0">&#123;</span>   <span class="co1">// Plot the line along the x axis</span>
	drawpoint<span class="br0">&#40;</span>x, y, <span class="st0">'*'</span><span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp;
	currentY <span class="sy0">+=</span> slope<span class="sy0">;</span>
	<span class="kw1">if</span><span class="br0">&#40;</span>currentY <span class="sy0">&gt;=</span> 0.5f<span class="br0">&#41;</span>
	<span class="br0">&#123;</span>
		y<span class="sy0">++;</span>
		currentY <span class="sy0">-=</span> 1.0f<span class="sy0">;</span>
	<span class="br0">&#125;</span>
<span class="br0">&#125;</span></pre></div></div>
<p>&nbsp;</p>
<p>And here is the nice line between the two points.</p>
<p><a href="http://fandoster.com/wp-content/uploads/2012/10/slopedline1-e1349807715904.jpg"><img class="aligncenter size-full wp-image-483" title="Line" src="http://fandoster.com/wp-content/uploads/2012/10/slopedline1-e1349807715904.jpg" alt="" width="403" height="364" /></a></p>
<h3 style="text-align: center;"></h3>
<h3 style="text-align: center;">A Problem.</h3>
<p>Great, so that looks like it is working, but there is a problem with it. This implementation only works with the first point being below and to the left of the second line. Hmm that&#8217;s not what we want really. Below is a screen shot of the issue. If the first point is to the right of the second then no line is drawn at all.</p>
<p><a href="http://fandoster.com/wp-content/uploads/2012/10/brokenline-e1349807689759.jpg"><img class="aligncenter size-full wp-image-486" title="BrokenLine" src="http://fandoster.com/wp-content/uploads/2012/10/brokenline-e1349807689759.jpg" alt="Broken Line" width="413" height="372" /></a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>The code we have now has two issues with it.</p>
<p>1: The line can only slope up.</p>
<p>2: The first point must be on the left.</p>
<p>To fix the first issue we need to detect if the first value is above or below the second. Once we know if the second point is lower than the first we simply have to decrease the Y value rather than increase it. This can be done by adding an integer and an if statement.</p>
<p>This code goes above the delta terms being declared.</p>
<div id="wpshdo_5" class="wp-synhighlighter-outer"><div id="wpshdt_5" class="wp-synhighlighter-expanded"><table border="0" width="100%"><tr><td align="left" width="80%"><a name="#codesyntax_5"></a><a id="wpshat_5" class="wp-synhighlighter-title" href="#codesyntax_5"  onClick="javascript:wpsh_toggleBlock(5)" title="Click to show/hide code block">Code block</a></td><td align="right"><a href="#codesyntax_5" onClick="javascript:wpsh_code(5)" title="Show code only"><img border="0" style="border: 0 none" src="http://fandoster.com/wp-content/plugins/wp-synhighlight/themes/default/images/code.png" /></a>&nbsp;<a href="#codesyntax_5" onClick="javascript:wpsh_print(5)" title="Print code"><img border="0" style="border: 0 none" src="http://fandoster.com/wp-content/plugins/wp-synhighlight/themes/default/images/printer.png" /></a>&nbsp;<a href="http://fandoster.com/wp-content/plugins/wp-synhighlight/About.html" target="_blank" title="Show plugin information"><img border="0" style="border: 0 none" src="http://fandoster.com/wp-content/plugins/wp-synhighlight/themes/default/images/info.gif" /></a>&nbsp;</td></tr></table></div><div id="wpshdi_5" class="wp-synhighlighter-inner" style="display: block;"><pre class="csharp" style="font-family:monospace;"><span class="kw4">int</span> yIncrease <span class="sy0">=</span> <span class="nu0">1</span><span class="sy0">;</span>
&nbsp;
<span class="kw1">if</span><span class="br0">&#40;</span>p1y <span class="sy0">&gt;</span> p2y<span class="br0">&#41;</span>
<span class="br0">&#123;</span>    <span class="co1">//The first point is higher than the second</span>
	yIncrease <span class="sy0">=</span> <span class="sy0">-</span><span class="nu0">1</span><span class="sy0">;</span>
<span class="br0">&#125;</span></pre></div></div>
<p>And this is the new for loop.</p>
<div id="wpshdo_6" class="wp-synhighlighter-outer"><div id="wpshdt_6" class="wp-synhighlighter-expanded"><table border="0" width="100%"><tr><td align="left" width="80%"><a name="#codesyntax_6"></a><a id="wpshat_6" class="wp-synhighlighter-title" href="#codesyntax_6"  onClick="javascript:wpsh_toggleBlock(6)" title="Click to show/hide code block">Code block</a></td><td align="right"><a href="#codesyntax_6" onClick="javascript:wpsh_code(6)" title="Show code only"><img border="0" style="border: 0 none" src="http://fandoster.com/wp-content/plugins/wp-synhighlight/themes/default/images/code.png" /></a>&nbsp;<a href="#codesyntax_6" onClick="javascript:wpsh_print(6)" title="Print code"><img border="0" style="border: 0 none" src="http://fandoster.com/wp-content/plugins/wp-synhighlight/themes/default/images/printer.png" /></a>&nbsp;<a href="http://fandoster.com/wp-content/plugins/wp-synhighlight/About.html" target="_blank" title="Show plugin information"><img border="0" style="border: 0 none" src="http://fandoster.com/wp-content/plugins/wp-synhighlight/themes/default/images/info.gif" /></a>&nbsp;</td></tr></table></div><div id="wpshdi_6" class="wp-synhighlighter-inner" style="display: block;"><pre class="csharp" style="font-family:monospace;"><span class="kw1">for</span><span class="br0">&#40;</span><span class="kw4">int</span> x <span class="sy0">=</span> p1x<span class="sy0">;</span> x <span class="sy0">&lt;=</span> p2x<span class="sy0">;</span> <span class="sy0">++</span>x<span class="br0">&#41;</span>
<span class="br0">&#123;</span>   <span class="co1">// Plot the line along the x axis</span>
	drawpoint<span class="br0">&#40;</span>x, y, <span class="st0">'*'</span><span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp;
	currentY <span class="sy0">+=</span> slope<span class="sy0">;</span>
	<span class="kw1">if</span><span class="br0">&#40;</span>currentY <span class="sy0">&gt;=</span> 0.5f<span class="br0">&#41;</span>
	<span class="br0">&#123;</span>
		y <span class="sy0">+=</span> yIncrease<span class="sy0">;</span>
		currentY <span class="sy0">-=</span> 1.0f<span class="sy0">;</span>
	<span class="br0">&#125;</span>
<span class="br0">&#125;</span></pre></div></div>
<p>Running the new code produces a downward sloping line.</p>
<p>&nbsp;</p>
<p><a href="http://fandoster.com/wp-content/uploads/2012/10/downslope.jpg"><img class="aligncenter size-full wp-image-488" title="DownwardSlope" src="http://fandoster.com/wp-content/uploads/2012/10/downslope.jpg" alt="The line now slopes down." width="410" height="372" /></a></p>
<p>Now to fix the second issue. The problem of needing the first point on the left.</p>
<p>We don&#8217;t need to change the code to work from the second point to the first, we can simply swap the first and second point around.</p>
<p>Here is a function that takes two pointers to integers and swaps them around.</p>
<div id="wpshdo_7" class="wp-synhighlighter-outer"><div id="wpshdt_7" class="wp-synhighlighter-expanded"><table border="0" width="100%"><tr><td align="left" width="80%"><a name="#codesyntax_7"></a><a id="wpshat_7" class="wp-synhighlighter-title" href="#codesyntax_7"  onClick="javascript:wpsh_toggleBlock(7)" title="Click to show/hide code block">Code block</a></td><td align="right"><a href="#codesyntax_7" onClick="javascript:wpsh_code(7)" title="Show code only"><img border="0" style="border: 0 none" src="http://fandoster.com/wp-content/plugins/wp-synhighlight/themes/default/images/code.png" /></a>&nbsp;<a href="#codesyntax_7" onClick="javascript:wpsh_print(7)" title="Print code"><img border="0" style="border: 0 none" src="http://fandoster.com/wp-content/plugins/wp-synhighlight/themes/default/images/printer.png" /></a>&nbsp;<a href="http://fandoster.com/wp-content/plugins/wp-synhighlight/About.html" target="_blank" title="Show plugin information"><img border="0" style="border: 0 none" src="http://fandoster.com/wp-content/plugins/wp-synhighlight/themes/default/images/info.gif" /></a>&nbsp;</td></tr></table></div><div id="wpshdi_7" class="wp-synhighlighter-inner" style="display: block;"><pre class="csharp" style="font-family:monospace;"><span class="kw1">void</span> swapInt<span class="br0">&#40;</span><span class="kw4">int</span> <span class="sy0">*</span> a, <span class="kw4">int</span> <span class="sy0">*</span> b<span class="br0">&#41;</span>
<span class="br0">&#123;</span>
	<span class="co1">// Simply swaps the passed in values</span>
	<span class="kw4">int</span> t <span class="sy0">=</span> <span class="sy0">*</span>a<span class="sy0">;</span>
	<span class="sy0">*</span>a <span class="sy0">=</span> <span class="sy0">*</span>b<span class="sy0">;</span>
	<span class="sy0">*</span>b <span class="sy0">=</span> t<span class="sy0">;</span>
<span class="br0">&#125;</span></pre></div></div>
<p>&nbsp;</p>
<p>Now we simply look to see if the first point is on the right, and swap them around if it is.</p>
<div id="wpshdo_8" class="wp-synhighlighter-outer"><div id="wpshdt_8" class="wp-synhighlighter-expanded"><table border="0" width="100%"><tr><td align="left" width="80%"><a name="#codesyntax_8"></a><a id="wpshat_8" class="wp-synhighlighter-title" href="#codesyntax_8"  onClick="javascript:wpsh_toggleBlock(8)" title="Click to show/hide code block">Code block</a></td><td align="right"><a href="#codesyntax_8" onClick="javascript:wpsh_code(8)" title="Show code only"><img border="0" style="border: 0 none" src="http://fandoster.com/wp-content/plugins/wp-synhighlight/themes/default/images/code.png" /></a>&nbsp;<a href="#codesyntax_8" onClick="javascript:wpsh_print(8)" title="Print code"><img border="0" style="border: 0 none" src="http://fandoster.com/wp-content/plugins/wp-synhighlight/themes/default/images/printer.png" /></a>&nbsp;<a href="http://fandoster.com/wp-content/plugins/wp-synhighlight/About.html" target="_blank" title="Show plugin information"><img border="0" style="border: 0 none" src="http://fandoster.com/wp-content/plugins/wp-synhighlight/themes/default/images/info.gif" /></a>&nbsp;</td></tr></table></div><div id="wpshdi_8" class="wp-synhighlighter-inner" style="display: block;"><pre class="csharp" style="font-family:monospace;"><span class="kw1">if</span><span class="br0">&#40;</span>p1x <span class="sy0">&gt;</span> p2x<span class="br0">&#41;</span>
<span class="br0">&#123;</span>   <span class="co1">// The first point is on the right.</span>
	<span class="co1">// Swap the points around.</span>
	swapInt<span class="br0">&#40;</span><span class="sy0">&amp;</span>p1x, <span class="sy0">&amp;</span>p2x<span class="br0">&#41;</span><span class="sy0">;</span>
	swapInt<span class="br0">&#40;</span><span class="sy0">&amp;</span>p1y, <span class="sy0">&amp;</span>p2y<span class="br0">&#41;</span><span class="sy0">;</span>
<span class="br0">&#125;</span></pre></div></div></pre>
<p>Here is the finished product!</p>
<p><a href="http://fandoster.com/wp-content/uploads/2012/10/slopedlinebackwards.jpg"><img class="aligncenter size-full wp-image-492" title="SlopedLineBackwards" src="http://fandoster.com/wp-content/uploads/2012/10/slopedlinebackwards.jpg" alt="Backwards line." width="404" height="363" /></a></p>
<p>&nbsp;</p>
<h2 style="text-align: center;">Optimising.</h2>
<p>The Bresenham / Midpoint algorithm was originally devised to draw a line using only integers. This is because in the early years of computing every operation done was very time consuming, and working on integers is much faster than using a floating point number. This is still true today of course. Another change that we will be making to the implementation that will affect the speed of the algorithm is removing any divide operations as they are also slow to execute.</p>
<p>The first change to the current implementation is to change the declaration of the delta terms. They now need to be non-negative numbers, so we need to use the abs() function to ensure this. We also now need to make a new integer variable called &#8220;delta&#8221;. This is going to replace the &#8220;currentY&#8221; float variable we were using before.</p>
<div id="wpshdo_9" class="wp-synhighlighter-outer"><div id="wpshdt_9" class="wp-synhighlighter-expanded"><table border="0" width="100%"><tr><td align="left" width="80%"><a name="#codesyntax_9"></a><a id="wpshat_9" class="wp-synhighlighter-title" href="#codesyntax_9"  onClick="javascript:wpsh_toggleBlock(9)" title="Click to show/hide code block">Code block</a></td><td align="right"><a href="#codesyntax_9" onClick="javascript:wpsh_code(9)" title="Show code only"><img border="0" style="border: 0 none" src="http://fandoster.com/wp-content/plugins/wp-synhighlight/themes/default/images/code.png" /></a>&nbsp;<a href="#codesyntax_9" onClick="javascript:wpsh_print(9)" title="Print code"><img border="0" style="border: 0 none" src="http://fandoster.com/wp-content/plugins/wp-synhighlight/themes/default/images/printer.png" /></a>&nbsp;<a href="http://fandoster.com/wp-content/plugins/wp-synhighlight/About.html" target="_blank" title="Show plugin information"><img border="0" style="border: 0 none" src="http://fandoster.com/wp-content/plugins/wp-synhighlight/themes/default/images/info.gif" /></a>&nbsp;</td></tr></table></div><div id="wpshdi_9" class="wp-synhighlighter-inner" style="display: block;"><pre class="csharp" style="font-family:monospace;"><span class="co1">// create delta terms</span>
<span class="kw4">int</span> deltaX <span class="sy0">=</span> abs<span class="br0">&#40;</span>p2x <span class="sy0">-</span> p1x<span class="br0">&#41;</span><span class="sy0">;</span>	<span class="co1">// This is the difference between the start and end points</span>
<span class="kw4">int</span> deltaY <span class="sy0">=</span> abs<span class="br0">&#40;</span>p2y <span class="sy0">-</span> p1y<span class="br0">&#41;</span><span class="sy0">;</span>
<span class="kw4">int</span> delta <span class="sy0">=</span> <span class="br0">&#40;</span>deltaY <span class="sy0">-</span> deltaX<span class="br0">&#41;</span> <span class="sy0">*</span> <span class="nu0">2</span><span class="sy0">;</span></pre></div></div>
<p>Next we need to make two more integers called incE and incNE (as in &#8220;Increase East&#8221; and &#8220;Increase NorthEast&#8221;). They are done like so:</p>
<div id="wpshdo_10" class="wp-synhighlighter-outer"><div id="wpshdt_10" class="wp-synhighlighter-expanded"><table border="0" width="100%"><tr><td align="left" width="80%"><a name="#codesyntax_10"></a><a id="wpshat_10" class="wp-synhighlighter-title" href="#codesyntax_10"  onClick="javascript:wpsh_toggleBlock(10)" title="Click to show/hide code block">Code block</a></td><td align="right"><a href="#codesyntax_10" onClick="javascript:wpsh_code(10)" title="Show code only"><img border="0" style="border: 0 none" src="http://fandoster.com/wp-content/plugins/wp-synhighlight/themes/default/images/code.png" /></a>&nbsp;<a href="#codesyntax_10" onClick="javascript:wpsh_print(10)" title="Print code"><img border="0" style="border: 0 none" src="http://fandoster.com/wp-content/plugins/wp-synhighlight/themes/default/images/printer.png" /></a>&nbsp;<a href="http://fandoster.com/wp-content/plugins/wp-synhighlight/About.html" target="_blank" title="Show plugin information"><img border="0" style="border: 0 none" src="http://fandoster.com/wp-content/plugins/wp-synhighlight/themes/default/images/info.gif" /></a>&nbsp;</td></tr></table></div><div id="wpshdi_10" class="wp-synhighlighter-inner" style="display: block;"><pre class="csharp" style="font-family:monospace;"><span class="kw4">int</span> incE <span class="sy0">=</span> deltaY <span class="sy0">*</span> <span class="nu0">2</span><span class="sy0">;</span>
<span class="kw4">int</span> incNE <span class="sy0">=</span> <span class="br0">&#40;</span>deltaY <span class="sy0">-</span> deltaX<span class="br0">&#41;</span> <span class="sy0">*</span> <span class="nu0">2</span><span class="sy0">;</span></pre></div></div>
<p>Here is the new loop we will be using. The new method now requires an else statement for when the line is closer to moving to the right more than it is to moving up. The only other change is that the drawpoint() call is now at the end of the loop.</p>
<div id="wpshdo_11" class="wp-synhighlighter-outer"><div id="wpshdt_11" class="wp-synhighlighter-expanded"><table border="0" width="100%"><tr><td align="left" width="80%"><a name="#codesyntax_11"></a><a id="wpshat_11" class="wp-synhighlighter-title" href="#codesyntax_11"  onClick="javascript:wpsh_toggleBlock(11)" title="Click to show/hide code block">Code block</a></td><td align="right"><a href="#codesyntax_11" onClick="javascript:wpsh_code(11)" title="Show code only"><img border="0" style="border: 0 none" src="http://fandoster.com/wp-content/plugins/wp-synhighlight/themes/default/images/code.png" /></a>&nbsp;<a href="#codesyntax_11" onClick="javascript:wpsh_print(11)" title="Print code"><img border="0" style="border: 0 none" src="http://fandoster.com/wp-content/plugins/wp-synhighlight/themes/default/images/printer.png" /></a>&nbsp;<a href="http://fandoster.com/wp-content/plugins/wp-synhighlight/About.html" target="_blank" title="Show plugin information"><img border="0" style="border: 0 none" src="http://fandoster.com/wp-content/plugins/wp-synhighlight/themes/default/images/info.gif" /></a>&nbsp;</td></tr></table></div><div id="wpshdi_11" class="wp-synhighlighter-inner" style="display: block;"><pre class="csharp" style="font-family:monospace;"><span class="kw1">for</span><span class="br0">&#40;</span><span class="kw4">int</span> x <span class="sy0">=</span> p1x<span class="sy0">;</span> x <span class="sy0">&lt;=</span> p2x<span class="sy0">;</span> <span class="sy0">++</span>x<span class="br0">&#41;</span>
<span class="br0">&#123;</span>   <span class="co1">// Plot the line along the x axis</span>
	<span class="kw1">if</span><span class="br0">&#40;</span>delta <span class="sy0">&lt;=</span> 0<span class="br0">&#41;</span>
	<span class="br0">&#123;</span>
		delta <span class="sy0">+=</span> incE<span class="sy0">;</span>
	<span class="br0">&#125;</span>
	<span class="kw1">else</span>
	<span class="br0">&#123;</span>
		delta <span class="sy0">+=</span> incNE<span class="sy0">;</span>
		y <span class="sy0">+=</span> yIncrease<span class="sy0">;</span>
	<span class="br0">&#125;</span>
&nbsp;
	drawpoint<span class="br0">&#40;</span>x, y, <span class="st0">'*'</span><span class="br0">&#41;</span><span class="sy0">;</span>
<span class="br0">&#125;</span></pre></div></div>
<p>Now we have a working Midpoint algorithm that does not use floats and does not divide!</p>
<h3 style="text-align: center;">Further Optimisation.</h3>
<p>As we are now just using integers we are able to use bitwise operations to do useful things like multiply or divide by 2. So where ever there is a &#8220;* 2&#8243; in the code, change it for &#8220;&gt;&gt; 1&#8243;.</p>
<p>Here is the finished function:</p>
<div id="wpshdo_12" class="wp-synhighlighter-outer"><div id="wpshdt_12" class="wp-synhighlighter-expanded"><table border="0" width="100%"><tr><td align="left" width="80%"><a name="#codesyntax_12"></a><a id="wpshat_12" class="wp-synhighlighter-title" href="#codesyntax_12"  onClick="javascript:wpsh_toggleBlock(12)" title="Click to show/hide code block">Code block</a></td><td align="right"><a href="#codesyntax_12" onClick="javascript:wpsh_code(12)" title="Show code only"><img border="0" style="border: 0 none" src="http://fandoster.com/wp-content/plugins/wp-synhighlight/themes/default/images/code.png" /></a>&nbsp;<a href="#codesyntax_12" onClick="javascript:wpsh_print(12)" title="Print code"><img border="0" style="border: 0 none" src="http://fandoster.com/wp-content/plugins/wp-synhighlight/themes/default/images/printer.png" /></a>&nbsp;<a href="http://fandoster.com/wp-content/plugins/wp-synhighlight/About.html" target="_blank" title="Show plugin information"><img border="0" style="border: 0 none" src="http://fandoster.com/wp-content/plugins/wp-synhighlight/themes/default/images/info.gif" /></a>&nbsp;</td></tr></table></div><div id="wpshdi_12" class="wp-synhighlighter-inner" style="display: block;"><pre class="csharp" style="font-family:monospace;"><span class="kw1">void</span> drawline<span class="br0">&#40;</span>Vector2 <span class="kw1">const</span><span class="sy0">*</span> <span class="kw1">const</span> pt1, Vector2 <span class="kw1">const</span><span class="sy0">*</span> <span class="kw1">const</span> pt2<span class="br0">&#41;</span>
<span class="br0">&#123;</span>
	<span class="co1">// Create local variables to use</span>
	<span class="kw4">int</span> p1x <span class="sy0">=</span> pt1<span class="sy0">-&gt;</span>x<span class="sy0">;</span>
	<span class="kw4">int</span> p1y <span class="sy0">=</span> pt1<span class="sy0">-&gt;</span>y<span class="sy0">;</span>
	<span class="kw4">int</span> p2x <span class="sy0">=</span> pt2<span class="sy0">-&gt;</span>x<span class="sy0">;</span>
	<span class="kw4">int</span> p2y <span class="sy0">=</span> pt2<span class="sy0">-&gt;</span>y<span class="sy0">;</span>
	<span class="kw4">bool</span> slope <span class="sy0">=</span> false<span class="sy0">;</span>
&nbsp;
 	<span class="co1">// create delta terms</span>
	<span class="kw4">int</span> deltaX <span class="sy0">=</span> abs<span class="br0">&#40;</span>p2x <span class="sy0">-</span> p1x<span class="br0">&#41;</span><span class="sy0">;</span>	<span class="co1">// This is the difference between the start and end points</span>
	<span class="kw4">int</span> deltaY <span class="sy0">=</span> abs<span class="br0">&#40;</span>p2y <span class="sy0">-</span> p1y<span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp;
	<span class="kw1">if</span><span class="br0">&#40;</span>deltaY <span class="sy0">&gt;</span> deltaX<span class="br0">&#41;</span> <span class="co1">// Check to see if the first point is on the right.</span>
	<span class="br0">&#123;</span>
		<span class="co1">// Swap the points around.</span>
		swapInt<span class="br0">&#40;</span><span class="sy0">&amp;</span>p1x, <span class="sy0">&amp;</span>p1y<span class="br0">&#41;</span><span class="sy0">;</span>
		swapInt<span class="br0">&#40;</span><span class="sy0">&amp;</span>p2y, <span class="sy0">&amp;</span>p2x<span class="br0">&#41;</span><span class="sy0">;</span>
		swapInt<span class="br0">&#40;</span><span class="sy0">&amp;</span>deltaX, <span class="sy0">&amp;</span>deltaY<span class="br0">&#41;</span><span class="sy0">;</span>
		slope <span class="sy0">=</span> true<span class="sy0">;</span>
	<span class="br0">&#125;</span>
&nbsp;
	<span class="kw1">if</span><span class="br0">&#40;</span>p1x <span class="sy0">&gt;</span> p2x<span class="br0">&#41;</span>
	<span class="br0">&#123;</span>
		swapInt<span class="br0">&#40;</span><span class="sy0">&amp;</span>p1x, <span class="sy0">&amp;</span>p2x<span class="br0">&#41;</span><span class="sy0">;</span>
		swapInt<span class="br0">&#40;</span><span class="sy0">&amp;</span>p1y, <span class="sy0">&amp;</span>p2y<span class="br0">&#41;</span><span class="sy0">;</span>
	<span class="br0">&#125;</span>
&nbsp;
	<span class="kw4">int</span> yIncrease <span class="sy0">=</span> <span class="nu0">1</span><span class="sy0">;</span>
	<span class="kw1">if</span><span class="br0">&#40;</span>p1y <span class="sy0">&gt;</span> p2y<span class="br0">&#41;</span>
	<span class="br0">&#123;</span>    <span class="co1">//The first point is higher than the second</span>
		yIncrease <span class="sy0">=</span> <span class="sy0">-</span><span class="nu0">1</span><span class="sy0">;</span>
	<span class="br0">&#125;</span>
&nbsp;
	<span class="kw4">int</span> delta <span class="sy0">=</span> abs<span class="br0">&#40;</span>deltaY <span class="sy0">-</span> deltaX<span class="br0">&#41;</span> <span class="sy0">&gt;&gt;</span> <span class="nu0">1</span><span class="sy0">;</span>
&nbsp;
	<span class="kw4">int</span> incE <span class="sy0">=</span> deltaY <span class="sy0">&gt;&gt;</span> <span class="nu0">1</span><span class="sy0">;</span>
	<span class="kw4">int</span> incNE <span class="sy0">=</span> <span class="br0">&#40;</span>deltaY <span class="sy0">-</span> deltaX<span class="br0">&#41;</span> <span class="sy0">&gt;&gt;</span> <span class="nu0">1</span><span class="sy0">;</span>
&nbsp;
	<span class="kw4">int</span> y <span class="sy0">=</span> p1y<span class="sy0">;</span>
&nbsp;
	<span class="kw1">for</span><span class="br0">&#40;</span><span class="kw4">int</span> x <span class="sy0">=</span> p1x<span class="sy0">;</span> x <span class="sy0">&lt;=</span> p2x<span class="sy0">;</span> <span class="sy0">++</span>x<span class="br0">&#41;</span>
	<span class="br0">&#123;</span>   <span class="co1">// Plot the line along the x axis</span>
		<span class="kw1">if</span><span class="br0">&#40;</span>delta <span class="sy0">&lt;=</span> 0<span class="br0">&#41;</span>
		<span class="br0">&#123;</span>
			delta <span class="sy0">+=</span> incE<span class="sy0">;</span>
		<span class="br0">&#125;</span>
		<span class="kw1">else</span>
		<span class="br0">&#123;</span>
			delta <span class="sy0">+=</span> incNE<span class="sy0">;</span>
			y <span class="sy0">+=</span> yIncrease<span class="sy0">;</span>
		<span class="br0">&#125;</span>
		<span class="kw1">if</span><span class="br0">&#40;</span>slope<span class="br0">&#41;</span>
			drawpoint<span class="br0">&#40;</span>y, x, <span class="st0">'*'</span><span class="br0">&#41;</span><span class="sy0">;</span>
		<span class="kw1">else</span>
			drawpoint<span class="br0">&#40;</span>x, y, <span class="st0">'*'</span><span class="br0">&#41;</span><span class="sy0">;</span>
	<span class="br0">&#125;</span>
<span class="br0">&#125;</span></pre></div></div>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://fandoster.com/?feed=rss2&#038;p=446</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Updates Coming.</title>
		<link>http://fandoster.com/?p=444</link>
		<comments>http://fandoster.com/?p=444#comments</comments>
		<pubDate>Sat, 06 Oct 2012 13:16:26 +0000</pubDate>
		<dc:creator>DanFoster</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Derby]]></category>

		<guid isPermaLink="false">http://fandoster.com/?p=444</guid>
		<description><![CDATA[It&#8217;s been a long time since I posted on here or even used my website, but now I am back at University I plan on writing a few more articles about what I&#8217;m working on and any interesting things that I get up to. The first thing that I am going to write about is a [...]]]></description>
				<content:encoded><![CDATA[<p>It&#8217;s been a long time since I posted on here or even used my website, but now I am back at University I plan on writing a few more articles about what I&#8217;m working on and any interesting things that I get up to.</p>
<p>The first thing that I am going to write about is a small post about drawing a line between two points. It is a small task that I have been given at University but I have seen it as an ideal starting point for the re-boot of my blog.</p>
<p>I am also going to change the WordPress theme as well, it&#8217;s been the same for about 3 years and looks really dull.</p>
<p>So a bit of change all round and a bit extra blogging from me.</p>
]]></content:encoded>
			<wfw:commentRss>http://fandoster.com/?feed=rss2&#038;p=444</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>An Experiment in Flash.</title>
		<link>http://fandoster.com/?p=435</link>
		<comments>http://fandoster.com/?p=435#comments</comments>
		<pubDate>Wed, 29 Feb 2012 15:32:35 +0000</pubDate>
		<dc:creator>DanFoster</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[ActionScrpit 3]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[Collision]]></category>
		<category><![CDATA[node garden]]></category>
		<category><![CDATA[spring]]></category>

		<guid isPermaLink="false">http://fandoster.com/?p=435</guid>
		<description><![CDATA[So I&#8217;ve been learning a bit of Flash/ActionScrpit 3 recently. I wanted to do this so that I could easily make games that can reach a wider audience. I started off in flash learning the basics and getting used to things like Event Handlers. I&#8217;ve found the language laid out well and quite nice to work [...]]]></description>
				<content:encoded><![CDATA[<p>So I&#8217;ve been learning a bit of Flash/ActionScrpit 3 recently. I wanted to do this so that I could easily make games that can reach a wider audience.</p>
<p>I started off in flash learning the basics and getting used to things like Event Handlers. I&#8217;ve found the language laid out well and quite nice to work with so far.</p>
<p>I&#8217;ve started making a few basic physics simulations using flash. I&#8217;ll put a few examples below.</p>
<h4>Collisions with mass</h4>
<p>When a large ball and a small one collide, the smaller one will bounce off much quicker than the large. Press enter until you get a tiny ball and you&#8217;ll see how you can knock it flying easily with a larger one.</p>
<p><object id="Poolphysics.swf" width="560" height="680" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="quality" value="low&lt;a href='http://fandoster.com/wp-content/uploads/2012/02/Poolphysics2.swf'&gt;Poolphysics2&lt;/a&gt;" /><param name="src" value="http://fandoster.com/wp-content/uploads/2012/02/Poolphysics.swf" /><param name="pluginspage" value="http://www.macromedia.com/go/getflashplayer" /><embed id="Poolphysics.swf" width="560" height="680" type="application/x-shockwave-flash" src="http://fandoster.com/wp-content/uploads/2012/02/Poolphysics.swf" quality="low&lt;a href='http://fandoster.com/wp-content/uploads/2012/02/Poolphysics2.swf'&gt;Poolphysics2&lt;/a&gt;" pluginspage="http://www.macromedia.com/go/getflashplayer" /></object></p>
<p style="text-align: center;"><a href="http://fandoster.com/wp-content/uploads/2012/02/Poolphysics.swf">Full Screen</a></p>
<h4 style="text-align: left;">Springs</h4>
<p style="text-align: left;">Another thing that I looked into was the use of springs. I can see how these can be extremely effective and can be used in a lot of different areas of games. For now I&#8217;ve just made this simple collection of springs that only activate when close to each other. I believe this type of thing is known as a Node Garden.</p>
<p><object id="Poolphysics.swf" width="560" height="680" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="quality" value="low&lt;a href='http://fandoster.com/wp-content/uploads/2012/02/Poolphysics2.swf'&gt;Poolphysics2&lt;/a&gt;" /><param name="src" value="http://fandoster.com/wp-content/uploads/2012/02/SpringParticals.swf" /><param name="pluginspage" value="http://www.macromedia.com/go/getflashplayer" /><embed id="Poolphysics.swf" width="560" height="680" type="application/x-shockwave-flash" src="http://fandoster.com/wp-content/uploads/2012/02/SpringParticals.swf" quality="low&lt;a href='http://fandoster.com/wp-content/uploads/2012/02/Poolphysics2.swf'&gt;Poolphysics2&lt;/a&gt;" pluginspage="http://www.macromedia.com/go/getflashplayer" /></object></p>
<p style="text-align: center;"><a href="http://fandoster.com/wp-content/uploads/2012/02/SpringParticals.swf">Full Screen</a></p>
]]></content:encoded>
			<wfw:commentRss>http://fandoster.com/?feed=rss2&#038;p=435</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A*</title>
		<link>http://fandoster.com/?p=384</link>
		<comments>http://fandoster.com/?p=384#comments</comments>
		<pubDate>Mon, 24 Oct 2011 12:24:07 +0000</pubDate>
		<dc:creator>DanFoster</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://fandoster.com/?p=384</guid>
		<description><![CDATA[I&#8217;ve recently been working on A* pathfinding. I&#8217;ve done a bit of a write up here in the projects section of this site. I&#8217;ll most lightly be using this pretty soon in a Tower Defence game that I plan on making in the next couple of days. &#160; &#160;]]></description>
				<content:encoded><![CDATA[<p>I&#8217;ve recently been working on A* pathfinding. I&#8217;ve done a bit of a write up <a title="A* Pathfinding." href="http://fandoster.com/?page_id=350">here </a>in the projects section of this site.</p>
<p>I&#8217;ll most lightly be using this pretty soon in a Tower Defence game that I plan on making in the next couple of days.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://fandoster.com/?feed=rss2&#038;p=384</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Improved Mandelbrot renderer.</title>
		<link>http://fandoster.com/?p=283</link>
		<comments>http://fandoster.com/?p=283#comments</comments>
		<pubDate>Wed, 07 Sep 2011 13:31:29 +0000</pubDate>
		<dc:creator>DanFoster</dc:creator>
				<category><![CDATA[Fractal]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Mandelbrot]]></category>

		<guid isPermaLink="false">http://fandoster.com/?p=283</guid>
		<description><![CDATA[It&#8217;s been a while since I&#8217;ve posted about my Mandelbrot set renderer and there&#8217;s been a few improvements done to it. I have changed the colouring scheme so that the set looks more interesting as you look around it. Here&#8217;s a video showing the movement and the changing colours. With the added navigation you can [...]]]></description>
				<content:encoded><![CDATA[<p>It&#8217;s been a while since I&#8217;ve posted about my Mandelbrot set renderer and there&#8217;s been a few improvements done to it.</p>
<p>I have changed the colouring scheme so that the set looks more interesting as you look around it. Here&#8217;s a video showing the movement and the changing colours.</p>
<p><object width="480" height="390" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/HZMUGiz24sM?version=3&amp;hl=en_US" /><param name="allowfullscreen" value="true" /><embed width="480" height="390" type="application/x-shockwave-flash" src="http://www.youtube.com/v/HZMUGiz24sM?version=3&amp;hl=en_US" allowFullScreen="true" allowscriptaccess="always" allowfullscreen="true" /></object></p>
<p>With the added navigation you can see the infinite detail that there is in the Mandelbrot Set. The new colour scheme is relative to the number of iterations so the deeper you zoom the more the colours change.</p>
<p>Another change that I have made is that it uses OpenML to thread the main loop that generates the set. This has given it a performance boost of about 50%. This is much needed for how performance intensive it is to generate the set at a high iterations. Here&#8217;s a zoom to the depth that a double precision float is accurate to.</p>
<p><object width="480" height="390" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/5PB-jwGyL04?version=3&amp;hl=en_US" /><param name="allowfullscreen" value="true" /><embed width="480" height="390" type="application/x-shockwave-flash" src="http://www.youtube.com/v/5PB-jwGyL04?version=3&amp;hl=en_US" allowFullScreen="true" allowscriptaccess="always" allowfullscreen="true" /></object></p>
<p>You can see from the video the FPS is still very low but still just about usable. My next aim is to have this running in OpenGL. Using the power of a graphics will give it a significant performance boost.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://fandoster.com/?feed=rss2&#038;p=283</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Programming Fractals.</title>
		<link>http://fandoster.com/?p=273</link>
		<comments>http://fandoster.com/?p=273#comments</comments>
		<pubDate>Wed, 10 Aug 2011 21:26:52 +0000</pubDate>
		<dc:creator>DanFoster</dc:creator>
				<category><![CDATA[Fractal]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[C]]></category>
		<category><![CDATA[fractal]]></category>
		<category><![CDATA[GDI+]]></category>
		<category><![CDATA[Lockbits]]></category>
		<category><![CDATA[Mandelbrot]]></category>

		<guid isPermaLink="false">http://fandoster.com/?p=273</guid>
		<description><![CDATA[Recently I have been working on a project the renders the Mandolbrot Set. This is a very interesting project to me as it is both low-level programming and looking at efficiency. I was inspired to start this project when watching a program about the creator of Pixar when he first programmed a simple yet effective solution [...]]]></description>
				<content:encoded><![CDATA[<p>Recently I have been working on a project the renders the Mandolbrot Set. This is a very interesting project to me as it is both low-level programming and looking at efficiency.</p>
<p>I was inspired to start this project when watching a program about the creator of Pixar when he first programmed a simple yet effective solution to creating realistic looking mountains back in the 80&#8242;s.</p>
<div id="attachment_274" class="wp-caption aligncenter" style="width: 518px"><a href="http://fandoster.com/wp-content/uploads/2011/08/Mandelbrot.jpg"><img class="size-full wp-image-274 " title="Mandelbrot" src="http://fandoster.com/wp-content/uploads/2011/08/Mandelbrot.jpg" alt="The Mandelbrot Set." width="508" height="427" /></a><p class="wp-caption-text">Mandelbrot Set.</p></div>
<p>The Mandelbrot Set has a few interesting properties, the most interesting of all being that its edge is infinite. This means that there is an infinite amount of different patterns hidden in the image above. By zooming in to a small portion of the set you can see how much amazing detail there is.</p>
<p>Here is a portion of the set zoomed in, you can see what I mean by infinite detail.</p>
<p style="text-align: center;"><a href="http://fandoster.com/wp-content/uploads/2011/08/edge.jpg"><img class="aligncenter size-full wp-image-277" title="Edge" src="http://fandoster.com/wp-content/uploads/2011/08/edge.jpg" alt="This is not even very far zoomed in." width="491" height="369" /></a></p>
<p style="text-align: left;">This image took a fairly long time to render (by today&#8217;s impatient standards at least), maybe about 5 minutes. But this is using the SetPixel() function in GDI+. This is a very inefeshent way for drawing pixels to the screen and is soaking up all of the time. You can see in the video below how long it takes using SetPixel. The rendering in this video is rendering at a lower level of detail so the bands in between each layer can be seen.</p>
<p><object width="480" height="390" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/uFb04zMkfH4?version=3&amp;hl=en_US" /><param name="allowfullscreen" value="true" /><embed width="480" height="390" type="application/x-shockwave-flash" src="http://www.youtube.com/v/uFb04zMkfH4?version=3&amp;hl=en_US" allowFullScreen="true" allowscriptaccess="always" allowfullscreen="true" /></object></p>
<p>At  the point of writing this I have not long implemented using the LockBits() to change the individual pixels of a bitmap then draw the whole image to the screen. This is far more efficient and cuts the render time down buy quite a lot as you can see in the next video.</p>
<p><object width="480" height="390" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/2Yejz0OOxpA?version=3&amp;hl=en_US" /><param name="allowfullscreen" value="true" /><embed width="480" height="390" type="application/x-shockwave-flash" src="http://www.youtube.com/v/2Yejz0OOxpA?version=3&amp;hl=en_US" allowFullScreen="true" allowscriptaccess="always" allowfullscreen="true" /></object></p>
<p>I have now added movement to the program allowing to user to scroll around at a set level of magnification and at a low detail. Then when needed the user can right-click to render with a high level of detail. This is pretty cool and works well.</p>
<p>The next thing that I want to do is improve the speed that it renders again. I am going the long way around to get the gradient effect. As you can see in each video, the whole image has to be generated many times to create the end result. The colour of the pixel is determined by the number of iterations it has taken to check to see if that pixel is part of the Mandelbrot set. It is a simple case of rearranging the way the program is set out to get this number with out having to generate the whole image with different levels of detail and combining them together.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://fandoster.com/?feed=rss2&#038;p=273</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Full-screen Windowed Games.</title>
		<link>http://fandoster.com/?p=259</link>
		<comments>http://fandoster.com/?p=259#comments</comments>
		<pubDate>Tue, 19 Jul 2011 01:07:25 +0000</pubDate>
		<dc:creator>DanFoster</dc:creator>
				<category><![CDATA[Tips and tricks]]></category>
		<category><![CDATA[full screen]]></category>
		<category><![CDATA[games]]></category>
		<category><![CDATA[multi monitors]]></category>
		<category><![CDATA[no border]]></category>
		<category><![CDATA[ShiftWindow]]></category>
		<category><![CDATA[windowed]]></category>

		<guid isPermaLink="false">http://fandoster.com/?p=259</guid>
		<description><![CDATA[I, like many people these days, have more than one monitor. And this is great for everything. Having more than one monitor makes you more productive and makes multitasking a breeze with the extra screen area. There is a problem when playing a game full-screen however, the game will minimise when it looses focus. This [...]]]></description>
				<content:encoded><![CDATA[<p>I, like many people these days, have more than one monitor. And this is great for everything. Having more than one monitor makes you more productive and makes multitasking a breeze with the extra screen area.</p>
<p>There is a problem when playing a game full-screen however, the game will minimise when it looses focus. This makes the game take a while to maximise again when it regains focus, an absolute pain and making having another monitor useless.</p>
<p>Most games offer an option to run in a window. This stops the focus issue as the game will continue to run. The problem with this is that if you are to set the games resolution to the full size of the screen the border will push the bottom of the window off the monitor.</p>
<p><a href="http://fandoster.com/wp-content/uploads/2011/07/windowborder.png"><img class="aligncenter size-full wp-image-261" title="Window Border" src="http://fandoster.com/wp-content/uploads/2011/07/windowborder.png" alt="Border in the way." width="361" height="186" /></a></p>
<p>A few source engine games have the option of Full-Screen No Border. This is exactly the solution to the issue.</p>
<p>If you are playing a game that does not offer this mode there is a solution! It is called ShiftWindow and can force the position of a window to be above the top of a monitor.</p>
<div id="attachment_262" class="wp-caption aligncenter" style="width: 525px"><a href="http://fandoster.com/wp-content/uploads/2011/07/Untitled.jpg"><img class="size-full wp-image-262 " title="ShiftWindow" src="http://fandoster.com/wp-content/uploads/2011/07/Untitled.jpg" alt="ShiftWindow" width="515" height="383" /></a><p class="wp-caption-text">ShiftWindow</p></div>
<p>You can download ShiftWindow from its website <a title="Download ShiftWindow" href="http://grismar.net/shiftwindow/" target="_blank">here</a>.</p>
<p>Once you have downloaded and installed it you may need to run it as an Administrator.</p>
<p>When it is open click the first &#8220;Grab&#8221; button and get the window title of your game.</p>
<p>Next in the &#8220;Shift to&#8221; section of the window select Coordinates radio button and the &#8220;Set size client area&#8221; check box.</p>
<p>Click the Trigger it button and you&#8217;re done!</p>
<p>This should automatically set the window to be full-screen with the borders hidden off-screen.  You can now tab in and out like a windowed game, but have the joys of full-screen!</p>
<p>I hope that this tutorial was helpful, any questions leave a comment below.</p>
<p>Dan</p>
]]></content:encoded>
			<wfw:commentRss>http://fandoster.com/?feed=rss2&#038;p=259</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Chrome OS Experiment.</title>
		<link>http://fandoster.com/?p=244</link>
		<comments>http://fandoster.com/?p=244#comments</comments>
		<pubDate>Wed, 06 Jul 2011 13:53:21 +0000</pubDate>
		<dc:creator>DanFoster</dc:creator>
				<category><![CDATA[Torrent]]></category>

		<guid isPermaLink="false">http://fandoster.com/?p=244</guid>
		<description><![CDATA[As usual now that I am back at my Mothers house I have become tech support. My sister has a very slow laptop running Windows XP. It had good 1GB memory with a Intel Atom 1.6Ghz  and for a hard drive it has an old 16GB SSD. My first solution to try to fix the [...]]]></description>
				<content:encoded><![CDATA[<p>As usual now that I am back at my Mothers house I have become tech support.</p>
<p>My sister has a very slow laptop running Windows XP. It had good 1GB memory with a Intel Atom 1.6Ghz  and for a hard drive it has an old 16GB SSD.</p>
<p>My first solution to try to fix the problem was to just do a fresh install of XP, this took hours just to install because of the slow SSD but once it was in there it was still crushingly slow.</p>
<p>So onto Chrome OS. All my sister really uses her laptop for is Facebook music and chatting to friends. This is exactly what Chrome OS is designed for &#8211; Light internet applications.</p>
<p>To begin I downloaded the Chrome OS Flow from this website: <a href="http://chromeos.hexxeh.net/">http://chromeos.hexxeh.net/</a> In torrent form. Unfortunately is wasn&#8217;t very well seeded so it took quite a while but once I for it I put it onto a memory stick using this Imaging Program.</p>
<div id="attachment_247" class="wp-caption aligncenter" style="width: 352px"><a href="http://fandoster.com/wp-content/uploads/2011/07/Win32-Disk-Imager.jpg"><img class="size-full wp-image-247" title="Win32 Disk Imager" src="http://fandoster.com/wp-content/uploads/2011/07/Win32-Disk-Imager.jpg" alt="Clicky clicky clicky" width="342" height="175" /></a><p class="wp-caption-text">Click to go to website.</p></div>
<p>Once I booted from the memory stick on the laptop I already had a version of Chrome OS working. Things seemed to work fine from the memory stick. To install to the hard drive I opened up a terminal by pressing Ctr+alt+T and typed &#8220;Install&#8221;.</p>
<p style="text-align: center;"><img class="aligncenter" title="Installing Chrome OS" src="http://s3-eu-west-1.amazonaws.com/aaron465-img/519.jpg" alt="" width="368" height="277" /><br />
Boom. Installed to the local Hard drive.</p>
<p><object width="480" height="390" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/vGKaB_RJTjI?version=3&amp;hl=en_US&amp;rel=0" /><param name="allowfullscreen" value="true" /><embed width="480" height="390" type="application/x-shockwave-flash" src="http://www.youtube.com/v/vGKaB_RJTjI?version=3&amp;hl=en_US&amp;rel=0" allowFullScreen="true" allowscriptaccess="always" allowfullscreen="true" /></object></p>
<p>It boots nice and fast. You can be on browsing the web in well under a minute even on this low spec hardware. The interface is all tabbed based even if you are opening a new &#8220;window&#8221;. The windows slides in from the right of the screen over the top of the previous. The interface is nicely polished and works well. You sign into the laptop as if you were signing into a gmail account and then you seem to be automatically signed into any Google services.</p>
<p>There is the option to sign into the OS using a guest account. This is just the same but it runs in  incognito mode so nothing is retained on the laptop once you sign out or turn it off.</p>
<p>Chrome OS isn&#8217;t much more than a web browser but it is nice and light even running on this 3 year old netbook I found myself browsing the web with no slowdown at all. They have done a really good with Chrome OS and it has breathed new life into this old machine.</p>
]]></content:encoded>
			<wfw:commentRss>http://fandoster.com/?feed=rss2&#038;p=244</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
<!-- WP Super Cache is installed but broken. The path to wp-cache-phase1.php in wp-content/advanced-cache.php must be fixed! -->