12 Aug 2008

OpenGL 3.0 (more like 2.2)

Oh the drama! The long-awaited OpenGL 3.0 spec has been released today after years of fruitless discussions in the ARB and Khronos Group, and - surprise - it is NOT the fresh and clean re-write that was promised, but instead only a minor release with a few extensions moved into the core feature set, and a few old features marked as depreciated. Nobody but the design commitee exactly knows what justifies the version number jump other then pretending progress.

In the old days of DX3 and DX5 I was a big fan of OpenGL, which was so much cleaner and easier to use compared to D3D. I still remember the horror of porting Urban Assault to DX5 in '97). I despised how Microsoft was completely rewriting the DirectX API every year. In hindsight that was their best decision, DX didn't have to care about old baggage and slowly got better until the excellent DX9, while the once elegant OpenGL was buried under a heap of vendor-specific extensions over the years, resulting in the mess it is today.

Somewhere inside I'm a bit sad to see OpenGL slowly dwindle into oblivion, on the other hand I didn't really care about it for the last 4 or 5 years (I think I stopped caring when I attempted to write an OpenGL renderer for Nebula2 and realized that I had to use a dozen-or-so extensions just to get DX9's core features).


eRiX said...

Is that better now?
I mean, that extension assembling?

Actually I'm somehow attracted by openGL more than DX even if I can't program it :D openSource is sexier.
The latest worst thing that happend to DX that they made it Vista-Only! Thats like closedClosedSource. Which is NOT a double negative!

How come you say its like an oGL 2.2? link? The post at khronos reads unsurprisingly very promising though ;]

Dan said...

OGL 3.0 was supposed to be a new clean API that was supposed to be easier to implement for driver developers and easier to use for developers, i.e this was not backwards compatible, and similar to the directx interface switches betweeen versions.

This didnt happen and we got prety much the same old stuff with some stuff deprecated, some moved to core, but no radical rewrites that were so sorely needed.

mnemon said...

Im a bit confused here.
What kind of API is used on the PS3 or Wii?
As Direct3D is MS only I thought they must be using OpenGL. So if Nebula3 is Wii compatible there must be an OpenGL Renderer.
So how can you say OpenGL is heading towards oblivion?
Or are the above mentioned using something else?

joew said...

You *can* use OpenGL on the PS3 but nobody does as it was only there to get the first gen ports moved over. Anyone in their right mind is using libgcm.

Floh said...

Wii and PS3 both have their own proprietary graphics APIs. I think the original idea on the PS3 was to use an OpenGL variant, but as joew said the lower level libgcm is usually the better choice.