Slashdot Log In
OpenGL 3.0 Released, Developers Furious
Posted by
ScuttleMonkey
on Mon Aug 11, 2008 06:53 PM
from the community-management-derailed dept.
from the community-management-derailed dept.
ikol writes "After over a year of delays, the OpenGL ARB (part of the Khronos industry group) today released the long-awaited spec for OpenGL 3.0 as part of the SIGGRAPH 2008 proceedings. Unfortunately it turns out not to be the major rewrite that was promised to developers. The developer community is generally furious, with many game developers intending to jump ship to DX10. Is this the end of cross-platform 3d on the cutting edge?"
Related Stories
Firehose:OpenGL 3.0 released - developers furious by Anonymous Coward
This discussion has been archived.
No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
Full
Abbreviated
Hidden
Loading... please wait.

KDE? (Score:5, Funny)
OpenGL 3.1 will rock
Re:KDE? (Score:5, Funny)
Parent
Re:KDE? (Score:5, Funny)
OpenGL 3.5.9 will rock
Parent
Question (Score:5, Insightful)
Is this the end of cross-platform 3d on the cutting edge?"
Probably not. As long as DX remains solely in the hands of MicroSoft; there will be use for other forms of cross-platform 3D. More so as the "none-MS" OSes continue to grow in numbers.
Re:Question (Score:5, Informative)
Parent
Re:Question (Score:5, Insightful)
Parent
The Chicken and the Egg (Score:5, Informative)
.
Vista is approaching 20% of the market. Top Operating System Share Trend [hitslink.com] You can't expect expect Linux ports if entry level DX9l/DX10 outperforms OGL.
Parent
Re:Question (Score:5, Interesting)
WINE's Direct3D sits on top of native linux OpenGL.
I don't think most developers are "furious". When OpenGL 3.0 was described as a backward-incompatible rewrite, they were a bit closer to furious. They spoke, and said they wanted backward compatibility retained a while longer. And lo, Khronos delivered, while providing a mechanism for migration to the new architectural constructs (buffer objects, shaders, moar buffer objects, moar shaders), and a way to build your code so that deprecated constructs fail.
Seriously, most people in the OpenGL community are fairly happy (though there's some grumbling over the still-wide OpenGL / OpenGL ES split).
Parent
Re:Question (Score:5, Interesting)
That certainly isn't my experience. Most people on the OGL discussion boards were very much looking forward to the changes to the API. The previews Khronos posted in the Pipeline newsletter looked bloody amazing.
But when those previews are followed by almost a year of complete silence and then finally an API which is nothing at all like the one they promised, but rather some more spit and polish on the mess that is OGL 2.1 (much like OGL 2.0 was really just 1.6 with a new name), people got pissed off. And rightfully so.
The only ones pleased with this change as far as I've been able to gather are the CAD people wanting to continue to run their old, stale OpenGL bases code until the end of time. For new development, using OpenGL is a pain in the back side, which is why I just began bringing my renderer up in D3D10.
Parent
Re:Question (Score:5, Informative)
That's most of the problem though... they did rewrite OpenGL, then they scrapped it. So in the process, we got a few years of the new version not existing. And a year of communication (from ARB/Khronos) not existing, particularly frustrating after they'd spent the previous year saying they were going to work on communications and transparency.
Even better, GL2 was supposed to be a cleaned up API, so this was the second time they promised a rewrite and scrapped it.
So either they were completely wrong about the justification for the rewrite both times (which doesn't bode well for the group in charge of the API) or we are missing out on the benefits the rewritten API would have provided.
Probably the biggest problem was the communications though, if they'd admitted the problems as they happened, there probably would have been less backlash. As it is, everyone was still pretty much expecting the original 3.0 design, so not getting that, on top of a year's worth of promised status updated, on top of the previous poor communication the promised status updates were supposed to fix, on top of the promised-then-scrapped 2.0 update, etc. leads to unhappy community.
(For those not following the situation, advertised benefits included:
simpler api = simpler drivers = better conformance + fewer driver bugs
new object model = less need for consistency checking in drivers = faster drivers with fewer bugs
getting rid of outdated code paths = easier to understand the api, easier to tell what will be fast
probably some more I forgot)
Parent
Re:Question (Score:5, Informative)
Cross-platform 3D is useful, but OpenGL stopped being cutting-edge many years ago. The model that it uses is falling farther and farther from the model that the hardware supports, and many new extensions and features are not supported on many platforms (particularly ATI). It has become increasingly difficult to write cutting-edge graphics software, and OpenGL 3 does little to fix that.
Parent
Re:Question (Score:5, Interesting)
This has however everything to with ATI and nothing really with OpenGL, as it is the hardware manufacturer who ultimately decides which capabilities will they expose in the drivers. ATI's OpenGL drivers was *always* bad, buggy, and badly performing (go on, search for some old benchmarks, you will see that ATI cards that easily outperform their NVidia counterparts in DirectX falls heavily behind when it comes to OpenGL apps and games).
The developers' expectations here was that if OpenGL 3.0 will include all the newest stuff in core spec, ATI (and Intel and others) will be forced to support them (so they can pass the certification and be able to call their products compliant), however the same expectation for improved OpenGL drivers was there when ATI was bought by AMD, and that too never really materialized. ATI simply doesn't care enough about OpenGL, their main focus was always DirectX, and i don't see that changing in nearby future.
As for OpenGL 3.0, the rage is that Khronos group promised us moisty delicious cake (whole new API, yay!), but after long long wait delivered only small biscuit. I didn't expect much so i'm not disappointed and overall the spec is good step (deprecation model for lots of old stuff, FBO finally promoted to core, direct access extension), but just like KDE 4.0, it is only first step, and it *really* depends on where it will go from now.
Parent
No it doesn't (Score:5, Informative)
Part of the reason for DX's success is that nobody else seems interested in developing anything to compete with it. OpenGL is the only cross platform 3D API I'm aware of and it and DX are all that there is these days. GLs problem is that it isn't keeping up with the hardware. The "just use vendor specific extensions" isn't a realistic solution in most cases. Thus GL is suffering and DX is winning by default.
If someone like Apple did develop a good 3D API, it might do well. However nobody seems interested.
Parent
This can't be good. (Score:5, Insightful)
Jumping ship to DX10 would be nice, if it were cross-platform. (No, Xbox + PC does not count as "cross-platform".)
Unfortunately for those of us on Linux/Mac, a lot of Windows developers don't care.
Unfortunately for those of you who think you don't care about this, consider that porting an app generally improves it, and can shake out bugs which aren't as apparent on the other platform -- which means potentially less reliable games, even if you're only on Windows.
And unfortunately for those of us who hate Vista, that's kind of a requirement for DirectX 10. At least with OpenGL, those in charge have no agenda to push Vista -- so an OpenGL 3.0 game should run on XP, if it runs on anything.
Re:This can't be good. (Score:5, Interesting)
How about the creation of a fully operational open source, cross platform, DX10 or DX11 implementation, not created by Microsoft but by the community,
Wine will do this, eventually.
and fully working natively (not through Wine)
That's a bit harder, because it requires driver support.
and supported by NVidia and ATI drivers?
The official ones? Never going to happen. Anyone want to guess how many patents Microsoft has on DirectX tech?
And the unofficial ones haven't even gotten GL right, yet, and you're proposing they try to support another interface?
More importantly, you're assuming this is a good idea -- that we should be working to clone a Microsoft technology, instead of improving on one which has been open from the start (GL).
Parent
Re:This can't be good. (Score:5, Interesting)
How about the creation of a fully operational open source, cross platform, DX10 or DX11 implementation, not created by Microsoft but by the community,
Wine will do this, eventually.
Wine uses OpenGL to do the actual rendering AFAIK, it reads the DirectX function calls, but it doesn't interface with the hardware itself, it basically just implements the functions with OpenGL calls.
So while the OpenGL dependency may be less obvious for the user or casual developer, it's still there, and a bad OpenGL release means a bad DirectX implementation in Wine
I'm no expert though, correct me if I'm wrong about this
Parent
Re:This can't be good. (Score:5, Insightful)
Gallium3d [tungstengraphics.com] will enable just that. The Wikipedia [wikipedia.org] page even mentions DirectX and wine.
That said, I don't think the uproar over OpenGL 3.0 is as widespread as the summary would have you believe. OpenGL's grave will likely be right next to Unix, X, vi and C (ie. no time soon).
Parent
Is this the end? (Score:5, Interesting)
jump ship to DX10
And when they do they wander into Direct/Input/Sound/Video/Play/etc. OpenGL does 3D rendering. The rest? Cobble it together from whatever other obsolete scraps are available.
The non-Microsoft "stacks" suck. Bottom line.
The concept of a 2D "layer" still hasn't impinged on the basic SDL API. Couldn't believe it when I learned that.
I guess professional game developers don't care that Microsoft owns the machinery of their livelihoods. They sure aren't contributing to their own independence in any noticeable way.
Re:Is this the end? (Score:5, Interesting)
Sorry my anonymous brethren, but you're exaggerating a bit. First off, DirectDraw (DirectX 2d API), DirectInput, and DirectPlay are all deprecated for other APIs. Granted, the other APIs are Microsoft but even they aren't always consistent across MS platforms. For example, DirectInput [wikipedia.org] is replaced by one API on the 360 and a different one for the PC.
SDL handles cross-platform input and some basic platform functionality on the open side. Not that you could expect it to run on a console, but it should run on a Mac, Linux, or Windows.
The open equivalent of DirectSound is OpenAL, which looks a lot like OpenGL in usage. Of course, that's more of a negative, since they both need an overhaul. It *is* cross-platform and supports 3d sound though.
The other APIs aren't nearly as important for game development.
Parent
Err, yeah. (Score:5, Interesting)
Heh - Games developers may have that luxury, but 3D/GC vendors certainly don't. So unless someone decides to port DX10 to OSX (*snort*) or Linux (sing it with me now: "render farms!"), OpenGL will continue to have a decently-sized userbase for a very long time.
IMHO, anyone making the claim that they're going to suddenly jump to DX10 is only making noise; nobody is dumb enough to cut off the fastest-growing consumer market sectors.
(...besides, doesn't the PS3 use OGL, or do they use some other home-brewed library set? Not sure there...)
Re:Err, yeah. (Score:5, Informative)
The PS3 uses OpenGL ES for basic rendering (GL with all the ancient cruft ripped out) and NVIDIA's Cg for the actual shaders.
Parent
DX10 is not cross platform? (Score:5, Funny)
No. (Score:5, Interesting)
Is this the end of cross-platform 3d on the cutting edge?
it isnt. because OpenGL ARB is gonna play it nice, and revise their specs, therefore pleasing developers and therefore GAMERS as much as they can, and fix the matter, wont you now ? dont make us wait.
Re:OpenGL falling down a pit (Score:5, Insightful)
"The library needs to be able to interoperate with current and future video hardware, so that all hardware acceleration features will be available to applications using the 3D library..."
Now, I know next to nothing about the nitty-gritty details of OpenGL or DirectX,
but I really thought they were pretty much equal (in terms of being able to fully utilise the hardware)
I was under the impression that MS wrote the DirectX API, and graphics hardware was expected to provide in interface to GPU operations as per MS's API spec
On the flip side, OpenGL being less centrally controlled,
instead graphics hardware provide their own API calls for new GPU operations, and provide this new API call to OpenGL via it's "extension" interface
and every so often, the OpenGL spec would be updated, with new GPU functions (currently using seperate, per-vendor extensions) would be standardised into a single implementation
Are developers really saying that OpenGL cannot do things DirectX can?
I thought as long as (say) Nvidia kept provided drivers, and software kept querying for the hardware's capabilities, DirectX & OpenGL were pretty much on a par with each other....
Can anyone provide a semi-layman's explanation?
Parent
Re:OpenGL falling down a pit (Score:5, Insightful)
You don't fork a spec. You create a new one and try to get it accepted by the industry (ATI, Nvidia and Intel in this case).
Good luck with that.
Parent