<?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"
	>

<channel>
	<title>Peter Lewis' Portfolio</title>
	<atom:link href="http://pjblewis.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://pjblewis.com</link>
	<description>The programming escapades of a graphics and games programmer</description>
	<pubDate>Wed, 02 Jul 2008 13:18:59 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
	<language>en</language>
			<item>
		<title>Geomerics: 1 Year</title>
		<link>http://pjblewis.com/2008/07/02/geomerics-1-year/</link>
		<comments>http://pjblewis.com/2008/07/02/geomerics-1-year/#comments</comments>
		<pubDate>Wed, 02 Jul 2008 13:18:59 +0000</pubDate>
		<dc:creator>Peter Lewis</dc:creator>
		
		<category><![CDATA[Unrelated]]></category>

		<guid isPermaLink="false">http://pjblewis.com/?p=104</guid>
		<description><![CDATA[So, one year ago today, I started my first day at Geomerics. This warrants some delicious Portal cake:

Mmm, tastes of some delicious, chocolaty neurotoxin.
I&#8217;ve done a lot of things this year. Writing blog entries has not been one of them. I shall resolve to talk a bit more about my experiences over the last year, [...]]]></description>
			<content:encoded><![CDATA[<p>So, one year ago today, I started my first day at Geomerics. This warrants some delicious Portal cake:<br />
<center><img src="http://farm3.static.flickr.com/2321/1994439286_68aca096f5.jpg"/></center><br />
Mmm, tastes of some delicious, chocolaty neurotoxin.</p>
<p>I&#8217;ve done a lot of things this year. Writing blog entries has not been one of them. I shall resolve to talk a bit more about my experiences over the last year, and how my thoughts on computer graphics (specifically related to computer games) has changed because of them. </p>
<p>In fact, that reminds me: in a few days, I should write up some of the wisdom bestowed upon us by the total legend <a href="http://www.google.co.uk/search?q=jeremy+vickery">Jeremy Vickary</a> - a previous lead lighting artist from Pixar - who came to visit us for a few days.</p>
]]></content:encoded>
			<wfw:commentRss>http://pjblewis.com/2008/07/02/geomerics-1-year/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Oops!</title>
		<link>http://pjblewis.com/2008/06/06/oops/</link>
		<comments>http://pjblewis.com/2008/06/06/oops/#comments</comments>
		<pubDate>Fri, 06 Jun 2008 14:20:15 +0000</pubDate>
		<dc:creator>Peter Lewis</dc:creator>
		
		<category><![CDATA[Unrelated]]></category>

		<guid isPermaLink="false">http://pjblewis.com/?p=103</guid>
		<description><![CDATA[For those of you who have visited before, you may notice that my old website is&#8230; gone. Frankly, I broke it like a dork. At least I managed to keep all the gibberish posts. This will have to do for now, until I am able to get Version 2.0 done.
]]></description>
			<content:encoded><![CDATA[<p>For those of you who have visited before, you may notice that my old website is&#8230; gone. Frankly, I broke it like a dork. At least I managed to keep all the <s>gibberish</s> posts. This will have to do for now, until I am able to get Version 2.0 done.</p>
]]></content:encoded>
			<wfw:commentRss>http://pjblewis.com/2008/06/06/oops/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Enlighten @ GDC 2008 (More)</title>
		<link>http://pjblewis.com/2008/02/19/enlighten-gdc08-2/</link>
		<comments>http://pjblewis.com/2008/02/19/enlighten-gdc08-2/#comments</comments>
		<pubDate>Tue, 19 Feb 2008 07:00:40 +0000</pubDate>
		<dc:creator>Peter Lewis</dc:creator>
		
		<category><![CDATA[Enlighten]]></category>

		<guid isPermaLink="false">http://pjblewis.com/2008/02/19/enlighten-gdc08-2/</guid>
		<description><![CDATA[We have just released two more videos! HD versions will shortly be available here.

]]></description>
			<content:encoded><![CDATA[<p>We have just released two more videos! HD versions will shortly be available <a href="http://www.geomerics.com/enlighten-media.htm">here</a>.<br />
<center><embed src="http://www.youtube.com/p/529BA7C300F5EAD8" type="application/x-shockwave-flash" width="470" height="406" wmode="transparent"></embed></center></p>
]]></content:encoded>
			<wfw:commentRss>http://pjblewis.com/2008/02/19/enlighten-gdc08-2/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Enlighten @ GDC 2008</title>
		<link>http://pjblewis.com/2008/01/29/enlighten-gdc08/</link>
		<comments>http://pjblewis.com/2008/01/29/enlighten-gdc08/#comments</comments>
		<pubDate>Tue, 29 Jan 2008 09:19:52 +0000</pubDate>
		<dc:creator>Peter Lewis</dc:creator>
		
		<category><![CDATA[Enlighten]]></category>

		<guid isPermaLink="false">http://pjblewis.com/2008/01/29/enlighten-gdc08/</guid>
		<description><![CDATA[I&#8217;ve been meaning to post for a while now, but any posts I would have made would probably have been inconsequential drivel (see all other posts). But not this time!
We at Geomerics have been working rather hard*, and we&#8217;ve produced a small teaser video of our work in preparation for GDC 2008. We have more [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been meaning to post for a while now, but any posts I would have made would probably have been inconsequential drivel (see all other posts). But not this time!</p>
<p>We at Geomerics have been working rather hard*, and we&#8217;ve produced a small teaser video of our work in preparation for GDC 2008. We have more than this teaser, but we&#8217;re saving that for the event itself. The video is a capture of our lead technical artist, Ivan Pedersen, demonstrating (at x4 speed) the capabilities of our technology. It&#8217;ll hopefully put to rest some of the rumours that it&#8217;s all just a fake. (Such rumours kill fairies.)</p>
<p>Find the high-definition version <a href="http://www.geomerics.com/enlighten-media.htm">here</a>!<center><object width="425" height="355"><param name="movie" value="http://www.youtube.com/v/TCPQiCliKmg&#038;rel=1"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/TCPQiCliKmg&#038;rel=1" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"></embed></object></center>Also, here are some details to answer some other questions that I get frequently asked:</p>
<ul>
<li>It is dynamic: you can move lights and geometry, change the materials, <i>et cetera</i>, and the radiosity will change accordingly.</li>
<li>Dynamic shadows do affect the radiosity.</li>
<li>It can do larger levels/maps/geometry than shown here. We&#8217;re saving that for GDC.</li>
<li>It is more efficient when using a precompute step for static geometry. Dynamic geometry does not need this step.**</li>
<li>It uses two solutions for static and deformable geometry, just for efficiency&#8217;s sake. In theory you could mark everything as a deformable object&#8230;</li>
<li>It runs fast enough for use in computer games, or we&#8217;d all be out of a job. <img src="http://pjblewis.com/wp-includes/images/smilies/icon_smile.gif" alt=")" class="wp-smiley" /> </li>
<li>There is an SPU version for PS3. It is fully threadable for Windows and Xbox 360.</li>
</ul>
<p>I confess I&#8217;m being deliberately vague about performance here, and you have my sincerest apologies. This isn&#8217;t because I&#8217;m a filthy liar, but with the extensive work going on here in the office at the moment, I&#8217;m not going to commit to any numbers. Also, that&#8217;s a job for the marketing types, so I&#8217;m not going to tread on anyone&#8217;s toes. If anyone does have any questions, however, you can email Geomerics directly from the <a href="http://www.geomerics.com/contactus.htm">website</a>.</p>
<p>By the way, I love <a href="http://lolinator.com/lol/pjblewis.com/journal/">this website</a>!</p>
<p>* Between the parties and the hookers.<br />
** For the radiosity precomputation only, this took around 3-5 <i>minutes</i>.</p>
]]></content:encoded>
			<wfw:commentRss>http://pjblewis.com/2008/01/29/enlighten-gdc08/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Motion Blur</title>
		<link>http://pjblewis.com/2007/08/27/motion-blur/</link>
		<comments>http://pjblewis.com/2007/08/27/motion-blur/#comments</comments>
		<pubDate>Mon, 27 Aug 2007 12:50:12 +0000</pubDate>
		<dc:creator>Peter Lewis</dc:creator>
		
		<category><![CDATA[Programming]]></category>

		<category><![CDATA[Projects]]></category>

		<guid isPermaLink="false">http://pjblewis.com/2007/08/27/motion-blur/</guid>
		<description><![CDATA[I&#8217;ve finally got around to uploading the fixed motion blur in the GLSL demo, which can be found here. I&#8217;d fixed it a few days after my last post, but I&#8217;ve been neglecting this site a little bit lately. Today I modified it so that there is more blur on the outer edges of the [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve <i>finally</i> got around to uploading the fixed motion blur in the GLSL demo, which can be found <a href="http://www.pjblewis.com/files/glsldemo/">here</a>. I&#8217;d fixed it a few days after my last post, but I&#8217;ve been neglecting this site a little bit lately. Today I modified it so that there is more blur on the outer edges of the screen, and less in the centre. This was to avoid what I like to call &#8220;Bourne Film Sickness&#8221;.</p>
<p>The reason that I&#8217;ve not posted in a while is that I&#8217;ve actually left University and got myself a job at a rather amazing games R&#038;D company based in Cambridge. It&#8217;s brilliant, and I&#8217;m so glad that I did it. I was running out of money, fast, and this job opportunity was too amazing to be missed.</p>
<p>I&#8217;m still doing my Masters in my spare time, though. Rather than doing something graphical for my final thesis, I&#8217;ve decided to write a small scripting language. I&#8217;ve always wanted to write one, and I spend 8 hours a day doing graphics at work, so I figured that I might overdose. <img src="http://pjblewis.com/wp-includes/images/smilies/icon_smile.gif" alt=")" class="wp-smiley" /> </p>
<p>As I say, do check out the improved motion blur.</p>
<p>Edit: Gosh! My work has been referenced on the <a href="http://blenderartists.org/forum/showthread.php?t=100606">Blender Artists forums</a> last month! Thanks guys! <img src="http://pjblewis.com/wp-includes/images/smilies/icon_smile.gif" alt=")" class="wp-smiley" /> </p>
<p>Edit, again: Some shots of the blur. I&#8217;ve just realised that it&#8217;s not framerate independent, so on slow cards you&#8217;ll get loads of blur, but on a GeForce 8800 you&#8217;ll get a nicer blur (because that&#8217;s what I&#8217;ve tweaked it to). Sorry about that.<center><br />
<a href="/code/pfg/motionblur1.jpg"><img src="/code/pfg/motionblur1.jpg" width="425"/></a><br />
Some excessive blurring to show it off. High forward velocity.</p>
<p><a href="/code/pfg/motionblur2.jpg"><img src="/code/pfg/motionblur2.jpg" width="425"/></a><br />
A gentle sideways movement.<br />
</center></p>
]]></content:encoded>
			<wfw:commentRss>http://pjblewis.com/2007/08/27/motion-blur/feed/</wfw:commentRss>
		</item>
		<item>
		<title>The Cave Troll; Photorealism on the GPU; &#8220;Cali&#8221;</title>
		<link>http://pjblewis.com/2007/05/04/gpu-photoreal/</link>
		<comments>http://pjblewis.com/2007/05/04/gpu-photoreal/#comments</comments>
		<pubDate>Fri, 04 May 2007 17:09:58 +0000</pubDate>
		<dc:creator>Peter Lewis</dc:creator>
		
		<category><![CDATA[Programming]]></category>

		<category><![CDATA[Projects]]></category>

		<guid isPermaLink="false">http://pjblewis.com/2007/05/04/gpu-photoreal/</guid>
		<description><![CDATA[I haven&#8217;t posted in a while, so my current work is shrouded in mystery. 
First off, a quick update on last term: I&#8217;ve produced a procedural city/garden generator in Houdini, but I don&#8217;t have screenshots here. I will post some up the next time I&#8217;m at Uni. Also, there was the infamous GLSL demo, which [...]]]></description>
			<content:encoded><![CDATA[<p>I haven&#8217;t posted in a while, so my current work is shrouded in mystery. </p>
<p>First off, a quick update on last term: I&#8217;ve produced a procedural city/garden generator in Houdini, but I don&#8217;t have screenshots here. I will post some up the next time I&#8217;m at Uni. Also, there was the infamous <a href="http://pjblewis.com/files/glsldemo/">GLSL demo</a>, which I&#8217;m moderately pleased with and has inspired me with regards to my major project this year. More on that in a moment. If you have a GeForce 6800 or above, please do check that out! It&#8217;s quite basic compared to a lot of stuff out there right now, but I&#8217;m still pleased with it as I managed to cobble it together in five or six weeks.</p>
<p>Last term also saw the end of the Cave Troll. Now, while I&#8217;m pleased with a lot of the features that were incorporated into the project, it seems that fate conspired against us to ensure that everything that could go wrong went wrong. However, I was responsible for the lighting and Maya to RenderMan pipeline, and both of those things worked out a treat. You can see a copy of the <a href="http://www.pjblewis.com/code/troll/presentation.pdf">presentation slides</a> for details on how the median cut algorithm works, and also details on the RIB exporter. There is a dodgy <a href="http://www.pjblewis.com/code/troll/sphere.m2v">video</a> showing how the ambient light maps onto a sphere. I may write a new page on these tools soon.</p>
<p>The reason I&#8217;m so annoyed with the project is that the mocap data that we were so proud of was completely unusable. Malcolm, our only animator, used XSI to hand-animate the troll using the mocap video as a reference, but then we couldn&#8217;t get our animation from XSI to Maya. Given the remaining time, Malc had to learn Maya in two weeks and animate from scratch. He deserves a medal for that, to be honest.</p>
<p>The muscle system was developed by Johannes, but unfortunately he was stuck in Germany when it came to actually applying the muscles to the troll. I had to botch the job in the last week and wasn&#8217;t able to tweak it, so if you want a laugh watch the belly of the troll very carefully as he runs&#8230;<br />
<center><embed src="http://www.youtube.com/v/2MzDyGRtNNI" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></center></p>
<p>The main topic I wanted to cover in this entry is photorealistic rendering using a graphics card. As John Carmack said in his <a href="http://www.gamedev.net/community/forums/topic.asp?topic_id=266373">2004 Quakecon speech</a>, it won&#8217;t be long until we start seeing low budget visual effects studios switching to a more affordable and <i>faster</i> method for rendering C.G. scenes. With games companies producing stuff like <i>Gears of War</i>, that day is getting closer and closer. This is currently what I&#8217;m looking to investigate, and I&#8217;m planning to write a RenderMan compliant GPU-based renderer (codenamed &#8220;Calistos&#8221;, or just &#8220;Cali&#8221;) over the coming months. </p>
<p>However, there are a number of things that clearly make offline rendering superior to rendering on a GPU, and these need to be resolved somehow in order to produce better results. The first thing that I notice every time I look at games is the terrible, <i>terrible</i> aliasing. Frankly the antialiasing on current hardware is dire, and that really need to be improved. Even at 8x, it still looks pretty bad. I&#8217;m looking forward to the day when hardware has in-built 16x anti-aliasing at decent rates.</p>
<p><center><a href="http://www.nvnews.net/files/graphics/screenshots/fsaatester/aa_comparison.shtml"><img src="http://files.gibbering.net/geforce_6800_8xaa.png"/></a></center></p>
<p>Another thing I don&#8217;t like is the texture filtering. It can be fine in a lot of cases, and mipmapping certainly helps to reduce aliasing on distant textures. However, the closer you get the more a texture looks bad, and the only way to solve this is to use a very high resolution texture. In an offline renderer you can have a texture any size you like, but on a GPU you&#8217;re limited to 128MB or less in most cases. For the cave troll, we had a 32-bit floating point displacement map that was 4096 pixels square and took up 100MB of disk space. That&#8217;s certainly not going to be viable on a GPU in any circumstances.</p>
<p>There are some things that the GPU does as well as offline rendering or better. For example its a hell of a lot faster to rasterise than to raytrace or even use a REYES algorithm. Fragment shaders are pretty damn good at doing most of the post-process effects that are used in offline rendering, and doing them better in a lot of cases. There are still times when precision becomes a problem, but unclamped floating point pixelbuffers make this a non-issue most of the time. Finally, with the advent of GLSL, Shader Model 3 and OpenGL 2.0, things are becoming a lot more flexible. I don&#8217;t know what the instruction limit is for shaders these days, and I make a point of not looking. However, I&#8217;ve written some pretty nasty shaders over the last few weeks and the card has just done its job with no complaints. </p>
<p>I shall report back in a few weeks with news on Cali&#8217;s development, and hopefully some screenshots.</p>
]]></content:encoded>
			<wfw:commentRss>http://pjblewis.com/2007/05/04/gpu-photoreal/feed/</wfw:commentRss>
		</item>
		<item>
		<title>New Server; Preview</title>
		<link>http://pjblewis.com/2007/03/02/new-server/</link>
		<comments>http://pjblewis.com/2007/03/02/new-server/#comments</comments>
		<pubDate>Fri, 02 Mar 2007 21:40:53 +0000</pubDate>
		<dc:creator>Peter Lewis</dc:creator>
		
		<category><![CDATA[Unrelated]]></category>

		<guid isPermaLink="false">http://pjblewis.com/2007/03/02/new-server/</guid>
		<description><![CDATA[Hello everyone. A short post today due to limited time. So much work&#8230;
Switched to a new server at DreamHost.com, who rock. Like, a lot.
Coming soon: my implementation of Debevec&#8217;s median cut algorithm, and some cave troll previews. Watch this space!
]]></description>
			<content:encoded><![CDATA[<p>Hello everyone. A short post today due to limited time. So much work&#8230;</p>
<p>Switched to a new server at <a href="http://www.dreamhost.com">DreamHost.com</a>, who rock. Like, a lot.</p>
<p>Coming soon: my implementation of Debevec&#8217;s <a href="http://gl.ict.usc.edu/research/MedianCut/">median cut</a> algorithm, and some cave troll previews. Watch this space!</p>
]]></content:encoded>
			<wfw:commentRss>http://pjblewis.com/2007/03/02/new-server/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Cave Troll: Mocap Session</title>
		<link>http://pjblewis.com/2007/02/09/ct-mocap/</link>
		<comments>http://pjblewis.com/2007/02/09/ct-mocap/#comments</comments>
		<pubDate>Fri, 09 Feb 2007 11:24:45 +0000</pubDate>
		<dc:creator>Peter Lewis</dc:creator>
		
		<category><![CDATA[Unrelated]]></category>

		<guid isPermaLink="false">http://pjblewis.com/2007/02/09/cave-troll-mocap-session/</guid>
		<description><![CDATA[
Thanks to Andy Cousins at Access Mocap for the use of his motion capture facilities! 
]]></description>
			<content:encoded><![CDATA[<p><center><object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/2IqJmHkteGM"></param><embed src="http://www.youtube.com/v/2IqJmHkteGM" type="application/x-shockwave-flash" width="425" height="350"></embed></object></center></p>
<p>Thanks to Andy Cousins at <a href="http://www.accessmocap.co.uk/">Access Mocap</a> for the use of his motion capture facilities! </p>
]]></content:encoded>
			<wfw:commentRss>http://pjblewis.com/2007/02/09/ct-mocap/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Cave Troll: Principle Photography</title>
		<link>http://pjblewis.com/2007/02/04/ct-pp/</link>
		<comments>http://pjblewis.com/2007/02/04/ct-pp/#comments</comments>
		<pubDate>Sun, 04 Feb 2007 08:05:59 +0000</pubDate>
		<dc:creator>Peter Lewis</dc:creator>
		
		<category><![CDATA[Unrelated]]></category>

		<guid isPermaLink="false">http://pjblewis.com/2007/02/04/ct-pp/</guid>
		<description><![CDATA[A group of us (Malcolm Childs, João Montenegro, Johannes Saam, Djamalkhan &#8220;Jamal&#8221; Ahmedov, Richie Moore and myself) have come together to try and produce a short C.G. creature animation of a cave troll. Yesterday was the only day of principle photography, and here are some photos of our crazy excursion. I will post up some [...]]]></description>
			<content:encoded><![CDATA[<p>A group of us (<a href="http://www.malcolmchilds.com/">Malcolm Childs</a>, <a href="http://joaoraytracing.blogspot.com/">João Montenegro</a>, <a href="http://www.imdb.com/name/nm2183686/">Johannes Saam</a>, Djamalkhan &#8220;Jamal&#8221; Ahmedov, Richie Moore and myself) have come together to try and produce a short C.G. creature animation of a cave troll. Yesterday was the only day of principle photography, and here are some photos of our crazy excursion. I will post up some more details and photos soon. </p>
<p><a href="http://cavetroll.gibbering.net/ctshoot/photos/">Photos</a> and <a href="http://www.spencerdrayton.co.uk/pix/JAlbum/CaveTroll/index.html">more photos</a>!</p>
]]></content:encoded>
			<wfw:commentRss>http://pjblewis.com/2007/02/04/ct-pp/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Website Update</title>
		<link>http://pjblewis.com/2007/01/10/website-update/</link>
		<comments>http://pjblewis.com/2007/01/10/website-update/#comments</comments>
		<pubDate>Wed, 10 Jan 2007 06:56:42 +0000</pubDate>
		<dc:creator>Peter Lewis</dc:creator>
		
		<category><![CDATA[Unrelated]]></category>

		<guid isPermaLink="false">http://pjblewis.com/2007/01/10/website-update/</guid>
		<description><![CDATA[I&#8217;ve discovered the joys of CSS lately, so the site has been revamped slightly. I can&#8217;t seem be able to think of any kind of colour-scheme except ones that consist of varying shades of blue. Any tips would be gladly taken on board.
Going back to Bournemouth on Sunday after a long and relaxing holiday. This [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve discovered the joys of CSS lately, so the site has been revamped slightly. I can&#8217;t seem be able to think of any kind of colour-scheme except ones that consist of varying shades of blue. Any tips would be gladly taken on board.</p>
<p>Going back to Bournemouth on Sunday after a long and <i>relaxing</i> holiday. This is probably the first time I haven&#8217;t done <i>any</i> work since my A-levels (ha!). I&#8217;ve forced myself to have a proper holiday so I can go back to University and regurgitate all my pent-up code onto a keyboard.</p>
<p>In the meantime I have been writing a small story, which isn&#8217;t so small any more. If any of you are interested in fantasy fiction (I hate that expression, but I can&#8217;t think of any other phrase to describe it) then check out the <a href="/antalum-teaser/">Prologue</a>. Please ignore the disgusting and blatant use of CSS hacks, but do check out my HTML formatter script. I&#8217;m rather pleased with it.</p>
<p>I hope you all had a nice holiday!</p>
]]></content:encoded>
			<wfw:commentRss>http://pjblewis.com/2007/01/10/website-update/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
