OpenGL 3.0: Finally some news!

2 minute read

After waiting for a long time an update has been issued about the OpenGL 3.0 specification. While this is an update, there is still no specification but the promise that the OpenGL ARB is working hard on the spec is below.

You understandably want to know where the OpenGL 3 specification is. I have good news and some bad news. First the bad news. Obviously, the specification isn’t out yet. The OpenGL ARB found, after careful review, some unresolved issues that we want addressed before we feel comfortable releasing a specification. The good news is that we’ve greatly improved the specification since Siggraph 2007, added some functionality, and flushed out a whole lot of details. None of these issues we found are of earth-shocking nature, but we did want them discussed and resolved to make absolutely sure we are on the right path, and we are. Rest assured we are working as hard as we can on getting the specification done. The ARB meets 5 times a week, and has done so for the last two months, to get this out to you as soon as possible. Getting a solid specification put together will also help us with the follow-ons to OpenGL 3: OpenGL Longs Peak Reloaded and Mount Evans. We don’t want to spend time fixing mistakes made in haste.

Here’s a list of OpenGL 3 features and changes that we decided on since Siggraph 2007:

  • State objects can be partially mutable, depending on the type of the state object. These state objects can still be shared across contexts. This helps in reducing the number of state objects needed in order to control your rendering pipeline. For example, the alpha test reference value is a candidate to be mutable.
  • We set a minimum bar required for texturing and rendering. This includes:
    • 16 bit floating point support is now a requirement for textures and renderbuffers. Supporting texture filtering and blending is still option for these formats.
    • S3TC is a required texture compression format
    • Interleaved depth/stencil is a required format for FBO rendering
    • At least one GL3-capable visual or pixel format must be exported which supports front-buffered rendering.
  • OpenGL 3 will not have support for the GL_DOUBLE token. This means it will not be possible to send double precision vertex data to OpenGL.
  • A format object has to be specified per texture attachment when a Program Environment Object is created. This helps minimize the shader re-compiles the driver might have to do when it discovers that the combination of shader and texture formats isn’t natively supported by the hardware.
  • GL 3 will only cache one error, and that is the oldest error that occurred.
  • The OpenGL pipeline will be in a valid state once a context is created. Various default objects, created as part of the context creation, will have reasonable default values. These values are such that a simple polygon will be drawn into the window system provided drawable without having to provide a Vertex array object, vertex shader or fragment shader.
  • GLSL related changes:
    • GLSL 1.30 will support a #include mechanism. The actual shader source for the #include is stored in a new type of object, A “Text Buffer” object. A text buffer object also has a name property, which matches the string name specified in a #include directive.
    • Legacy gl_* GLSL state variables are accessible through a common block.

More details will follow soon in an upcoming OpenGL Pipeline newsletter.

Barthold Lichtenbelt
OpenGL ARB Working Group chair

A retrospective view of a 1996 Steve Jobs interview

3 minute read

I know it’s easy to sit back and criticize what someone said 11 years ago. That’s why I won’t criticize Steve Jobs for what he said, rather, I’d like to show the difference of what the prediction was and what the reality is at the moment - regardless of who said it.

On a side note: It doesn’t matter if you like Apple, Steve Jobs or any of the associated parties, Jobs is an incredible innovator and one of the great digital-minds of the 20th (and turns out 21st) century. In all honesty, I personally do not “like” Apple’s machines and Operating System but that doesn’t mean that I don’t like the innovation that they have brought about in the field of computing and computer software - it is simply mind boggling when you research it.

This blog post (remember that it’s an informal blog post) is a personal view of an interview that Steve Jobs gave to Wired Magazine in 1996 and was published online at Interestingly enough, 1996 was the year that Apple bough NeXT (Jobs’ company at the time) and informally hired Jobs back. This interview precedes those events. I’ll only pick things that are somewhat relevant to this site or that I find interesting; this is a blog, you know?

The desktop computer industry is dead

This will be the first thing that’ll pop out of the page. While at first this might sound like a ridiculous claim, you must place it in context with the entire section. For someone who was at the birth of Desktop computing, the 90’s might have seemed extremely dull in comparison to the 70’s and 80’s when many new things started to come into existence (The PC, CD-ROM, color displays, GUI, the Mouse, HDDs became cheaper, etc.).

When I went to Xerox PARC in 1979, I saw a very rudimentary graphical user interface. It wasn’t complete. It wasn’t quite right. But within 10 minutes, it was obvious that every computer in the world would work this way someday.

While this view was shared by competitors it has proven to be about 99% right. Almost every computer in the world works with some sore of user interface albeit underdeveloped. With the exception of pure Unix-based machines and low-level terminals, I can’t think of any other Operating System that doesn’t have an integrated GUI.

Objects are just going to be the way all software is going to be written in five years or - pick a time. It’s so compelling.

It took about five years for software developers to completely grasp Object Oriented Programming and to apply it correctly so in this regards Jobs was right. OOP has become the norm. While there are still many programmers out there that write procedural code, OOP has largely taken over — and that’s a good thing in most cases.

The Web is not going to change the world, certainly not in the next 10 years.

Jobs was a bit off here. While the dot-com boom didn’t change the entire world, it did change the way that we use and look at the web in most parts of the worlds. I can’t think of many countries that don’t have internet access or people that have never heard of the internet besides underdeveloped or oppressed civilizations.

I don’t see most people using the Web to get more information.

While I do see Jobs’ point (he mentions information-overload and the ability to process information) we only tend to gather the information that we really care about and massive amounts of it. For example, Wikipedia is one of the most active websites on the internet used daily by a massive amount of people.

As to what’s now known as e-Commerce:

I think we’re still two years away.

A bit too optimistic but pretty accurate. Again, the dot-com boom pretty much exploded e-commerce into our lives which happened around 2000-2001.

End thought: The thing that struck me most in this interview was the amount of expectancy in regards to technology that Jobs has. It’s something to think about. “Am I as an end-user the catalyst of innovation?” or “If I expect more, will I get more?” It should be that way but it often isn’t. Companies don’t really seem to listen that much to their customers with the rogue exception here and there. In the end Jobs seems to be pretty accurate with his predictions of the future I’d like to say more so than another software icon but then I’d just be trolling around.

Jobs on the topic of superior European washing machines:

I got more thrill out of them than I have out of any piece of high tech in years.

Re: Microsoft Open Source

1 minute read

Matthew Mullenweg at “predicts” that:

Microsoft will Open Source Windows before 2017.

While I usually like Matt’s posts — I get them through the Wordpress control panel — I think that he might be a bit off this time. The Windows kernel is still under constant development and was derived from the DOS base architecture first founded in 1981.

This means that DOS is now 26 years old, almost 27.

Since MS-DOS hasn’t been released under an Open Source license I think it’s ridiculous to say that MS Windows will be releasing it under an O.S. license any time in the distant future — even with Open Source getting more and more popular.

An older product, BASIC which was first released on the Altair in 1975 (32 years old) is no longer being developed, is no longer being shipped with any Microsoft Operating Systems but has evolved in Microsoft’s Visual Basic / Visual Basic .NET. Products which in their own right have helped form products like C# and the Visual Studio product line. While you could get the BASIC source “code” (in patch point form), later binary versions of BASIC aren’t open and haven’t been opened up ever since.

While Microsoft gives you many tools to build upon the Windows Platform, I don’t think that Microsoft will open the source to Windows, not even Windows 1.0. I might be wrong — and I hope I am — but I got a pretty good feeling that current Microsoft CEO Steve Ballmer is more focussed on monetary rewards for him and Microsoft than anything else.

Source / Reference: Microsoft Open Source

Atom: a gem in the making

1 minute read

Timothy Farrar over at is creating a unique game called Atom. The reason why I call it unique is that unlike many games out there the content for Atom is 100% dynamic which means that (for example) everything can be set in motion. Here’s a quote from Timothy’s post on

Atom started with the idea to go back to PC gaming’s roots (low risk investment, experimenting with technology, fun timeless gameplay, taking a wild idea from concept to market), while taking advantage of the power of modern hardware.


The graphics engine is completely unconventional, 100% dynamic (no static geometry, everything moves), and based on an animated solid hierarchical cellular representation with an “animation bone” for each cell which is linked into a physics/CFD engine which gives life to the world. Rendering is done via a special purpose painters order micro-impostor compositing engine (old-school, not based on polygons!) which also provides realistic motion blur. Content creation is done with a mix of hand controlled procedural generation.

Due to Atom’s unique world representation, you can literally zoom into the molecular structure of anything, even on the inside. This also works in reverse, Atom is able to simplify any structure, and thus has infinite level of detail control. A custom visible surface determination algorithm eliminates overdraw allowing for both wide and telephoto views inside and side any structure no matter how sparse or dense the geometry.


The concept seems very promising, I suggest watching this project grow. Another thing worth mentioning is that the API used to generate the images is OpenGL, not DirectX. Timothy has posted on his blog that SM 4.0 will might be added to the engine. This is good news for XP users since there will be no need to upgrade to Vista if you want to try out this game.

Check out the Atom project here and watch the videos.

The State of DirectX 10

less than 1 minute read

Quite recently I released a small article discussing if you (as a developer) should upgrade to Vista to take advantage of DirectX 10 functionality only available in Windows Vista. Quite simply the answer was “yes” in my article. As a developer you should always take advantage of new technologies, specially if that technology will replace an existing technology. has released an article more aimed towards the end-user than the developer which discusses the State of DirectX 10. In this article both performance and image quality are evaluated to give a fair estimation.

It’s 13 pages long but worth the read, check it out at

id Software: John Carmack’s Response to OpenGL issue

less than 1 minute read

Recently I’ve created a post about how id Software will no longer use OpenGL as their primary graphics API for game development. Here’s John Carmack’s response to the rumors:

There is certainly no plans for a commercially supported linux version of Rage, but there will very likely be a linux executable made available. It isn’t running at the moment, but we have had it compiled in the past. Running on additional platforms usually provides some code quality advantages, and it really only takes one interested programmer to make it happen.

The PC version is still OpenGL, but it is possible that could change before release. The actual API code is not very large, and the vertex / fragment code can be easily translated between cg/hlsl/glsl as necessary. I am going to at least consider OpenGL 3.0 as a target, if Nvidia, ATI, and Intel all have decent support. There really won’t be any performance difference between GL 2.0 / GL 3.0 / D3D, so the api decision will be based on secondary factors, of which inertia is one.

John Carmack

This was posted as a comment on Slashdot.

idTech 5, Rage, and more in 3 Videos

1 minute read

Somehow I keep getting back on this topic. Maybe it’s because of the excitement that was involved with the features promised by the idTech 5 engine as presented in the earlier QuakeCon demo.

Today was one of those exciting days for me. I just finished watching a two part video commentary on the development aspect of idTech 5 that was posted on GameSpy. A third video is an interview with John Carmack on the changes that will be occurring within id Software and other issues. The two commentary videos feature commentaries by John Carmack and Matt Hooper from id Software.

Keep in mind that the “lag” that you might notice is because you’re viewing a technical demo of an unfinished product. Another thing that might be worthy to notice is that the OpenGL API is no longer being used as primary graphics API, yet the company is moving towards DirectX as their primary API.

The first video is presented by John Carmack and is about the development of idTech 5 and Rage. The backdrop for this video is pretty much continuous, so you might want to look away to avoid insanity. He speaks about graphics development, Enemy Territory: Quake Wars and other things that might be interesting to developers.

The second video introduces Matt Hooper as a secondary host and talks more about the tools and assets given to the level designers and artists in idTech 5. For an unreleased product, it looks amazing. There seems to be a great (if not massive) improvement over older tools such as GtkRadiant by having a more intuitive user interface. But you can judge for yourself below by watching the videos attached to this post.

The third video announces a new “game” or adaptation of the existing Quake 3 code base and create a free to download online game, hear all about it in the third video.

Edit: as of 2023, it seems that these videos have been lost to the ravages of time.

Way Off Topic: Internet Taxes, November 1st 2007

less than 1 minute read

If you’re an American citizen or resident and you’re not aware of this issue, keep reading. Otherwise, take action. Links follow.

The Internet is the “Information Highway.” It provides unlimited information, a myriad of free resources and some commercial resources. Due to an expiration of the “Internet Tax Freedom Act of 1998” we might be hitting some toll-plazas along our routes. If you do not feel comfortable paying taxes for free information, sign up at to take some action. If you want to do more, write your senator, but do it promptly. We’re almost at November 1st.

This could potentially be doomsday for many of us. The main thing that the tax would cause is a limit on information which would hurt everyone. Since a large percentage of Americans use the internet, it is imperative that we keep an international resource out of local hands.

At this moment there are many opposed to internet taxes in the senate but it will not hurt to petition and write your congressman or congresswoman. This needs to be fought, freedom of information is at stake.