Khronos released OpenGL 4.0 and OpenGL 3.3 specifications at GDC. The press release summaries some major new additions.
Wow, I totally lost hope for OpenGL but new versions are popping up fast now.
Is the reason there is an OpenGL 4.0 now that it wont work for pre DX11 Hardware (or non-double-supporting) ? If its fully backwards-compatible I dont understand why OpenGL3.3 was released aswell.
As it looks to me, OpenGL 3.3 is intended for DirectX10-class devices, exposing features common among such devices that somehow didn't make it into previous 3.x revisions (instancing with divisors, sampler objects and dual-source blending being the biggest ones). This feature set was evidently large enough to justify producing this revision alongside 4.0 .
Has OGL4.0 caught up with DX11? I mean is there any missing functionality now, apart from multi-threading? My guess is that ARB expects devs to create different contexts on different threads and then share stuff amongst them. Is that possible?
There are a handful of smaller features that DirectX11 supports that the OpenGL 4.0 core spec still hasn't got support for:
- Atomic operations and Unordered-Access-View accesses from the Pixel Shader (presumably useful for order-independent transparency; no OpenGL extension appears to exist)
I know it's not really on topic: Valve is using OGL to implement its games on OSX.
http://arstechnica.com/apple/news/2010/03/valve-goes-full-steam-ahead-on-mac-os-x.ars
With OGL ES for mobile (not that I know much about that whole topic), there's a degree of synergy in OGL that looks pretty promising.
Jawed
or wineWell, on OS X, you don't have a choice, unless you can get SJ's approval to ship mac compatible D3D drivers for all the gpu's with your game.
I feel that OpenGL has such a longer history and it's open source nature make it something that will always be better
Even the MAC runs linux at the core and that says a great deal.
I have been around long enough to remember how advanced SGI was with their development of OpenGL, and I think there are many pieces of legacy technology that have been overlooked from their work.
The issue is that OpenGL has just been too far behind the times over the past few years. I'm not talking mainly in terms of features (which OpenGL 4.0 adds most of) but more in terms of the basic API itself... from that point of view I was disappointed to see that no overhaul of the state management mechanism made it into 4.0 (although they have been talking about direct state access and other proposals which is a good sign).Unfortunately most new developers are being herded into learning strictly DirectX, I feel that OpenGL has such a longer history and it's open source nature make it something that will always be better, maybe not the first drivers for some games or video cards but a more complete API in general.
It seems like at this stage the sitution is somewhat like a mirrored version of the DX7 days - back then D3D was catching up fast as (a) it had a model to follow, and (b) it was gaining audience. These days GL is gaining audience on the non-windows desktops ('look, mom, I can play games on non-windows!'), has a model to follow, and the GL ES synergy surely helps with a nudge there too.So it's great to see OpenGL catching up "more quickly" than in the past but I'd love to see them take a leadership role - say with some speculative features or maybe go to a fully functional-style API. Right now they're doing an okay job of providing a "DirectX for other platforms" (assuming driver support is swift, which I expect that it will be considering they're just following DX at this point), but there's still no compelling reason to use it on Windows.