<?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>Scriptionary Blog &#187; opengl</title>
	<atom:link href="http://blog.scriptionary.com/tag/opengl/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.scriptionary.com</link>
	<description>The informal yet informational sub-site</description>
	<lastBuildDate>Fri, 19 Feb 2010 16:21:55 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Why you should blah blah blah</title>
		<link>http://blog.scriptionary.com/2010/02/19/why-you-should-blah-blah-blah/</link>
		<comments>http://blog.scriptionary.com/2010/02/19/why-you-should-blah-blah-blah/#comments</comments>
		<pubDate>Fri, 19 Feb 2010 16:21:55 +0000</pubDate>
		<dc:creator>Eddy Luten</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[directx]]></category>
		<category><![CDATA[opengl]]></category>

		<guid isPermaLink="false">http://blog.scriptionary.com/?p=292</guid>
		<description><![CDATA[Here&#8217;s another amusing blog post about why one should use OpenGL instead of DirectX (not even Direct3D). Anyone who has been following my posts on OpenGL knows that ever since the release of 3.0, I have not been able to bring myself to support any of Khronos&#8217; efforts.
Now that the 3.2 specification is out, the [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.wolfire.com/2010/01/Why-you-should-use-OpenGL-and-not-DirectX" rel="nofollow">Here&#8217;s another amusing blog post</a> about why one should use OpenGL instead of DirectX (not even Direct3D). Anyone who has been following my posts on OpenGL knows that ever since the release of 3.0, I have not been able to bring myself to support any of Khronos&#8217; efforts.</p>
<p>Now that the 3.2 specification is out, the API seems to be headed in the right direction but I fear that it&#8217;s just <em>too little too late</em>. Whereas OpenGL 3.2 seems to have targeted D3D 10 feverishly, Microsoft was already working on a new iteration of Direct3D in the background. Direct3D 11 once again leaves OpenGL to play catch-up, which they will, but likely too late.</p>
<p>OpenGL has one thing going for it that Direct3D doesn&#8217;t: cross-platform compatibility. If you <em>really</em> have to develop for multiple platforms, use OpenGL. If you just develop for Windows/360, use Direct3D. It almost seems as if we&#8217;re at that great &#8220;games versus industrial application&#8221; API divide again. Any momentum that OpenGL might have gained with 2.1, it has lost with its release of 3.0.</p>
<p><a href="http://www.tomshardware.com/reviews/opengl-directx,2019.html">Here&#8217;s a great article by Tom&#8217;s Hardware</a> explaining the issues better than I ever could.</p>
<p><small>Oh and a happy new year, by the way&#8230;</small></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.scriptionary.com/2010/02/19/why-you-should-blah-blah-blah/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Tom Forsyth On Larrabee</title>
		<link>http://blog.scriptionary.com/2009/03/26/tom-forsyth-on-larrabee/</link>
		<comments>http://blog.scriptionary.com/2009/03/26/tom-forsyth-on-larrabee/#comments</comments>
		<pubDate>Fri, 27 Mar 2009 02:35:32 +0000</pubDate>
		<dc:creator>Eddy Luten</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[directx]]></category>
		<category><![CDATA[intel]]></category>
		<category><![CDATA[Larrabee]]></category>
		<category><![CDATA[opengl]]></category>

		<guid isPermaLink="false">http://blog.scriptionary.com/?p=148</guid>
		<description><![CDATA[Today Intel released it&#8217;s new issue of &#8220;Intel Visual Adrenaline&#8221; featuring a three page interview with Tom Forsyth about Intel&#8217;s upcoming Larrabee GPU, which is x86 based and fully programmable.
Click here to read the PDF, scroll down to page eight (8)
Larrabee will support a rasterization pipeline as well as raytracing but Forsyth mentions raytracing to [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://blog.scriptionary.com/wp-content/uploads/2009/03/logo_1.gif" alt="Intel Logo" title="Intel Logo" style="float: left; border: none;" />Today Intel released it&#8217;s new issue of &ldquo;Intel Visual Adrenaline&rdquo; featuring a three page interview with Tom Forsyth about Intel&#8217;s upcoming Larrabee GPU, which is x86 based and fully programmable.</p>
<p><a href="http://isdlibrary.intel-dispatch.com/vc/2314/VA3mag_031909_100dpi_hotlinked_%20final.pdf" target="_blank">Click here to read the PDF, scroll down to page eight (8)</a></p>
<p>Larrabee will support a rasterization pipeline as well as raytracing but Forsyth mentions raytracing to be more of a technical feature than a mainstream implementation. Regardless of this, for graphics programmers this should be good as there will finally be a piece of hardware that actually supports realtime raytracing.</p>
<p>Direct3D as well as OpenGL will be supported in addition to the much anticipated programmable route, either through C++ or pure assembly, which should open up the card for people interested in parallel computing.</p>
<p>Sadly there&#8217;s no definitive answer from Forsyth on how many cores Larrabee will actually contain. I guess we&#8217;ll have to wait for that a bit longer.</p>
<p>PS, if anyone is at GDC listening to <a href="https://www.cmpevents.com/GD09/a.asp?option=C&#038;V=11&#038;SessID=9138" target="_blank">Abrash</a> and <a href="https://www.cmpevents.com/GD09/a.asp?option=C&#038;V=11&#038;SessID=9139" target="_blank">Forsyth</a> tomorrow, let me know what you got from it.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.scriptionary.com/2009/03/26/tom-forsyth-on-larrabee/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>OpenGL 3.1 Specification Released</title>
		<link>http://blog.scriptionary.com/2009/03/25/opengl-31-specification-released/</link>
		<comments>http://blog.scriptionary.com/2009/03/25/opengl-31-specification-released/#comments</comments>
		<pubDate>Wed, 25 Mar 2009 15:33:17 +0000</pubDate>
		<dc:creator>Eddy Luten</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[NVIDIA]]></category>
		<category><![CDATA[opengl]]></category>

		<guid isPermaLink="false">http://blog.scriptionary.com/?p=145</guid>
		<description><![CDATA[I haven&#8217;t been active at all in the OpenGL circles recently but apparently OpenGL 3.1 was released yesterday. Check out the specs by clicking here at Khronos.ORG.
I have been extremely skeptical about OpenGL 3.0 since it was more like an OpenGL 2.2 and did not implement any of the promised object oriented features that competing [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://blog.scriptionary.com/wp-content/uploads/2008/05/ogl1.jpg" alt="The OpenGL logo" title="OpenGL Logo" style="float: right; border: none; margin-left: 5px;" />I haven&#8217;t been active at all in the OpenGL circles recently but apparently OpenGL 3.1 was released yesterday. <a href="http://www.khronos.org/opengl/" target="_blank">Check out the specs by clicking here at Khronos.ORG</a>.</p>
<p>I have been extremely skeptical about OpenGL 3.0 since it was more like an OpenGL 2.2 and did not implement any of the promised object oriented features that competing APIs like Direct3D implement. Thankfully, this release of OpenGL 3.1 seems to be better at first glance as it not only deprecates but removes the old functionality which has been in the way for so long.</p>
<p>It looks like Khronos has heard and listened to its outraged end-users and finally created a better specification. At least, upon first glance, that&#8217;s what it looks like.</p>
<p>With the release of OpenGL 3.1 also comes a new version of GLSL, version 1.40. Most excitingly, <a href="http://developer.nvidia.com/object/opengl_3_driver.html" target="_blank">NVIDIA has released OpenGL 3.1 drivers</a> immediately after the release of GL, showing that they&#8217;re <em>way ahead</em> in the game already (as opposed to AMD or Intel).</p>
<p>It is amazing to me that no major outlets such as Slashdot have picked up this this story and one has to find out about 3.1 by accident or RSS feeds.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.scriptionary.com/2009/03/25/opengl-31-specification-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Why I Don&#8217;t Switch To Linux Just Yet</title>
		<link>http://blog.scriptionary.com/2009/03/18/why-i-dont-switch-to-linux-just-yet/</link>
		<comments>http://blog.scriptionary.com/2009/03/18/why-i-dont-switch-to-linux-just-yet/#comments</comments>
		<pubDate>Wed, 18 Mar 2009 14:19:01 +0000</pubDate>
		<dc:creator>Eddy Luten</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[C]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[opengl]]></category>

		<guid isPermaLink="false">http://blog.scriptionary.com/?p=77</guid>
		<description><![CDATA[Even though I prefer my web servers to run Linux, I just can&#8217;t seem to switch my personal computer to Linux just yet. From an end-user standpoint, Linux is still very rough around the edges, here&#8217;s my personal checklist (in no particular order) that I&#8217;d like to see fulfilled.

The ability to install a piece of [...]]]></description>
			<content:encoded><![CDATA[<p>Even though I prefer my web servers to run Linux, I just can&#8217;t seem to switch my personal computer to Linux just yet. From an end-user standpoint, Linux is still very rough around the edges, here&#8217;s my personal checklist (in no particular order) that I&#8217;d like to see fulfilled.</p>
<ul>
<li>The ability to install a piece of software without having to invoke a <acronym title="Command Line Interface">CLI</title>.</li>
<li>A full-featured development environment (that&#8217;s not Eclipse) that rivals Visual Studio in C++ development.</li>
<li>A non-Unix-like file system.</li>
<li>Better manual when you <em>buy</em> a distribution (SUSE manual: case and point).</li>
<li>Better <acronym title="Independent Hardware Vendor">IHV</acronym> driver support.</li>
<li>Better native <acronym title="Independent Software Vendor">ISV</acronym> software support without having to run Wine.</li>
<li>And the coup de grâce: An OpenGL specification that can compete with Direct3D.</li>
</ul>
<p>Don&#8217;t get me wrong, I have nothing against Linux itself, in fact much of my development time goes into <acronym title="Linux Apache MySQL (PHP|Python|Perl|etc.)">LAMP</acronym> related work. But for the desktop it just seems like a CLI-ridden nightmare at the moment.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.scriptionary.com/2009/03/18/why-i-dont-switch-to-linux-just-yet/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>OpenGL 3.0 &#8211; 1 hour after</title>
		<link>http://blog.scriptionary.com/2008/08/11/opengl-3-0-1-hour-after/</link>
		<comments>http://blog.scriptionary.com/2008/08/11/opengl-3-0-1-hour-after/#comments</comments>
		<pubDate>Mon, 11 Aug 2008 14:57:05 +0000</pubDate>
		<dc:creator>Eddy Luten</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[opengl]]></category>

		<guid isPermaLink="false">http://blog.scriptionary.com/?p=35</guid>
		<description><![CDATA[Artistic License?
Once upon a time there was a little old API, struggling for its life amongst the giants of software. Little old OpenGL knew that in order to survive it had to adapt to a strange, bewildering and new environment; it was a strange new world indeed. For two years, rumors of old OpenGL&#8217;s struggles [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Artistic License?</strong></p>
<blockquote cite="Artistic License?"><p>Once upon a time there was a little old API, struggling for its life amongst the giants of software. Little old OpenGL knew that in order to survive it had to adapt to a strange, bewildering and new environment; it was a strange new world indeed. For two years, rumors of old OpenGL&#8217;s struggles reached the user-groups and there was much rejoicing indeed. But on one faithful day, August the 11<sup>th</sup> of 2008, OpenGL perished. Its age and idleness had (as with all things good and bad) caught up with him and slayed little old OpenGL in its path.</p></blockquote>
<p>After reading <a href="http://opengl.org/registry/doc/glspec30.20080811.pdf">the spec</a> and looking <strong>desperately</strong> for the promised <a href="http://blog.scriptionary.com/2008/05/15/why-opengl-30-is-important/">object model</a>, I felt quite like a <em>(self-censored)</em> taking the newsletters seriously and writing about them so explicitly.</p>
<p>For those who haven&#8217;t read the specification yet, it&#8217;s OpenGL 2.1 plus and minus some stuff, <em>hardly the fruition of two years labor</em>. The anticipation that followed the initial announcement of OpenGL 3.0&#8217;s Object Model was tremendous. For the first time in a long time, people started noticing OpenGL again and maybe a place for it in modern multimedia applications such as PC games besides <a href="http://www.idsoftware.com/">id Software</a>&#8217;s titles.</p>
<p>Alas, it was not to be. Woe is me for my old API is truly dead. D3D, hello.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.scriptionary.com/2008/08/11/opengl-3-0-1-hour-after/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OpenGL 3.0 Specification &#8211; August 2008</title>
		<link>http://blog.scriptionary.com/2008/08/11/opengl-30-specification-august-2008/</link>
		<comments>http://blog.scriptionary.com/2008/08/11/opengl-30-specification-august-2008/#comments</comments>
		<pubDate>Mon, 11 Aug 2008 13:26:26 +0000</pubDate>
		<dc:creator>Eddy Luten</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[opengl]]></category>

		<guid isPermaLink="false">http://blog.scriptionary.com/?p=34</guid>
		<description><![CDATA[It&#8217;s here, (Edit: It&#8217;s official) haven&#8217;t read it yet but here it is:
The OpenGL &#174; Graphics System: A Specification (Version 3.0 &#8211; August 11, 2008)
Link to the registry containing the link
Let me know what you think of it, thanks nosmileface!
]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s here, (Edit: It&#8217;s official) haven&#8217;t read it yet but here it is:</p>
<p><a href="http://opengl.org/registry/doc/glspec30.20080811.pdf">The OpenGL &reg; Graphics System: A Specification (Version 3.0 &#8211; August 11, 2008)</a><br />
<a href="http://www.opengl.org/registry/">Link to the registry containing the link</a></p>
<p>Let me know what you think of it, thanks <i>nosmileface</i>!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.scriptionary.com/2008/08/11/opengl-30-specification-august-2008/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>NVIDIA to Release OpenGL 3.0 Drivers September</title>
		<link>http://blog.scriptionary.com/2008/07/25/nvidia-to-release-opengl-3-0-drivers-september/</link>
		<comments>http://blog.scriptionary.com/2008/07/25/nvidia-to-release-opengl-3-0-drivers-september/#comments</comments>
		<pubDate>Fri, 25 Jul 2008 13:54:22 +0000</pubDate>
		<dc:creator>Eddy Luten</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[NVIDIA]]></category>
		<category><![CDATA[nvision]]></category>
		<category><![CDATA[opengl]]></category>
		<category><![CDATA[siggraph]]></category>

		<guid isPermaLink="false">http://blog.scriptionary.com/?p=33</guid>
		<description><![CDATA[It&#8217;s been a while since I posted but this one will make up for it. A messy screenshot of NVIDIA&#8217;s 2008 timeline has emerged on Chilehardware (CHW) and reveals that OpenGL 3.0 drivers/implementation will be due in September of this year in a collection called Big Bang II (Big Bang I was SLI).
CHW member KaiserGerhardI [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s been a while since I posted but this one will make up for it. <a href="http://www.chw.net/foro/nvidia-lanzara-big-bang-ii-en-septiembre-t170487.html">A messy screenshot</a> of NVIDIA&#8217;s 2008 timeline has emerged on Chilehardware (CHW) and reveals that OpenGL 3.0 drivers/implementation will be due in September of this year in a collection called Big Bang II (Big Bang I was SLI).</p>
<p>CHW member<a href="http://www.chw.net/foro/nvidia-lanzara-big-bang-ii-en-septiembre-t170487p2.html#post2167143"> KaiserGerhardI has provided a deciphering</a> of the screenshot which provides more information on the contents of the screenshot:</p>
<ul>
<li>First: Quad ?????? Release February</li>
<li>Hybrid Shipped Spring</li>
<li>Spring Notebook Cycle</li>
<li>GT200 + ????</li>
<li>Big Bang II-Fall Will Focus on
<ul>
<li>Now/WWW features</li>
<li>SLI connectivity features</li>
<li>Display connectivity</li>
<li>Quality improvements</li>
<li>Performance improvements</li>
<li>OpenGL 3.0</li>
</ul>
</li>
</ul>
<p>The words which could not be deciphered are marked with question marks. What this means for OpenGL enthusiasts and developers is that we won&#8217;t have to attend SIGGRAPH, NVISION or any other meeting for that matter, since this is basically a confirmation on its own.</p>
<p>Now, let&#8217;s hope that ATI will also provide an implementation this soon.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.scriptionary.com/2008/07/25/nvidia-to-release-opengl-3-0-drivers-september/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Why OpenGL 3.0 is Important</title>
		<link>http://blog.scriptionary.com/2008/05/15/why-opengl-30-is-important/</link>
		<comments>http://blog.scriptionary.com/2008/05/15/why-opengl-30-is-important/#comments</comments>
		<pubDate>Thu, 15 May 2008 19:36:35 +0000</pubDate>
		<dc:creator>Eddy Luten</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[directx]]></category>
		<category><![CDATA[opengl]]></category>

		<guid isPermaLink="false">http://blog.scriptionary.com/?p=21</guid>
		<description><![CDATA[Some questions have come up in regards to my last post, The Ghost of OpenGL 3.0, and one of them keeps popping out on top: Why do we need OpenGL 3.0 and What&#8217;s wrong with OpenGL 2.1? This post will attempt to take you through the pre-published materials on the OpenGL API, version 3.0 and [...]]]></description>
			<content:encoded><![CDATA[<p>Some questions have come up in regards to my last post, <a href="http://blog.scriptionary.com/2008/05/08/the-ghost-of-opengl-30/">The Ghost of OpenGL 3.0</a>, and one of them keeps popping out on top: <em>Why do we need OpenGL 3.0</em> and <em>What&#8217;s wrong with OpenGL 2.1</em>? This post will attempt to take you through the pre-published materials on the OpenGL API, version 3.0 and show you the major changes and differences. Or you could simple <a href="http://blog.scriptionary.com/2008/05/15/why-opengl-30-is-important/#twovsthree">jump to the answer</a> and conclusion without reading the features provided by OpenGL 3.0, if you don&#8217;t feel like getting informed.<br />
<span id="more-21"></span><br />
<strong>TOC:</strong></p>
<ol>
<li><a href="http://blog.scriptionary.com/2008/05/15/why-opengl-30-is-importantwhy-opengl-30-is-important/#hw-evo">Hardware Evolution</a></li>
<li><a href="http://blog.scriptionary.com/2008/05/15/why-opengl-30-is-importantwhy-opengl-30-is-important/#sw-side">The Software Side</a>
<ol>
<li><a href="http://blog.scriptionary.com/2008/05/15/why-opengl-30-is-importantwhy-opengl-30-is-important/#objects">Objects</a></li>
<li><a href="http://blog.scriptionary.com/2008/05/15/why-opengl-30-is-importantwhy-opengl-30-is-important/#asynch">Asynchronous Transactions</a></li>
<li><a href="http://blog.scriptionary.com/2008/05/15/why-opengl-30-is-importantwhy-opengl-30-is-important/#backward">Backwards Compatibility</a></li>
<li><a href="http://blog.scriptionary.com/2008/05/15/why-opengl-30-is-importantwhy-opengl-30-is-important/#fixedfunction">Goodbye, Fixed Function Pipeline</a></li>
</ol>
</li>
<li><a href="http://blog.scriptionary.com/2008/05/15/why-opengl-30-is-importantwhy-opengl-30-is-important/#twovsthree">So, what&#8217;s wrong with 2.1?</a></li>
<li><a href="http://blog.scriptionary.com/2008/05/15/why-opengl-30-is-importantwhy-opengl-30-is-important/#conclusion">Conclusion</a></li>
</ol>
<p><strong>Terms used:</strong><br />
<em>Mutable</em>: something which <em>can</em> change shape or form.<br />
<em>Immutable</em>: something which <em>cannot</em> change shape or form.<br />
<em>API</em>: Application Programming Interface, an interface designed to allow transactions with a library or application.</p>
<p><a name="hw-evo"></a><br />
<h1>Hardware Evolution</h1>
<div style="text-align: center; margin: 5pt; float: right; border: 1px solid silver; padding: 5pt;"><img src="http://blog.scriptionary.com/wp-content/uploads/2008/05/geforce-100x75.jpg" alt="A GeForce 880 Video Card" title="A GeForce 880 Video Card" width="100" height="75" /><br /><small>Image by: <a href="http://flickr.com/photos/02/440945826/" target="_blank">Rooka</a></small></div>
<p>Besides being a graphics API, OpenGL sets a standard for IHVs (Independent Hardware Vendors) to comply with. By doing this, we can be sure that a certain type of hardware is compliant with a specific set of demands, not unlike what Microsoft has been doing with DirectX 10 and higher, albeit not an open standard. For example, OpenGL 2.0 formally introduced the GLSL (OpenGL Shading Language) which was not available in 1.5, thus forcing IHVs to implement the capabilities according to the OpenGL standard.</p>
<p>A comparison with the Direct3D side of things would be the enforcement of Direct3D 10.1 compliance by setting a mandatory requirement of 4x anti-aliasing.</p>
<p>OpenGL 3.0 is said to be able to function on OpenGL 2.1/DirectX 9 level hardware, so basically anything from the GeForce FX series and upwards (supporting High Level shaders).</p>
<p><a name="sw-side"></a><br />
<h1>The Software Side</h1>
<p><img src="http://blog.scriptionary.com/wp-content/uploads/2008/05/ogl1-100x48.jpg" alt="The OpenGL logo" title="The OpenGL logo" width="100" height="48" style="float: left; margin: 5pt;" />Most of the readers here are programmers, so the hardware side of the OpenGL standard will probably be less interesting to you than the features OpenGL 3.0 will bring. We all know that the OpenGL 3.0 specification has <a href="http://blog.scriptionary.com/2008/05/08/the-ghost-of-opengl-30/">not yet been finalized</a>, so all material discussed here is subject to change and compiled from various sources which I will list at the end of the post.</p>
<p><a name="objects"></a><br />
<h2>Objects</h2>
<div style="text-align: center; margin: 5pt; float: right; border: 1px solid silver; padding: 5pt;"><img src="http://blog.scriptionary.com/wp-content/uploads/2008/05/blocks-100x75.jpg" alt="Building Blocks" title="Building Blocks" width="100" height="75" /><br /><small>Image by: <a href="http://flickr.com/photos/stilleben2001/212593899/" target="_blank">stilleben2001</a></small></div>
<p>One of the major changes that OpenGL 3.0 will introduce is the usage of objects. Yes, the specification is still specified through the C programming language which natively does not support the OOP (Object Oriented Programming) paradigm but a way around this is being implemented.</p>
<p>The objects themselves are similar to native C <code>struct</code>s which are used for creating user-defined data-types. Please note that I refrain from using the word <em>class</em> since a class is a data-type on its own, not found in the C programming language nor used in combination with the OpenGL API.</p>
<p>So far, four object categories have been announced, namely:</p>
<ul>
<li><strong>Templates</strong>
<ul>
<li>Put in simple terms: a placeholder for the definition of a specific object type. Attributes can be set to fulfill the creation of a specific object type. For example, to create an &#8220;image&#8221; object, one must first create a template object with specific parameters for the creation of the image object, set the attributes required for the object and pass it to an image object constructor function, e.g.: <code>glCreateTemplate(GL_IMAGE_OBJECT);</code> returns a <code>GLtemplate</code> object, after which attributes are applied, <code>glCreateImage(<em>variable to GLtemplate object</em>);</code> returns the handle to an image object (see <em>Data Objects</em> below) constructed according to the attributes supplied to the image template. Templates may be modified at any time since they are defined and stored on the client-side.</li>
</ul>
</li>
<li><strong>State Objects</strong>
<ul>
<li>State Objects are simple objects containing a specific set of attributes applicable to multiple objects. State Objects are partially mutable once created, meaning that only certain aspects of the object can be altered after it has been constructed.</li>
</ul>
</li>
<li><strong>Data Objects</strong>
<ul>
<li>The example given above at <em>Templates</em> talked about an &#8220;image object&#8221; which contains image data, stored in a Data Object. These objects have an immutable structure but the data is mutable. These Data Objects get stored VRAM (or RAM depending on the implementation) and can be shared amongst multiple contexts. Examples of Data Objects are Image Objects and Buffer Objects.</li>
</ul>
</li>
<li><strong>Container Objects</strong>
<ul>
<li>The best way to describe a Container Object is by the example of the VAO (Vertex Array Object). The VAO represents a piece of geometry by describing an array of vertices stored in memory and may not be referenced amongst multiple contexts. The Container Object contains a mutable attachment (VAO: Vertex Buffer) and immutable attachment properties.</li>
</ul>
</li>
</ul>
<p>This new object-based system seems to be the biggest part of the restructuring of the standard and it certainly opens up a new realm of possibilities for IHVs/driver implementers. By abstracting the objects to the server-side, the underlying driver code can be optimized to handle the new data-types more efficiently. The more the API pushes to the server-side, the better the performance can potentially be optimized.</p>
<p><a name="asynch"></a><br />
<h2>Asynchronous Transactions</h2>
<div style="text-align: center; margin: 5pt; float: right; border: 1px solid silver; padding: 5pt;"><img src="http://blog.scriptionary.com/wp-content/uploads/2008/05/synch-100x75.jpg" alt="Synchronous requests? A thing of the past." title="Synchronous requests? A thing of the past." width="100" height="75" class="alignnone size-thumbnail wp-image-24" /><br /><small>Image by: <a href="http://flickr.com/photos/jamescridland/2271827325/" target="_blank">James Cridland</a></small></div>
<p>While this basically falls under the &#8220;Objects&#8221; heading, it&#8217;s a feature worth mentioning alone. In an effort to improve parallelism, Object creation calls are asynchronous. This means that during the time that an object is being created, a valid handle to the object has already been returned for usage, even before the object&#8217;s resources have actually been allocated.</p>
<p>What this means is that more commands can be executed on the client side while the server-side takes care of the execution thus resulting in a faster command chain.</p>
<p><a name="backward"></a><br />
<h2>Backwards Compatibility</h2>
<div style="text-align: center; margin: 5pt; float: right; border: 1px solid silver; padding: 5pt;"><img src="http://blog.scriptionary.com/wp-content/uploads/2008/05/gl3backwards.png" alt="OpenGL 3.0 Backwards Compatibility" title="OpenGL 3.0 Backwards Compatibility" width="100" height="100" /></div>
<p>The OpenGL API has always been backwards compatible throughout its revisions and OpenGL 3.0 will not be an exception. Plans have been made to retain backwards compatibility with the current OpenGL 2.1 standard without breaking older applications.</p>
<p>Another feature, which has not been set in stone, is the manner of interoperability between OpenGL 3.0 and 2.1 which would allow an OpenGL 2.1 application to attain an OpenGL 3.0 rendering context.</p>
<p><a name="fixedfunction"></a><br />
<h2>Goodbye, Fixed Function Pipeline</h2>
<p>OpenGL 3.0 removes the fixed function pipeline which was eradicated in the Direct3D API in version 10. This means that many parts of a normal graphics pipeline are now programmable. This is a huge shift towards the future of a fully-programmable graphics pipeline which would be the definitive step in perfecting a graphics API.</p>
<p>The removal of the so-called &#8220;fixed function&#8221; pipeline means that all graphical output has to be defined through the &#8220;programmable pipeline&#8221; though a mechanism often called &#8220;Shaders.&#8221; Shaders are programmed in a language called the OpenGL Shading Language (GLSL or glslang) or through an intermediary language such as Cg. Shaders not only allow for shading the geometry but also the transformation of its vertices (vertex shader) and individual pixels (fragment shader).</p>
<p>If you&#8217;ve read the heading above this one, you&#8217;ll notice that OpenGL 3.0 is backwards compatible with older versions which support the fixed pipeline functionality. OpenGL also supports these functions but internally these are transformed into the form of shaders.</p>
<p>OpenGL version &#8220;Mount Evans&#8221;, which will be released <em>after</em> OpenGL 3.0, will support the functionality provided by Geometry Shaders which allows for the manipulation of &#8220;pieces&#8221; of geometry and generation of new geometry as well. This allows the programmer to take advantage of currently available hardware-accelerated functionality such as tessellation. Even though this functionality is <em>said</em> to be provided after 3.0 has been released, it is likely that this functionality will be provided with the formal release of OpenGL 3.0 instead.</p>
<p><a name="twovsthree"></a><br />
<h1>So, what&#8217;s wrong with 2.1?</h1>
<p>By now you might have noticed that I haven&#8217;t exactly formally answered the question &#8220;What&#8217;s wrong with OpenGL 2.1?&#8221; The answer is: There&#8217;s nothing wrong with OpenGL 2.1.. informally. OpenGL 2.1 is a very capable API which <em>could</em> support many of the features that OpenGL 3.0 incorporated. The big difference is of course that the functionality in OpenGL 3.0 will be a formal standard while the 3.0-like functionality in OpenGL 2.1 is provided through IHV-developed OpenGL extensions which may differ from one and other.</p>
<p>The above, and the fact that the new API works with Objects, is causing the anticipation. OpenGL 3.0 will formally push the API into the next-generation era and will finally be able to compete with Direct3D 10, which is why OpenGL 3.0 is important.</p>
<p><a name="conclusion"></a><br />
<h1>Conclusion</h1>
<div style="text-align: center; margin: 5pt; float: right; border: 1px solid silver; padding: 5pt;"><img src="http://blog.scriptionary.com/wp-content/uploads/2008/05/ogl1-100x48.jpg" alt="The OpenGL logo" title="OpenGL Logo" width="100" height="48" /><br /><small>The OpenGL API Logo</small></div>
<p>As said above, OpenGL 3.0 will push the API into the next generation. In my personal opinion, the new structure of OpenGL 3.0 could severely compromise the position of Direct3D in the Microsoft Windows gaming market since the functionality provided with OpenGL 3.0 will also work on Windows XP, unlike Direct3D 10. Vista is still being viewed upon as somewhat of a quirky Operating System and many developers and users are sticking with XP for the time being.</p>
<p>I&#8217;d like to conclude by saying that this post does <strong>not</strong> present all of the new published features in OpenGL 3.0, rather it lists the features which I find most compelling about the new API. Also, I&#8217;m not affiliated with the Khronos Group in any way so everything you read here is non-official and compiled from various online sources, talking about the unfinished and proposed API. Last but not least, I don&#8217;t guarantee the correctness of the article, nor the correctness of the sources used &#8212; correct me if I&#8217;m wrong about something.</p>
<h2>Sources Used</h2>
<ul>
<li><a href="http://www.opengl.org/pipeline/">OpenGL Pipeline Newsletters</a></li>
<li><a href="http://www.opengl.org/discussion_boards/">OpenGL.ORG Discussion Boards</a></li>
<li><a href="http://en.wikipedia.org/wiki/OpenGL">Wikipedia article on OpenGL</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.scriptionary.com/2008/05/15/why-opengl-30-is-important/feed/</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
		<item>
		<title>OpenGL 3.0 &#8211; an update</title>
		<link>http://blog.scriptionary.com/2008/05/13/opengl-30-an-update/</link>
		<comments>http://blog.scriptionary.com/2008/05/13/opengl-30-an-update/#comments</comments>
		<pubDate>Tue, 13 May 2008 21:44:35 +0000</pubDate>
		<dc:creator>Eddy Luten</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[opengl]]></category>
		<category><![CDATA[siggraph]]></category>

		<guid isPermaLink="false">http://blog.scriptionary.com/?p=25</guid>
		<description><![CDATA[And we have some sort of news &#8212; dare I say finally? OpenGL 3.0 updates will be presented at the OpenGL BOF at SIGGRAPH 2008, although neither a room nor a time have been announced. Keep your eyes on this page for updates.
SIGGRAPH 2008 runs from August 11th till August 15th 2008 in Los Angeles, [...]]]></description>
			<content:encoded><![CDATA[<p>And we have some sort of news &#8212; dare I say <em>finally</em>? OpenGL 3.0 updates will be presented at the OpenGL BOF at SIGGRAPH 2008, although neither a room nor a time have been announced. Keep your eyes on <a href="http://www.opengl.org/events/details/siggraph_2008_los_angeles_california/">this page for updates</a>.</p>
<p>SIGGRAPH 2008 runs from August 11<sup>th</sup> till August 15<sup>th</sup> 2008 in Los Angeles, California; let&#8217;s keep our fingers crossed for some good news from the Khronos camp.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.scriptionary.com/2008/05/13/opengl-30-an-update/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>The Ghost of OpenGL 3.0</title>
		<link>http://blog.scriptionary.com/2008/05/08/the-ghost-of-opengl-30/</link>
		<comments>http://blog.scriptionary.com/2008/05/08/the-ghost-of-opengl-30/#comments</comments>
		<pubDate>Thu, 08 May 2008 20:18:25 +0000</pubDate>
		<dc:creator>Eddy Luten</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[directx]]></category>
		<category><![CDATA[opengl]]></category>

		<guid isPermaLink="false">http://blog.scriptionary.com/?p=16</guid>
		<description><![CDATA[OpenGL 3.0 seems to become more and more of a promise that&#8217;s bound to be broken; like a friend who promises you to give back the money you loaned him, always tomorrow.

The expected API promises many new features, enhancements and is the first total rewrite of the existing OpenGL Standard. The API promises an interface [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://blog.scriptionary.com/wp-content/uploads/2008/05/ogl1-100x48.jpg" alt="The OpenGL logo" title="The OpenGL logo" width="100" height="48" style="float: right; margin: 5px;" /><span style=" font-weight: bold; color: maroon;">OpenGL 3.0 seems to become more and more of a promise that&#8217;s bound to be broken; like a friend who promises you to give back the money you loaned him, always <em>tomorrow</em>.</span><br />
<span id="more-16"></span><br />
The expected API promises many new features, enhancements and is the first total rewrite of the existing OpenGL Standard. The API promises an interface compatible with the next generation of computer graphics programming and is set to compete with Microsoft&#8217;s DirectX 10.</p>
<p>Well, that&#8217;s the plan at least. OpenGL 3.0 has been delayed tremendously since its scheduled release in October of 2007. On October 30<sup>th</sup> of 2007,  ARB member Barthold Lichtenbelt (<a href="http://www.nvidia.com/">NVIDIA</a> employee) made an <a href="http://www.opengl.org/discussion_boards/ubbthreads.php?ubb=showflat&#038;Number=229374">official announcement</a> on the <a href="http://opengl.org/">OpenGL.ORG</a> forums claiming that the release date was postponed until further notice because &ldquo;<em>[the OpenGL Working group] don&#8217;t want to spend time fixing mistakes made in haste</em>.&rdquo;</p>
<p>The announcement settled fine with most of the OpenGL community since at least there was news. But after 7 months of neither news nor updates, some of the community is giving up on (or dismissing) the possibility of a new API at all.</p>
<p>But is it really possible to <em>give up</em> on OpenGL? The API is pretty much the only viable hardware accelerated option on platforms other than Microsoft Windows, and even on Windows many developers are reluctant to switch from XP to Windows Vista in order to take advantage of Direct3D 10.</p>
<p><img src="http://blog/scriptionary.com/wp-content/uploads/2008/05/khronos_180px-100x27.png" alt="Khronos Group logo" title="Khronos Group logo"  style="float: right; margin: 5px;" />The <a href="http://www.khronos.org/">Khronos Group</a> have been putting out updates on the other software which they maintain the standards of with the exception of their most popular/anticipated one, OpenGL.</p>
<p>So what does that mean? Either OpenGL is being actively developed on and public discussion is prohibited per NDA, or development has halted and there is reluctance in releasing the bad news. My hopes are up for the former option since the OpenGL API is without a doubt the most flexible Graphics API available today.</p>
<p>Of course, there is a third option which is quite scary and different. Khronos has been publishing information on a new API called <a href="http://www.khronos.org/openkode/">OpenKODE</a> which bundles several APIs in a DirectX-like manner of platform abstraction. Maybe the OpenGL API will become a part of this which would set back the development even more, but this is (as are the other options) a wild guess.</p>
<p>If there&#8217;s one thing to consider, it&#8217;s the fact that OpenGL is a standard (a definition), not an implementation. Which means that the actual source code for 3.0 would have to implemented by: <strong>A.</strong> the independent hardware vendors or <strong>B.</strong> the platform developers. So even if the OpenGL 3.0 API would be released today, the actual libraries wouldn&#8217;t be available yet since the implementation would be missing.</p>
<p>All in all, I think we&#8217;re still very far away from seeing a workable OpenGL 3.0 implementation that&#8217;s supported &#8216;cross-platform. For now we&#8217;ll just have to do with OpenGL 2.1 or Direct3D 10, which in many cases, is a limited set of options that&#8217;s impossible to choose from.</p>
<div style="margin: 5px; border: 1px solid silver; background-color: #FFE; padding: 5px;"><strong>Edit:</strong> Check out the comments below for some insightful discussion on the OpenGL 3.0 matter.</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.scriptionary.com/2008/05/08/the-ghost-of-opengl-30/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Direct3D, OpenGL and XNA Fieldguide</title>
		<link>http://blog.scriptionary.com/2008/04/11/direct3d-opengl-and-xna-fieldguide/</link>
		<comments>http://blog.scriptionary.com/2008/04/11/direct3d-opengl-and-xna-fieldguide/#comments</comments>
		<pubDate>Fri, 11 Apr 2008 14:30:14 +0000</pubDate>
		<dc:creator>Eddy Luten</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[directx]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[opengl]]></category>
		<category><![CDATA[xna]]></category>

		<guid isPermaLink="false">http://blog.scriptionary.com/2008/04/11/direct3d-opengl-and-xna-fieldguide/</guid>
		<description><![CDATA[I&#8217;m happy to announce that the &#8220;Direct3D, OpenGL and XNA Fieldguide&#8221; is back and improved. The article outlines the pros and cons of the major graphics APIs available and should be a useful reference in the back of every beginner graphics programmer&#8217;s mind.
]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m happy to announce that the &#8220;<a href="http://scriptionary.com/Direct3D%2C_OpenGL_and_XNA_Fieldguide">Direct3D, OpenGL and XNA Fieldguide</a>&#8221; is back and improved. The article outlines the pros and cons of the major graphics APIs available and should be a useful reference in the back of every beginner graphics programmer&#8217;s mind.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.scriptionary.com/2008/04/11/direct3d-opengl-and-xna-fieldguide/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>NVIDIA Opens Up GPU Gems</title>
		<link>http://blog.scriptionary.com/2008/04/01/nvidia-opens-up-gpu-gems/</link>
		<comments>http://blog.scriptionary.com/2008/04/01/nvidia-opens-up-gpu-gems/#comments</comments>
		<pubDate>Tue, 01 Apr 2008 18:56:10 +0000</pubDate>
		<dc:creator>Eddy Luten</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[book]]></category>
		<category><![CDATA[free stuff]]></category>
		<category><![CDATA[gpu gems]]></category>
		<category><![CDATA[NVIDIA]]></category>
		<category><![CDATA[opengl]]></category>

		<guid isPermaLink="false">http://blog.scriptionary.com/2008/04/01/nvidia-opens-up-gpu-gems/</guid>
		<description><![CDATA[NVIDIA has decided to publish the acclaimed GPU Gems book on their website, free of charge. Go to the NVIDIA website to read it. Did I mention it was free? Its free.
]]></description>
			<content:encoded><![CDATA[<p><img src="http://blog.scriptionary.com/wp-content/uploads/2008/04/cover_200.thumbnail.jpg" alt="GPU Gems Cover" style="margin: 5px; float: left" />NVIDIA has decided to publish the acclaimed <em>GPU Gems</em> book on their website, <strong>free of charge</strong>. Go to the <a href="http://developer.nvidia.com/object/gpu_gems_home.html" title="NVIDIA GPU Gems" target="_blank">NVIDIA website</a> to read it. Did I mention it was free? Its free.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.scriptionary.com/2008/04/01/nvidia-opens-up-gpu-gems/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
