OpenGL 3.0 May be Too Big to Fail and Too Slow to Improve

By chromatic
August 12, 2008 | Comments: 1

One of the reasons air travel is so messy in the United States is that building an airport and buying cramped metal tubes into which to squeeze a couple hundred passengers is prohibitively expensive. So is paving thousands of miles of interstate freeways, or laying high-speed rail tracks. Airlines come and go, through bankruptcies, mergers, and acquisitions, seemingly always on the verge of going out of business -- and every few years, the federal government throws a few more megabucks their way, because the US really can't afford to have its most effective human transportation system suffer catastrophic failure.

The problem is too big to allow failure as an option.

Of course, the same argument applies to the federal government itself. It must protect borders, regulate trade, inspect food and drugs, manage the transportation system, train and deploy a military, regulate airwaves, enforce civil laws, run a judicial system, collect taxes, govern a financial system, attempt to fund retirement and health care, and more. If the current system failed or disappeared, what would take its place?

These systems could be better, in many ways. How much invention or reinvention or steady improvement has airplane travel seen in the past fifty years? The industry is a century old; why did it stagnate halfway through its life?

I wonder if optimizing against the possibility of failure removes the possibility for reinvention and steady improvement.

XFree86 was the dominant GUI platform for free Unix-like desktops for years. There were no credible competitors, even though once in a while someone suggested that replacing it would be a simple matter of just recoding every GUI application to use the framebuffer, or Berlin. Everyone who wasn't a complete crank realized that replacing XFree86 was effectively impossible without at least a compatibility layer that allowed nearly all of tens of thousands of GUI programs to run reasonably well. Consequently (at least, I believe it's a consequence), XFree86 went nowhere, and that not particularly quickly. The X.org fork quickly supplanted its roots.

This mirrors the fall of the first X.org and the rise of XFree86: the standard implementation fell out of development yet stuck around zombie-like because it was better than (non-existent) alternatives.

Khronos recently posted an announcement of the long-awaited OpenGL 3.0 specification. Roland Wolters's analysis of the OpenGL 3.0 release is insightful. In particular, an oft-cited comparison is to Microsoft's Direct3D. One theory explains that developers will choose the Direct3D API over OpenGL 3.0, because the former offers more and better features.

That theory is right in some ways, but it's wrong in more important ways.

It's right in that choosing Direct3D is an option over OpenGL for Windows applications and XBox games. It's wrong in that Direct3D isn't an option for (most? all?) non-Windows platforms. If you want to use 3D features in a non-Windows, non-XBox program, you either program the card itself directly, or you use OpenGL. It's more or less your only option. (For the wags in the audience, Wine's Direct3D layer isn't an option, as it translates Direct3D calls to OpenGL calls.)

If you're a graphics card manufacturer, you probably don't care; OpenGL has long allowed vendor-specific extensions. In fact, that's one of the ways OpenGL has evolved. When multiple vendors have similar extensions, the OpenGL ARB considered updating its specification to include the new feature. Yet graphics card manufacturers are happy enough to support Direct3D and not OpenGL 3.0 -- they don't really care which API calls ultimately tickle their hardware.

I wonder -- and I worry -- that OpenGL is yet another project simply too big to fail. The lack of credible alternatives on the free desktops and the relative silence of the Khronos group even regarding delays is a bad sign. Without serious competition, what incentive is there to change?


You might also be interested in:


1 Comments

XFree86 was the dominant GUI platform for free Unix-like desktops for years. There were no credible competitors, even though once in a while someone suggested that replacing it would be a simple matter of just recoding every GUI application to use the framebuffer, or Berlin.

Everyone who wasn't a complete crank realized that replacing XFree86 was effectively impossible without at least a compatibility layer that allowed nearly all of tens of thousands of GUI programs to run reasonably well. Consequently, XFree86 went nowhere, and that not particularly quickly. The X.org fork quickly supplanted its roots.(If you want more knowledge about OpenGL you can look at kswchina,there are some knowledge about it but chinaese.It's a good learning Chinese place too! )

Just like what Chromatic has said,OpenGL 3.0 May be Too Big to Fail and Too Slow to Improve.

This is really an interesting article ,thanks for you, chromatic !

Popular Topics

Archives

Or, visit our complete archives.

Recommended for You

Got a Question?