<?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>Torin Kampa</title>
	<atom:link href="http://torinkampa.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://torinkampa.com</link>
	<description>Portfolio &#38; Articles</description>
	<pubDate>Fri, 06 Jun 2008 18:05:13 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
	<language>en</language>
			<item>
		<title>RakNet: Client Server Basics</title>
		<link>http://torinkampa.com/raknet-client-server-basics/</link>
		<comments>http://torinkampa.com/raknet-client-server-basics/#comments</comments>
		<pubDate>Sat, 31 May 2008 20:23:09 +0000</pubDate>
		<dc:creator>Torin Kampa</dc:creator>
		
		<category><![CDATA[RakNet]]></category>

		<category><![CDATA[c++]]></category>

		<category><![CDATA[game networking]]></category>

		<category><![CDATA[incoming packets]]></category>

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

		<category><![CDATA[multiplayer game]]></category>

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

		<category><![CDATA[networking environments]]></category>

		<category><![CDATA[networking library]]></category>

		<category><![CDATA[packet types]]></category>

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

		<guid isPermaLink="false">http://torinkampa.com/?p=66</guid>
		<description><![CDATA[RakNet is the best open-source multiplayer networking library I&#8217;ve come across. In my experience, it doesn&#8217;t make any sense to reinvent the wheel by coding your own networking (except maybe as an exercise). 
This article presents a barebones RakNet skeleton to connect multiple clients to a server.

Startup
RakPeerInterface is RakNet&#8217;s central class which allows you to [...]]]></description>
		<wfw:commentRss>http://torinkampa.com/raknet-client-server-basics/feed/</wfw:commentRss>
		</item>
		<item>
		<title>GLSL: Phong Multi-Light</title>
		<link>http://torinkampa.com/glsl-phong-multi-light/</link>
		<comments>http://torinkampa.com/glsl-phong-multi-light/#comments</comments>
		<pubDate>Sun, 25 May 2008 23:45:59 +0000</pubDate>
		<dc:creator>Torin Kampa</dc:creator>
		
		<category><![CDATA[GLSL]]></category>

		<category><![CDATA[c++]]></category>

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

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

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

		<category><![CDATA[light reflection]]></category>

		<category><![CDATA[lighting calculations]]></category>

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

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

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

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

		<category><![CDATA[shading language]]></category>

		<category><![CDATA[specular component]]></category>

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

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

		<category><![CDATA[vertex position]]></category>

		<category><![CDATA[vertex shader]]></category>

		<guid isPermaLink="false">http://torinkampa.com/?p=60</guid>
		<description><![CDATA[This shader program aims to completely replicate OpenGL&#8217;s fixed function lighting pipeline using per-pixel calculations. For more explanation, see my previous article on Per-Pixel Lighting (PPL).

Vertex Shader
This is a simple vertex shader that transforms the vertex position and normal into the appropriate spaces. All the lighting calculations are done per-pixel in the fragment shader.

varying vec3 [...]]]></description>
		<wfw:commentRss>http://torinkampa.com/glsl-phong-multi-light/feed/</wfw:commentRss>
		</item>
		<item>
		<title>GLSL: Per-Pixel Lighting (PPL)</title>
		<link>http://torinkampa.com/glsl-per-pixel-lighting-ppl/</link>
		<comments>http://torinkampa.com/glsl-per-pixel-lighting-ppl/#comments</comments>
		<pubDate>Sun, 25 May 2008 16:08:26 +0000</pubDate>
		<dc:creator>Torin Kampa</dc:creator>
		
		<category><![CDATA[GLSL]]></category>

		<category><![CDATA[c++]]></category>

		<category><![CDATA[diffuse component]]></category>

		<category><![CDATA[dot product]]></category>

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

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

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

		<category><![CDATA[light position]]></category>

		<category><![CDATA[model view]]></category>

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

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

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

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

		<category><![CDATA[shading language]]></category>

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

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

		<category><![CDATA[vertex lighting]]></category>

		<category><![CDATA[vertex position]]></category>

		<category><![CDATA[vertex shader]]></category>

		<guid isPermaLink="false">http://torinkampa.com/?p=54</guid>
		<description><![CDATA[In OpenGL&#8217;s fixed function pipeline, lighting (N dot L) is computed per-vertex and interpolated over the surface of the polygon. The result is decent when using high-poly models and can be further disguised by texturing. Per-vertex lighting is, however, unacceptable on some low-poly models such as single-quad floors or walls. In this case, you must [...]]]></description>
		<wfw:commentRss>http://torinkampa.com/glsl-per-pixel-lighting-ppl/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Project: Schedule of the Damned</title>
		<link>http://torinkampa.com/project-schedule-of-the-damned/</link>
		<comments>http://torinkampa.com/project-schedule-of-the-damned/#comments</comments>
		<pubDate>Sat, 01 Dec 2007 19:00:12 +0000</pubDate>
		<dc:creator>Torin Kampa</dc:creator>
		
		<category><![CDATA[Projects]]></category>

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

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

		<guid isPermaLink="false">http://torinkampa.com/?p=37</guid>
		<description><![CDATA[Description
Platform: Boardgame
Development: 3 weeks
Team: 2 (Erik Nichols)
Fight for your free time against an uncaring college bureaucracy! Get the most points by designing a full class schedule that maximizes your free time. Each player chooses a major and attempts to navigate the minefield that is class registration. There are no winners, only varying degrees of pain.
Download: [...]]]></description>
		<wfw:commentRss>http://torinkampa.com/project-schedule-of-the-damned/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Project: Multiplayer Bullet-Time</title>
		<link>http://torinkampa.com/project-multiplayer-bullet-time/</link>
		<comments>http://torinkampa.com/project-multiplayer-bullet-time/#comments</comments>
		<pubDate>Mon, 15 Oct 2007 19:00:11 +0000</pubDate>
		<dc:creator>Torin Kampa</dc:creator>
		
		<category><![CDATA[Projects]]></category>

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

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

		<guid isPermaLink="false">http://torinkampa.com/?p=34</guid>
		<description><![CDATA[Description
Platform: Presentation
Development: 3 weeks
Team: 2 (Erik Nichols)
Erik and I present a solution for multiplayer bullet-time called Occlusion Bullet-Time (OBT), which is defined by two rules:
1. OBT automatically activates for any player when he sees an opponent, or is seen by an opponent.
2. OBT automatically deactivates for any player when an unobstructed line cannot be drawn [...]]]></description>
		<wfw:commentRss>http://torinkampa.com/project-multiplayer-bullet-time/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Project: Campaign Assault</title>
		<link>http://torinkampa.com/project-campaign-assault/</link>
		<comments>http://torinkampa.com/project-campaign-assault/#comments</comments>
		<pubDate>Sat, 01 Sep 2007 19:00:54 +0000</pubDate>
		<dc:creator>Torin Kampa</dc:creator>
		
		<category><![CDATA[Portfolio]]></category>

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

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

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

		<guid isPermaLink="false">http://torinkampa.com/?p=31</guid>
		<description><![CDATA[Description
Platform: Boardgame
Development: 3 weeks
Team: 2 (Erik Nichols)
Players take turns campaigning around the country by moving their candidate between districts and challenging their opponents to debates.
The winner is the player who gains the most points by:
 - Securing the vote in a district, which is worth the number of points indicated
 - Securing the vote in [...]]]></description>
		<wfw:commentRss>http://torinkampa.com/project-campaign-assault/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Project: Discount Carpet Outlet</title>
		<link>http://torinkampa.com/project-discount-carpet-outlet/</link>
		<comments>http://torinkampa.com/project-discount-carpet-outlet/#comments</comments>
		<pubDate>Thu, 09 Aug 2007 23:36:26 +0000</pubDate>
		<dc:creator>Torin Kampa</dc:creator>
		
		<category><![CDATA[Portfolio]]></category>

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

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

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

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

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

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

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

		<guid isPermaLink="false">http://torinkampa.com/?p=50</guid>
		<description><![CDATA[Description
Platform: Web
Technology: HTML, CSS, Javascript, PHP
Development: 1 months
Team: Solo
Contract job to create a website for a New Zealand based carpet liquidator. Designed in Photoshop, coded in Aptana.
Visit: [link]









]]></description>
		<wfw:commentRss>http://torinkampa.com/project-discount-carpet-outlet/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Project: Gems</title>
		<link>http://torinkampa.com/project-gems/</link>
		<comments>http://torinkampa.com/project-gems/#comments</comments>
		<pubDate>Fri, 01 Sep 2006 19:00:29 +0000</pubDate>
		<dc:creator>Torin Kampa</dc:creator>
		
		<category><![CDATA[Portfolio]]></category>

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

		<category><![CDATA[c++]]></category>

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

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

		<guid isPermaLink="false">http://torinkampa.com/?p=25</guid>
		<description><![CDATA[Description
Platform: PC
Language: C++
Technology: Ogre, Newton
Development: 3 months
Team: Solo
Gems is a game prototype designed to help stroke victims recover their motor functions. Patients exercise pronation by using a power glove to reach out and touch a gem. That gem and all adjacent gems of the same color are eliminated. Patients exercise supination by touching an offset [...]]]></description>
		<wfw:commentRss>http://torinkampa.com/project-gems/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Project: Bump Sampler</title>
		<link>http://torinkampa.com/project-bump-sampler/</link>
		<comments>http://torinkampa.com/project-bump-sampler/#comments</comments>
		<pubDate>Tue, 02 May 2006 19:00:26 +0000</pubDate>
		<dc:creator>Torin Kampa</dc:creator>
		
		<category><![CDATA[Portfolio]]></category>

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

		<category><![CDATA[c++]]></category>

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

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

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

		<guid isPermaLink="false">http://torinkampa.com/?p=18</guid>
		<description><![CDATA[Description
Platform: PC
Language: C++
Technology: OpenGL, GLSL
Development: 3 months
Team: Solo
Interactively demonstrates the effectiveness of real-time, shader-based lighting techniques including phong, bump mapping, and parallax bump mapping.
The Maya-like environment features:
- Translation of objects and lights using a &#8220;gizmo&#8221;
- Interactive camera using the alt key
- Pixel-perfect object selection/picking
- Creation and deletion of up to eight lights
Screenshots














]]></description>
		<wfw:commentRss>http://torinkampa.com/project-bump-sampler/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Project: Racer</title>
		<link>http://torinkampa.com/project-racer/</link>
		<comments>http://torinkampa.com/project-racer/#comments</comments>
		<pubDate>Mon, 01 May 2006 19:00:42 +0000</pubDate>
		<dc:creator>Torin Kampa</dc:creator>
		
		<category><![CDATA[Portfolio]]></category>

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

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

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

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

		<guid isPermaLink="false">http://torinkampa.com/?p=13</guid>
		<description><![CDATA[Description
Platform: PC
Language: C#
Technology: Ogre, Newton
Development: 3 months
Team: Solo
A 3d racer featuring cutting-edge graphics technology.
Features include:
- HDR Lighting/Bloom
- Motion Blur
- Dynamic Follow Camera
- Physics
There are an infinite number of levels which are randomly generated. In order to complete a level, you must finish within the target time, which is dynamically calculated based on the difficulty and [...]]]></description>
		<wfw:commentRss>http://torinkampa.com/project-racer/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
