<?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>Average Adam &#187; Graphics</title>
	<atom:link href="http://averageadam.com/tag/graphics/feed/" rel="self" type="application/rss+xml" />
	<link>http://averageadam.com</link>
	<description>The personal blog of a happily mediocre &#34;adult&#34;</description>
	<lastBuildDate>Fri, 16 Sep 2011 15:27:25 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>DirectX 10 Articles</title>
		<link>http://averageadam.com/2006/05/03/directx-10-articles/</link>
		<comments>http://averageadam.com/2006/05/03/directx-10-articles/#comments</comments>
		<pubDate>Wed, 03 May 2006 14:28:31 +0000</pubDate>
		<dc:creator>Adam</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Graphics]]></category>

		<guid isPermaLink="false">http://adamhewgill.com/blog/2006/05/03/directx-10-articles/</guid>
		<description><![CDATA[Ran into a few DirectX 10 articles that I though were interesting. DirectX 10 &#038; the Future of Gaming (posted at digg) The Future of PC Gaming &#8211; The Possibilities of Direct3D 10 (from gamedev.net) It is sad to know that we are going to be forced to upgrade so extensively to be able to [...]]]></description>
			<content:encoded><![CDATA[<p>Ran into a few DirectX 10 articles that I though were interesting.</p>
<p><a href="http://enthusiast.hardocp.com/article.html?art=MTA0NSwxLCxoZW50aHVzaWFzdA">DirectX 10 &#038; the Future of Gaming</a> (posted at digg)</p>
<p><a href="http://www.gamedev.net/reference/programming/features/atid3d10/">The Future of PC Gaming &#8211; The Possibilities of Direct3D 10</a> (from gamedev.net)</p>
<p>It is sad to know that we are going to be forced to upgrade so extensively to be able to use DirectX 10. Although I guess if you have the money for a next generation video card you can also afford a new PC with Vista on it. I certainly won&#8217;t be among the early adopters; I will stick to videos and screenshots for now.</p>
<p>Some of the features coming down the line mark a significant change in the 3D industry and I am quite excited about them. The geometry shaders alone will bring awesome potential but the consolidated processors is also very smart. It is looking more and more like OpenGL has very little hope of keeping up. OpenGL 2.0 just caught up to DirectX 9 and now this major step forward. I haven&#8217;t even heard of anything on the OpenGL front that would be comparable to Shader Model 3.0 yet which was part of DirectX 9c.  Am I wrong?</p>
]]></content:encoded>
			<wfw:commentRss>http://averageadam.com/2006/05/03/directx-10-articles/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>8th Ludum Dare Compo</title>
		<link>http://averageadam.com/2006/04/25/8th-ludum-dare-compo/</link>
		<comments>http://averageadam.com/2006/04/25/8th-ludum-dare-compo/#comments</comments>
		<pubDate>Tue, 25 Apr 2006 13:00:04 +0000</pubDate>
		<dc:creator>Adam</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Graphics]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://adamhewgill.com/blog/2006/04/25/8th-ludum-dare-compo/</guid>
		<description><![CDATA[Its back! The 48 hour game programming competition. I signed up to find out all the info but its this weekend so I won&#8217;t be able to actually participate. Maybe next time (although I said that for the 7th one too). Here is the info for those that are interested. Starting: April 28 2006 11:00 [...]]]></description>
			<content:encoded><![CDATA[<p>Its back! The 48 hour game programming competition. I signed up to find out all the info but its this weekend so I won&#8217;t be able to actually participate. Maybe next time (although I said that for the 7th one too).</p>
<p>Here is the info for those that are interested.</p>
<p>Starting: April 28 2006 11:00 PM EST (April 29 2006 3:00 AM UTC)<br />
Ending: April 30 2006 11:00 PM EST (May 1 2006 3:00 AM UTC)</p>
<p><a href="http://www.gamedev.net/community/forums/topic.asp?topic_id=389200">GameDev</a> story, <a href="http://ludumdare.com">Ludum Dare</a> main site</p>
<p>Let me know if you sign up :o)</p>
]]></content:encoded>
			<wfw:commentRss>http://averageadam.com/2006/04/25/8th-ludum-dare-compo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Graphics Section</title>
		<link>http://averageadam.com/2006/03/15/graphics-section/</link>
		<comments>http://averageadam.com/2006/03/15/graphics-section/#comments</comments>
		<pubDate>Thu, 16 Mar 2006 04:15:04 +0000</pubDate>
		<dc:creator>Adam</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Graphics]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://adamhewgill.com/blog/2006/03/15/graphics-section/</guid>
		<description><![CDATA[I just finished up the graphics section that I added a link to a couple weeks back. It contains tutorials in PowerPoint form, supporting example code and a section of links relevant to OpenGL programming. This stuff was all originally created for a fourth year graphics course that I was a teachers assistant for at [...]]]></description>
			<content:encoded><![CDATA[<p>I just finished up the graphics section that I added a link to a couple weeks back. It contains tutorials in PowerPoint form, supporting example code and a section of links relevant to OpenGL programming. This stuff was all originally created for a fourth year graphics course that I was a teachers assistant for at Guelph. Its a pretty rough crash course on OpenGL programming that starts really basic and ends quite advanced. I had a pretty good time putting it all together and researching the more advanced techniques, it also allowed me to really explore the basics of OpenGL that I had missed when starting.</p>
<p>Please let me know what you think of the stuff so I can make it more useful. Also I would like to know if there are any topics that you would like covered or covered in more detail. My plan is to integrate my graphics blog posts and examples into this section so they are easier to navigate.</p>
<p>For now <a href="/graphics">enjoy</a> :o)</p>
]]></content:encoded>
			<wfw:commentRss>http://averageadam.com/2006/03/15/graphics-section/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Direct3D 10</title>
		<link>http://averageadam.com/2006/01/14/directx-10/</link>
		<comments>http://averageadam.com/2006/01/14/directx-10/#comments</comments>
		<pubDate>Sun, 15 Jan 2006 03:05:41 +0000</pubDate>
		<dc:creator>Adam</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Graphics]]></category>

		<guid isPermaLink="false">http://adamhewgill.com/blog/?p=34</guid>
		<description><![CDATA[Nobody, save for Microsoft I guess, knows at this point exactly what is going to happen with Direct3D 10 (or Windows Graphics Foundation, or Direct3D 10, whatever). Direct3D has been the guide for the gaming industry for many years now with OpenGL constantly playing catch-up. OpenGL was always there in the background being supported by [...]]]></description>
			<content:encoded><![CDATA[<p>Nobody, save for Microsoft I guess, knows at this point exactly what is going to happen with Direct3D 10 (or Windows Graphics Foundation, or Direct3D 10, whatever). Direct3D has been the guide for the gaming industry for many years now with OpenGL constantly playing catch-up. OpenGL was always there in the background being supported by this or that company but Direct3D set the pace and brought about each generation of visual quality improvements.</p>
<p>There have been some announcements about the next version of the Windows 3D graphics platform including the name change mentioned above. This has included hints that it might not be available to Windows XP users instead being bundled into Windows Vista (the next version of windows). I, however, can&#8217;t see this being the case. XP will be around for a while, its not like 98 or 2000 was, it is actually a usable OS. Microsoft has never been known for putting out an OS when they say they will so I suspect more delays to Vista and the back porting of certain technologies, including Direct3D, into XP. Robert X. Cringely of <a href="http://www.pbs.org/cringely/">I, Cringely</a> also predicts a delay to Vista in his article on <a href="http://www.pbs.org/cringely/pulpit/pulpit20060112.html">what will happen in 2006</a>.</p>
<p>There is an <a href="http://www.gamedev.net/reference/programming/features/d3d10overview/">interesting article</a> on <a href="http://www.gamedev.net">GameDev.net</a> that takes what is known about the next Direct3D and speculates on what isn&#8217;t. It is a good read for those who are into graphics and especially those into shader graphics. I am very curious about Geometry Shaders and how they will fit into the pipeline and back port into older cards. I will be keeping an eye on this and will make another post when more is known. Incidentally in the <a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=7D29004E-7A8D-4F0A-B199-6A740D8F27BB&amp;displaylang=en">latest DirectX SDK</a> there is a technology preview of Direct3D 10, however it requires Vista and uses a software renderer.</p>
]]></content:encoded>
			<wfw:commentRss>http://averageadam.com/2006/01/14/directx-10/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GLSL Noise Woes</title>
		<link>http://averageadam.com/2005/09/26/glsl-noise-woes/</link>
		<comments>http://averageadam.com/2005/09/26/glsl-noise-woes/#comments</comments>
		<pubDate>Mon, 26 Sep 2005 18:50:31 +0000</pubDate>
		<dc:creator>Adam</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Graphics]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://adamhewgill.com/blog/?p=29</guid>
		<description><![CDATA[After battling with my code for a week or so it has come to my attention that the noise functions of GLSL are not implemented correctly or at all on any current hardware (except, I assume, 3D Labs stuff). I have an ATI Mobility 9600 and after fixing a few bugs all of a sudden [...]]]></description>
			<content:encoded><![CDATA[<p>After battling with my code for a week or so it has come to my attention that the noise functions of GLSL are not implemented correctly or at all on any current hardware (except, I assume, 3D Labs stuff).</p>
<p>I have an ATI Mobility 9600 and after fixing a few bugs all of a sudden my research was not running at interactive frame rates any longer.  The frame time was several seconds for a page of 100 different shaders where before it was several milliseconds.  So I ran out and bought an X850 Pro on sale at <a href="http://www.futureshop.ca">Future Shop</a> and threw together a computer with it inside.  I re-ran my experiment with the EXACT same results.  I had a suspicion already that noise was the root problem so I disabled it and everything ran lightning fast.</p>
<p>After a bit of research (thanks to the <a href="http://www.gamedev.net">GameDev.net</a> forums and <a href="http://www.google.com">google</a>)  I learned that ATIs implementation is terrible and the NVidia&#8217;s always returns Zero.  Both are very bad options as they both say on the box they support OpenGL 2.0.  Neither company documents the issue officially.  Mark Kilgard of NVidia does maintain a document on NVidia&#8217;s OpenGL support which mentions the problem.  ATI did not respond to inquiry on the subject.</p>
<p>The solution that I was pointed to by the fine people on the GameDev.net forums was to use SimpleX Noise.  This version of noise was created by <a href="http://mrl.nyu.edu/~perlin/">Ken Perlin</a> (of <a href="http://freespace.virgin.net/hugo.elias/models/m_perlin.htm">Perlin Noise</a> fame) to combat known issues with his original algorithm.  It has lower computational complexity, less artifacts and is easy to implement in hardware.  For more information see <a href="http://www.itn.liu.se/~stegu/simplexnoise/simplexnoise.pdf">this article</a> which has source code.</p>
<p>I&#8217;ll try to get some feedback up on SimpleX noise once I progress further.</p>
]]></content:encoded>
			<wfw:commentRss>http://averageadam.com/2005/09/26/glsl-noise-woes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GLSL variables</title>
		<link>http://averageadam.com/2005/08/26/glsl-variables/</link>
		<comments>http://averageadam.com/2005/08/26/glsl-variables/#comments</comments>
		<pubDate>Fri, 26 Aug 2005 14:55:00 +0000</pubDate>
		<dc:creator>Adam</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Exercise]]></category>
		<category><![CDATA[Graphics]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://adamhewgill.com/blog/?p=23</guid>
		<description><![CDATA[I tried using constant variables recently and I am not noticing any speed difference. Is this normal or is it maybe my cards fault? I tried using global constants, local constants and regular variables but they all have the same result, slooooowwwness. On a side note: Parkour is an awsome sport full of awsomeness. You [...]]]></description>
			<content:encoded><![CDATA[<p>I tried using constant variables recently and I am not noticing any speed difference.  Is this normal or is it maybe my cards fault?</p>
<p>I tried using global constants, local constants and regular variables but they all have the same result, slooooowwwness.</p>
<p>On a side note:<br />
Parkour is an awsome sport full of awsomeness.  You should try it.  It is sometimes called free-running, here are some links.  Have fun and be safe.</p>
<p><a href="http://www.urbanfreeflow.com">Urban Free Flow</a><br />
<a href="http://www.killsometime.com/video/video.asp?ID=278">Clip from Banlieue 13</a><br />
<a href="http://screwgravity.com/videos/index.shtml">Levity Group Parkour</a><br />
<a href="http://www.pkto.ca">Parkour Toronto</a><br />
<a href="http://parkour.net/index.php?sel_lang=english">Parkour.NET</a><br />
<a href="http://www.davidbelle.com/">David Belle</a> (Inventor of Parkour, 100% french)<br />
<a href="http://www.foucan.com/">Sébastien Foucan</a> (Co-Inventor of Parkour)</p>
]]></content:encoded>
			<wfw:commentRss>http://averageadam.com/2005/08/26/glsl-variables/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>First Steps with GLSL (2)</title>
		<link>http://averageadam.com/2005/08/16/first-steps-with-glsl-2/</link>
		<comments>http://averageadam.com/2005/08/16/first-steps-with-glsl-2/#comments</comments>
		<pubDate>Tue, 16 Aug 2005 14:50:00 +0000</pubDate>
		<dc:creator>Adam</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Graphics]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://adamhewgill.com/blog/?p=24</guid>
		<description><![CDATA[I have to say that OpenGL 2.0 and GLSL are a powerful team. It is much easier to use than ARB_(vertex&#124;fragment)_program. Writing shaders in assembly language is useful for some things (linear genetic programming) but to actually get into shader programming you have to opt for a high level shading language (no matter which one). [...]]]></description>
			<content:encoded><![CDATA[<p>I have to say that OpenGL 2.0 and GLSL are a powerful team.  It is much easier to use than ARB_(vertex|fragment)_program.  Writing shaders in assembly language is useful for some things (linear genetic programming) but to actually get into shader programming you have to opt for a high level shading language (no matter which one).  Here is a shot of the first shader I got running.</p>
<div class="photobox">
<a href="/images/blog/elephant1.jpg"><img class="photo" src="/images/blog/elephant1_sm.jpg" /></a>
</div>
<div class="photofoot">Figure 1. Normal Coloring (my first shader)</div>
<div class="photobox">
<a href="/images/blog/elephant2.jpg"><img class="photo" src="/images/blog/elephant2_sm.jpg" /></a>
</div>
<div class="photofoot">Figure 2. ivory.[vf]sh from the ATI SDK</div>
<p>The next step is to actually learn GLSL and how it interacts with OpenGL 2.0. It looks pretty easy, especially compared to ASM programming. If you are looking to create a real world project your best bet is currently ARB_(vertex|fragment)_shader since it has the widest driver support (backwards compatibilty).</p>
]]></content:encoded>
			<wfw:commentRss>http://averageadam.com/2005/08/16/first-steps-with-glsl-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>First Steps with GLSL</title>
		<link>http://averageadam.com/2005/08/15/first-steps-with-glsl/</link>
		<comments>http://averageadam.com/2005/08/15/first-steps-with-glsl/#comments</comments>
		<pubDate>Mon, 15 Aug 2005 18:49:00 +0000</pubDate>
		<dc:creator>Adam</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Graphics]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://adamhewgill.com/blog/?p=25</guid>
		<description><![CDATA[I have taken my first steps with OpenGL Shader Language (GLSL or GLslang) currently I have loaded, compiled and linked a program now I just have to apply it while drawing a model. I&#8217;ll post a screenshot of the finished result and the code I used. I posted a link to the zip I included [...]]]></description>
			<content:encoded><![CDATA[<p>I have taken my first steps with OpenGL Shader Language (GLSL or GLslang) currently I have loaded, compiled and linked a program now I just have to apply it while drawing a model. I&#8217;ll post a screenshot of the finished result and the code I used.</p>
<p>I posted a link to the zip I included in my last entry to GameDev.net and received a few responses all saying that a tool like what I posted already exists.  I checked them out and they are correct.  They are also designed much better than my package (ie not a cruddy hack).  Here is the list:</p>
<p>The OpenGL Extension Wrangler Library (GLEW)<br />
<a href="http://glew.sourceforge.net/">http://glew.sourceforge.net/</a></p>
<p>The OpenGL Easy Extension library (GLee)<br />
<a href="http://elf-stone.com/glee.php">http://elf-stone.com/glee.php</a></p>
<p>OpenGL is your friend; DirectX/WGF is like that bratty cousin you would like to smack.</p>
]]></content:encoded>
			<wfw:commentRss>http://averageadam.com/2005/08/15/first-steps-with-glsl/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OpenGL 2.0 Dev Kit</title>
		<link>http://averageadam.com/2005/08/11/opengl-20-dev-kit/</link>
		<comments>http://averageadam.com/2005/08/11/opengl-20-dev-kit/#comments</comments>
		<pubDate>Fri, 12 Aug 2005 03:53:00 +0000</pubDate>
		<dc:creator>Adam</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Graphics]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://adamhewgill.com/blog/?p=26</guid>
		<description><![CDATA[I packaged up the code files I ended up needing from the SGI site and from the ATI SDK to get OpenGL 2.0 support in an application. Get it here. I don&#8217;t know if it will work on non-ATI cards. I think it will though since there really isnt&#8217; too much that is ATI specific [...]]]></description>
			<content:encoded><![CDATA[<p>I packaged up the code files I ended up needing from the SGI site and from the ATI SDK to get OpenGL 2.0 support in an application.<br />
<a href="http://www.uoguelph.ca/~ahewgill/opengl2-devel.zip">Get it here</a>.</p>
<p>I don&#8217;t know if it will work on non-ATI cards.  I think it will though since there really isnt&#8217; too much that is ATI specific in there anymore; NVidia owners?  Also I assume if ATI or SGI finds out about it they will make me take it down so get it while its hot (I didn&#8217;t bother to read the license agreements).</p>
<p>To use it simply extract to a directory where your OpenGL application is and include &#8220;GLextensions.h&#8221;.  You will now be able to call all OpenGL 2.0 gl functions and all recent ARB, ATI, NV, EXT, etc extensions without worrying about all the crazy API binding and stuff.  In your main function, call &#8220;initExtensions();&#8221; to initialize everything.</p>
<p>Note:  This will work for both Windows and Linux, just make sure your installed driver supports OpenGL 2.0 by doing the following.</p>
<p><code>// Print OpenGL driver info<br />
printf("GL_VENDOR:          %s\n",  glGetString(GL_VENDOR));<br />
printf("GL_VERSION:         %s\n",  glGetString(GL_VERSION));<br />
printf("GL_SL_VERSION:       %s\n",  glGetString(GL_SHADING_LANGUAGE_VERSION));<br />
printf("GL_RENDERER:        %s\n",  glGetString(GL_RENDERER));<br />
printf("GL_EXTENSIONS:     %s\n",  glGetString(GL_EXTENSIONS));<br />
printf("\n\n");</code><br />
Listing 1: GL Driver Info Collection</p>
<p>Good Luck, post questions here or email me.</p>
]]></content:encoded>
			<wfw:commentRss>http://averageadam.com/2005/08/11/opengl-20-dev-kit/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Yeah SGI !</title>
		<link>http://averageadam.com/2005/08/10/yeah-sgi/</link>
		<comments>http://averageadam.com/2005/08/10/yeah-sgi/#comments</comments>
		<pubDate>Thu, 11 Aug 2005 03:46:00 +0000</pubDate>
		<dc:creator>Adam</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Graphics]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://adamhewgill.com/blog/?p=27</guid>
		<description><![CDATA[My recent quest for OpenGL 2.0 function support in my dev environment has hit a milestone. I was able to hack out the pieces of the ATI SDK I needed (rbtree.h, string.cpp, string.h, Platform.cpp, Platform.h, GLextensions.cpp, GLextensions.h) and get them compiling in place of my old ATIextensions.[ch] files. I started out with MAX_GL_1_3 and everything [...]]]></description>
			<content:encoded><![CDATA[<p>My recent quest for OpenGL 2.0 function support in my dev environment has hit a milestone.  I was able to hack out the pieces of the ATI SDK I needed (rbtree.h, string.cpp, string.h, Platform.cpp, Platform.h, GLextensions.cpp, GLextensions.h) and get them compiling in place of my old ATIextensions.[ch] files.  I started out with MAX_GL_1_3 and everything seems to be working since I am currently using only ARB extensions which are turned on for all MAX_GL_X_Y settings.  I bumped it up to MAX_GL_1_5 and everything still worked so I tried MAX_GL_2_0 but then it exploded! I got more than 1500 errors due to the fact that the glati.h that is included in the SDK does not contain API binding for the OpenGL 2.0 functions. Now we have a problem in need of a solution, google time.</p>
<p>I searched for the missing API entry string and found a reference on the <a href="http://oss.sgi.com/projects/ogl-sample/registry/">SGI site</a> for it in their glext.h file.  Which has every extension and OpenGL function available (or so it seems).  I deleted glati.h and replaced the includes with glext.h and now everything is compiling at MAX_GL_2_0.  I have yet to try out the functions but it looks promising.</p>
<p>I&#8217;ll post again after testing the functionality.</p>
]]></content:encoded>
			<wfw:commentRss>http://averageadam.com/2005/08/10/yeah-sgi/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

