<?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>PaulRidgway.co.uk</title>
	<atom:link href="http://www.paulridgway.co.uk/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.paulridgway.co.uk</link>
	<description></description>
	<lastBuildDate>Sat, 28 Apr 2012 20:16:42 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Real-time Environment Mapping in OpenGL</title>
		<link>http://www.paulridgway.co.uk/2011/08/09/real-time-environment-mapping-in-opengl/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=real-time-environment-mapping-in-opengl</link>
		<comments>http://www.paulridgway.co.uk/2011/08/09/real-time-environment-mapping-in-opengl/#comments</comments>
		<pubDate>Tue, 09 Aug 2011 16:43:27 +0000</pubDate>
		<dc:creator>Paul</dc:creator>
				<category><![CDATA[Environment Mapping]]></category>
		<category><![CDATA[OpenGL]]></category>
		<category><![CDATA[Prototype]]></category>
		<category><![CDATA[environment]]></category>
		<category><![CDATA[mapping]]></category>
		<category><![CDATA[prototype]]></category>
		<category><![CDATA[real]]></category>
		<category><![CDATA[Real-time]]></category>
		<category><![CDATA[time]]></category>

		<guid isPermaLink="false">http://www.paulridgway.co.uk/?p=190</guid>
		<description><![CDATA[Environment Mapping, also known as Reflection Mapping is an efficient technique for simulating realistic reflections. In many cases a precomputed texture is rendered on the object which represents the environment surrounding scene. The following image is an example from Wikipedia: And the next is an environment mapped teapot it a room which &#8220;matches&#8221; the reflection [...]]]></description>
			<content:encoded><![CDATA[<p>Environment Mapping, also known as Reflection Mapping is an efficient technique for simulating realistic reflections. In many cases a precomputed texture is rendered on the object which represents the environment surrounding scene.</p>
<p>The following image is an example from Wikipedia:</p>
<p><center><a href="http://www.paulridgway.co.uk/wp-content/uploads/2011/08/20110808-101037.jpg"><img src="http://www.paulridgway.co.uk/wp-content/uploads/2011/08/20110808-101037.jpg" alt="20110808-101037.jpg" class="alignnone size-full" /></a></center></p>
<p>And the next is an environment mapped teapot it a room which &#8220;matches&#8221; the reflection texture:</p>
<p><center><a href="http://www.paulridgway.co.uk/wp-content/uploads/2011/08/20110808-101620.jpg"><img src="http://www.paulridgway.co.uk/wp-content/uploads/2011/08/20110808-101620.jpg" alt="20110808-101620.jpg" class="alignnone size-full" /></a></center> </p>
<p>While the classic static environment mapping looks awesome in a scene, perhaps with a rotating object as the reflective target, it is sightly lacking in challenge as with OpenGL it can be done rather easily. A common example will include a skybox and an object with the reflection cube-mapped onto the focal object. </p>
<p>For my prototype I wanted to create a reflective cube that in real-time could demonstrate environmental reflection. With such a system it would be fairly trivial to use the dynamically generated texture to make many simple objects appear reflective using <a href="http://en.wikipedia.org/wiki/Cube_mapping">cube mapping</a>.</p>
<p>For those who just want to see the video, it is embedded below:</p>
<p><center><br />
<iframe width="425" height="349" src="http://www.youtube.com/embed/AykmNkJ3IYE?hl=en&#038;fs=1" frameborder="0" allowfullscreen></iframe></center></p>
<p>For others who want details, read on&#8230;</p>
<p>The small cubes and the &#8216;room&#8217; surrounding the cube rotate at different speeds and distances to demonstrate the reflection. The yellow sphere represents the light source which is applied using a basic per-pixel fragment Shader. From some angles the reflection clearly shows the lighting application and the reflected faces of the orbiting cubes move from shadow to light.</p>
<p>The texture for each face of the cube is generated and applied independently. For each frame all movement calculations are carried out once, then the scene is rendered to a Frame Buffer Object (FBO) 6 times, once for each face of the cube. It is then rendered once more from the point of view of the observer, this time to the screen. The camera is positioned at the centre of the cube looking though a specific face and the scene is rendered. The camera uses a 90 degree field of view to capture the image the cube face should reflect whereas the camera used to observe the scene has a 45 degree field of view.</p>
<p>Currently for each frame the textures for all 6 sides are generated and rendered at quite a high resolution. If performance became an issue then only the sides visible to the camera could be considered and a lower resolution texture could be generated.</p>
<p>I also made a variation where the Shader mixes the result of the lighting calculations on the main cube with the texture to give the appearance of a slightly matted reflection.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.paulridgway.co.uk/2011/08/09/real-time-environment-mapping-in-opengl/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Network Based Scene in OpenGL</title>
		<link>http://www.paulridgway.co.uk/2011/08/07/network-based-scene-in-opengl/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=network-based-scene-in-opengl</link>
		<comments>http://www.paulridgway.co.uk/2011/08/07/network-based-scene-in-opengl/#comments</comments>
		<pubDate>Sun, 07 Aug 2011 08:25:00 +0000</pubDate>
		<dc:creator>Paul</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.paulridgway.co.uk/2011/08/07/network-based-scene-in-opengl/</guid>
		<description><![CDATA[This scene is rendered identically on two computers with a TCP server sharing the scene data. A cube created on any client is shared with all other clients. More details coming soon&#8230;]]></description>
			<content:encoded><![CDATA[<p><center><iframe height="510" src="http://www.youtube.com/embed/cOCEAjbvl2M" frameborder="0" width="640" allowfullscreen="allowfullscreen"></iframe></center><br />
This scene is rendered identically on two computers with a TCP server sharing the scene data. A cube created on any client is shared with all other clients.</p>
<p>More details coming soon&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.paulridgway.co.uk/2011/08/07/network-based-scene-in-opengl/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rescue from ‘execution expired’ in Ruby</title>
		<link>http://www.paulridgway.co.uk/2011/08/04/rescue-from-execution-expired-in-ruby/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=rescue-from-execution-expired-in-ruby</link>
		<comments>http://www.paulridgway.co.uk/2011/08/04/rescue-from-execution-expired-in-ruby/#comments</comments>
		<pubDate>Thu, 04 Aug 2011 21:55:26 +0000</pubDate>
		<dc:creator>Paul</dc:creator>
				<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://www.paulridgway.co.uk/?p=177</guid>
		<description><![CDATA[Today I was trying to rescue from an &#8216;execution expired&#8217; error when using another colleagues gem (which interfaces with an XML RPC API). Thankfully I found this snippet at http://geoff.evason.name/2011/01/16/rescue-from-execution-expired-in-ruby/. begin # do something involving Net:HTTP rescue =&#62; e # This will NOT catch 'execution expired' !! puts &#34;Rescue : #{e}&#34; rescue Timeout::Error =&#62; te # [...]]]></description>
			<content:encoded><![CDATA[<p>Today I was trying to rescue from an &#8216;execution expired&#8217; error when using another colleagues gem (which interfaces with an XML RPC API).</p>
<p>Thankfully I found this snippet at <a href="http://geoff.evason.name/2011/01/16/rescue-from-execution-expired-in-ruby/" target="_blank">http://geoff.evason.name/2011/01/16/rescue-from-execution-expired-in-ruby/</a>.</p>

<div class="wp_syntax"><div class="code"><pre class="ruby">      <span class="kw1">begin</span>
        <span class="co1"># do something involving Net:HTTP</span>
      <span class="kw1">rescue</span> <span class="sy0">=&gt;</span> e
        <span class="co1"># This will NOT catch 'execution expired' !!</span>
        <span class="kw3">puts</span> <span class="st0">&quot;Rescue : #{e}&quot;</span>
      <span class="kw1">rescue</span> <span class="re2">Timeout::Error</span> <span class="sy0">=&gt;</span> te
        <span class="co1"># This explicit rescue will work</span>
        <span class="kw3">puts</span> <span class="st0">&quot;Rescued from timeout : #{te}&quot;</span>
      <span class="kw1">end</span></pre></div></div>

<p>Hopefully this will save someone a bit of time <img src='http://www.paulridgway.co.uk/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</p>
]]></content:encoded>
			<wfw:commentRss>http://www.paulridgway.co.uk/2011/08/04/rescue-from-execution-expired-in-ruby/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Continuous Terrain Generation</title>
		<link>http://www.paulridgway.co.uk/2011/08/03/continuous-terrain-generation/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=continuous-terrain-generation</link>
		<comments>http://www.paulridgway.co.uk/2011/08/03/continuous-terrain-generation/#comments</comments>
		<pubDate>Wed, 03 Aug 2011 08:07:29 +0000</pubDate>
		<dc:creator>Paul</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.paulridgway.co.uk/2011/08/11/continuous-terrain-generation/</guid>
		<description><![CDATA[I saw this done for a dissertation and decided to try it for myself. The height map is generated on the fly based on the last data known to create a smooth variation. More details coming soon&#8230;]]></description>
			<content:encoded><![CDATA[<p><center><iframe width="640" height="390" src="http://www.youtube.com/embed/Wgw_RlrWD6M" frameborder="0" allowfullscreen></iframe></iframe></center>
<p>I saw this done for a dissertation and decided to try it for myself. The height map is generated on the fly based on the last data known to create a smooth variation.</p>
<p>More details coming soon&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.paulridgway.co.uk/2011/08/03/continuous-terrain-generation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hierarchical Quadratic Mesh</title>
		<link>http://www.paulridgway.co.uk/2011/08/01/hierarchical-quadratic-mesh/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=hierarchical-quadratic-mesh</link>
		<comments>http://www.paulridgway.co.uk/2011/08/01/hierarchical-quadratic-mesh/#comments</comments>
		<pubDate>Mon, 01 Aug 2011 08:03:55 +0000</pubDate>
		<dc:creator>Paul</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.paulridgway.co.uk/2011/08/11/hierarchical-quadratic-mesh/</guid>
		<description><![CDATA[Taking the Hierarchical Triangular Mesh prototype further, with a quadratic version texturing is easier using a skybox-like texture. More details coming soon&#8230;]]></description>
			<content:encoded><![CDATA[<p><center><iframe height="390" src="http://www.youtube.com/embed/_8Bg1OH_9Bo" frameborder="0" width="640" allowfullscreen="allowfullscreen"></iframe></center>
<p>Taking the Hierarchical Triangular Mesh prototype further, with a quadratic version texturing is easier using a skybox-like texture.</p>
<p>More details coming soon&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.paulridgway.co.uk/2011/08/01/hierarchical-quadratic-mesh/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hierarchical Triangular Mesh</title>
		<link>http://www.paulridgway.co.uk/2011/07/28/hierarchical-triangular-mesh/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=hierarchical-triangular-mesh</link>
		<comments>http://www.paulridgway.co.uk/2011/07/28/hierarchical-triangular-mesh/#comments</comments>
		<pubDate>Thu, 28 Jul 2011 08:00:00 +0000</pubDate>
		<dc:creator>Paul</dc:creator>
				<category><![CDATA[OpenGL]]></category>
		<category><![CDATA[OpenGL Sphere World Generation Procedural HTM Hierarchical Triangular Mesh]]></category>

		<guid isPermaLink="false">http://www.paulridgway.co.uk/2011/07/28/hierarchical-triangular-mesh/</guid>
		<description><![CDATA[&#160; &#160; A HTM based sphere generation prototype, each primitive is approximately the same size and therefore it does not suffer from any singularities. http://research.microsoft.com/apps/pubs/default.aspx?id=64531 http://researchweb.iiit.ac.in/~shiben/docs/HexGeomClip_Shiben-PJN.pdf More details coming soon&#8230;]]></description>
			<content:encoded><![CDATA[<p>&#160;</p>
<p> <center><iframe height="390" src="http://www.youtube.com/embed/cZda_RLYcDc" frameborder="0" width="640" allowfullscreen="allowfullscreen"></iframe></center>
<p>&#160;</p>
<p>A HTM based sphere generation prototype, each primitive is approximately the same size and therefore it does not suffer from any singularities.</p>
<p><a href="http://research.microsoft.com/apps/pubs/default.aspx?id=64531">http://research.microsoft.com/apps/pubs/default.aspx?id=64531</a></p>
<p><a href="http://researchweb.iiit.ac.in/~shiben/docs/HexGeomClip_Shiben-PJN.pdf">http://researchweb.iiit.ac.in/~shiben/docs/HexGeomClip_Shiben-PJN.pdf</a></p>
<p>More details coming soon&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.paulridgway.co.uk/2011/07/28/hierarchical-triangular-mesh/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OpenGL World Generation</title>
		<link>http://www.paulridgway.co.uk/2011/07/25/opengl-world-generation/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=opengl-world-generation</link>
		<comments>http://www.paulridgway.co.uk/2011/07/25/opengl-world-generation/#comments</comments>
		<pubDate>Mon, 25 Jul 2011 07:56:00 +0000</pubDate>
		<dc:creator>Paul</dc:creator>
				<category><![CDATA[OpenGL]]></category>
		<category><![CDATA[OpenGL Sphere World Generation Procedural Parametric]]></category>

		<guid isPermaLink="false">http://www.paulridgway.co.uk/?p=408</guid>
		<description><![CDATA[This prototype procedurally generates and textures a sphere to that it looks like the earth. Unfortunately it suffers from polar singularities, where the vertices for all the longitudinal slices meet and cause a dithering artefact on the screen. More details coming soon&#8230;]]></description>
			<content:encoded><![CDATA[<p><center><iframe width="640" height="390" src="http://www.youtube.com/embed/SVogW22LYsY" frameborder="0" allowfullscreen></iframe></center>
<p>This prototype procedurally generates and textures a sphere to that it looks like the earth. Unfortunately it suffers from polar singularities, where the vertices for all the longitudinal slices meet and cause a dithering artefact on the screen.</p>
<p>More details coming soon&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.paulridgway.co.uk/2011/07/25/opengl-world-generation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

