<?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>Chad Austin &#187; opengl</title>
	<atom:link href="http://chadaustin.me/tag/opengl/feed/" rel="self" type="application/rss+xml" />
	<link>http://chadaustin.me</link>
	<description></description>
	<lastBuildDate>Mon, 07 Nov 2011 21:24:20 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>GLScry 0.2.0 Released</title>
		<link>http://chadaustin.me/2005/05/glscry-020-released/</link>
		<comments>http://chadaustin.me/2005/05/glscry-020-released/#comments</comments>
		<pubDate>Fri, 27 May 2005 06:58:00 +0000</pubDate>
		<dc:creator>Chad Austin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[opengl]]></category>
		<category><![CDATA[opensource]]></category>

		<guid isPermaLink="false">http://aegisknight.org/new/2005/05/26/glscry-020-released/</guid>
		<description><![CDATA[The 0.2.0 release of GLScry, our OpenGL benchmarking application, is available.  The change log is available on its web page.]]></description>
			<content:encoded><![CDATA[The 0.2.0 release of <a href="http://aegisknight.org/glscry">GLScry</a>, our OpenGL benchmarking application, is available.  The change log is available on its <a href="http://aegisknight.org/glscry">web page</a>.]]></content:encoded>
			<wfw:commentRss>http://chadaustin.me/2005/05/glscry-020-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GDC &#8211; Day 2</title>
		<link>http://chadaustin.me/2005/03/gdc-day-2/</link>
		<comments>http://chadaustin.me/2005/03/gdc-day-2/#comments</comments>
		<pubDate>Wed, 09 Mar 2005 03:31:00 +0000</pubDate>
		<dc:creator>Chad Austin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[gdc]]></category>
		<category><![CDATA[opengl]]></category>

		<guid isPermaLink="false">http://aegisknight.org/new/2005/03/08/gdc-day-2/</guid>
		<description><![CDATA[Stayed in the Next Generation Rendering with OpenGL tutorial for the whole day.  To summarize:  Framebuffer Objects are cool.  (They took their sweet time, though!)  NVidia has some very sweet performance analysis tools coming out.  The folks at Graphic Remedy have a neat tool gDEBugger, but I certainly can&#8217;t afford [...]]]></description>
			<content:encoded><![CDATA[<p>Stayed in the Next Generation Rendering with OpenGL tutorial for the whole day.  To summarize:  Framebuffer Objects are cool.  (They took their sweet time, though!)  NVidia has some very sweet performance analysis tools coming out.  The folks at Graphic Remedy have a neat tool gDEBugger, but I certainly can&#8217;t afford it at $500 / seat.  GPGPU is still cool.</p>

<p>I did learn a few new things about how to optimize shaders on modern graphics architectures.  Texture fetches are still slow on ATI cards, at least relative to calculations.  (On NVidia, it&#8217;s the opposite.)</p>

<p>OpenGL 2.0 is going to have some good changes, especially related to the shading language.  It&#8217;s still in a bit of flux though.</p>

<p>Heh, in hindsight, I don&#8217;t remember all that much.  But I&#8217;ll attribute that to my context-sensitive-access-biased memory.</p>]]></content:encoded>
			<wfw:commentRss>http://chadaustin.me/2005/03/gdc-day-2/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>GLScry 0.1.0 Released</title>
		<link>http://chadaustin.me/2005/02/glscry-010-released/</link>
		<comments>http://chadaustin.me/2005/02/glscry-010-released/#comments</comments>
		<pubDate>Sun, 06 Feb 2005 17:49:00 +0000</pubDate>
		<dc:creator>Chad Austin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[opengl]]></category>
		<category><![CDATA[opensource]]></category>

		<guid isPermaLink="false">http://aegisknight.org/new/2005/02/06/glscry-010-released/</guid>
		<description><![CDATA[Dr. Dirk Reiners and I would like to announce the first release of GLScry, an OpenGL performance analysis tool.  It provides a framework for testing and graphing the performance of various OpenGL operations.  Existing tests include optimal batch size, whether there is a batch rate limit, existence of hierarchical Z or other early [...]]]></description>
			<content:encoded><![CDATA[<p>Dr. Dirk Reiners and I would like to announce the first release of GLScry, an OpenGL performance analysis tool.  It provides a framework for testing and graphing the performance of various OpenGL operations.  Existing tests include optimal batch size, whether there is a batch rate limit, existence of hierarchical Z or other early Z techniques, cost of lights, pixel transfer rates, state change costs, texture upload rates, interleaved vs. separate VBOs, and size of vertex cache.</p>

<p>Since this is an initial release, we don&#8217;t have all the tests we would like, but the framework should make it easy to add additional ones.  If you wouldn&#8217;t mind, download it and give it a shot.  Any feedback and test results would be appreciated.</p>

<p>More details and downloads are available at <a href="http://aegisknight.org/glscry">http://aegisknight.org/glscry</a>.</p>

<p>Thanks all.</p>]]></content:encoded>
			<wfw:commentRss>http://chadaustin.me/2005/02/glscry-010-released/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>More GLSL&#8230;</title>
		<link>http://chadaustin.me/2004/12/more-glsl/</link>
		<comments>http://chadaustin.me/2004/12/more-glsl/#comments</comments>
		<pubDate>Fri, 10 Dec 2004 02:26:00 +0000</pubDate>
		<dc:creator>Chad Austin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[opengl]]></category>

		<guid isPermaLink="false">http://aegisknight.org/new/2004/12/09/more-glsl/</guid>
		<description><![CDATA[
Does ATI even test their drivers before they release them?  :P  I&#8217;ve found two bugs in their GLSL implementation already.  One is minor:  the #version preprocessor directive isn&#8217;t supported.  On the other hand, supporting #version would be simple.  A high school intern could add it.  The other one [...]]]></description>
			<content:encoded><![CDATA[<p>
Does ATI even test their drivers before they release them?  :P  I&#8217;ve found two bugs in their GLSL implementation already.  One is minor:  the #version preprocessor directive isn&#8217;t supported.  On the other hand, supporting #version would be simple.  A high school intern could add it.  The other one is more serious.  I must have started exceeding the instruction limits or something because LinkProgramObjectARB was simply crashing when my program got too long.  :o
</p>

<p>
It&#8217;s also way too easy to go into software fallback mode.  The optimizer kind of sucks &#8212; the following code was throwing me into software:
</p>

<pre>
float getOffset(int i) {
  float f = vector[i];
  ...
}

void main() {
  float offset = getOffset(0) + getOffset(1) + getOffset(2) + getOffset(3);
  ...
}
</pre>

<p>
Whereas a simple change took me back into hardware:
</p>

<pre>
float getOffset(float f) {
  ...
}

void main() {
  float offset = getOffset(vector[0]) + getOffset(vector[1]) + getOffset(vector[2]) + getOffset(vector[3]);
  ...
}
</pre>

<p>
Even *I* could write an optimizer better than that.  (And I plan to, by the end of next year.  More later.)  It&#8217;s not like the GPU is complicated:  there&#8217;s a tiny set of instructions, no (well, limited now) branching, and no stack or function call logic.  Linear execution with tons of registers&#8230; a compiler&#8217;s dream!
</p>

<p>
Meh!  I&#8217;m standardizing on GLSL nonetheless.  Hopefully things start to look up.  :)
</p>]]></content:encoded>
			<wfw:commentRss>http://chadaustin.me/2004/12/more-glsl/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>OpenGL Shading Language</title>
		<link>http://chadaustin.me/2004/12/opengl-shading-language/</link>
		<comments>http://chadaustin.me/2004/12/opengl-shading-language/#comments</comments>
		<pubDate>Thu, 09 Dec 2004 18:09:00 +0000</pubDate>
		<dc:creator>Chad Austin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[opengl]]></category>

		<guid isPermaLink="false">http://aegisknight.org/new/2004/12/09/opengl-shading-language/</guid>
		<description><![CDATA[I&#8217;ve been reading the OpenGL Shading Language (hereafter GLSL) specifications for the last few hours.  As we&#8217;re starting to integrate vertex and fragment shaders into Empyrean, I need to make sure I understand all of the concepts so I can fit them into our rendering architecture in a thought-out way.  One of my [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been reading the OpenGL Shading Language (hereafter GLSL) specifications for the last few hours.  As we&#8217;re starting to integrate vertex and fragment shaders into Empyrean, I need to make sure I understand all of the concepts so I can fit them into our rendering architecture in a thought-out way.  One of my previous concerns was that GLSL would be supported on a significantly fewer number of GPUs than ARB_vertex_program and ARB_fragment_program (hereafter ARBvp and ARBfp, respectively).  After some initial research at the <a href="http://www.delphi3d.net/hardware">OpenGL Hardware Registry</a>, I have discovered that my concern is somewhat unwarranted.  GLSL fragment shaders are supported on pretty much the same cards as ARBfp:  Radeon 9500+ and GeForce 5200+.  GLSL vertex shaders, on the other hand, are slightly more restrictive than ARBvp.  ARBvp requires a Radeon 9000+ or a GF2 MX or better.  GLSL vertex shaders need a Radeon 9500 or GF2 GTS.  That&#8217;s really not too bad though.  The convenience and consistency of GLSL is worth the loss of a few older video cards.  (The fact that older Radeons don&#8217;t support GLSL at all concerns me some, but maybe newer drivers will fix that.  And <a href="http://www.steampowered.com/status/survey.html">few people have older Radeons</a> anyway.)</p>

<p>Plus, now I only have to support one type of shading language.  :)  For a student developer, that&#8217;s a godsend.  Only companies like id Software have the resources to write four different rendering paths to maximize hardware support.</p>

<p>So far everything I&#8217;ve talked about is in regards to Windows&#8230;  GLSL is totally hosed on Mac (<a href="http://onesadcookie.is-a-geek.net/cgi-bin/blosxom.cgi/2004/05/28#mac_opengl_bugs">as is OpenGL as a whole</a>) and I&#8217;ve been hearing of problems on the various Linux drivers too.  In fact, my Linux box should in theory support it, but doesn&#8217;t.  Doesn&#8217;t expose the extension strings, at any rate.  But drivers will get better.  It&#8217;s not like there is a fundamental problem here.</p>]]></content:encoded>
			<wfw:commentRss>http://chadaustin.me/2004/12/opengl-shading-language/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

