OpenGL 5 - Release?

Started by
35 comments, last by 21st Century Moose 9 years, 4 months ago

From http://en.wikipedia.org/wiki/OpenGL#OpenGL_NG

This is a codename given by journalists to a grounds-up redesign effort (semi-officially called "The Next Generation OpenGL Initiative"), to unify OpenGL and OpenGL ES into one common API that will not be backwards compatible with existing OpenGL versions.

"to unify OpenGL and OpenGL ES into one common API" can be important to some developers.

At the same time I guess it will make a lot of features optional which could complicate things, though hopefully there will be some sort of IsDesktop() or IsES() so we don't have to handle too many different cases.

That is very important. Even though both versions are very similar they have a big impact on the overall code architecture which stops many projects from being ported from OGL to OGL ES easily or at all.
Also I have read that they want to support multi-core finally.

However the really interesting line is "will not be backwards compatible with existing OpenGL versions".

I expect a big architecture change which will also have a big impact on existing projects and engines that want to support the new OGL version. Sadly OGL is the only good cross-platform 3D API, I would use Mantle if it would be available on mobile devices :P

Sure OpenGL ist not open for everyone but for the industry.

However it drives me mad that they are announcing it without any further information when they expect it to be ready. My local newspapers went mad with this news but missing information everywhere.

I was just asking myself if I should participate in a new 3D project even though this project might be outdated when it is finished (Of course this is always the case, but it is a difference when you actually know that it is going to be outdated. Like knowing the date of your death.) which I do not like at all, or participate in other projects and wait for a proper Mantle, DX12 or OGL Next implementation.

And I think the "speed" part is not stressed enough. We have a nearly unlimited calculation capacity on the GPU side but are unable to actually use it because of (to say it simple, like many articles on the internet:) "many API calls".

Advertisement

You can grab an open sourced recreation of D3D9; from that same project in fact. That doesn't make D3D "open."


(btw, very minor nit, but it's just "Mesa" and not "MesaGL")

Thanks for noting - I didn't know they got open sourced recreation of D3D9.

My current blog on programming, linux and stuff - http://gameprogrammerdiary.blogspot.com

Khronos is keeping the information regarding GL NG quite tight within their group members.

Normally I'd be very sceptic about it; but considering the pool of talented developers behind NG (Johan Andersson, Graham Sellers, Riccio, some Unity devs), the Mantle precedence, and the striving need for a cross platform high performance API (DirectX is no longer "enough", e.g. Android, iOS; then Metal has just a portion of the OS market; Mantle just a portion of the GPU market); I have more faith than usual.

Take in mind it is most likely GL NG will be just GL4.5 without any legacy cruft, with a unified shader compiler or IL, plus some ideas taken from the Mantle API like being multithread friendly, explicit access of DMA engines, and being multi-GPU and multi-monitor aware.

Take in mind it is most likely GL NG will be just GL4.5 without any legacy cruft, with a unified shader compiler or IL, plus some ideas taken from the Mantle API like being multithread friendly, explicit access of DMA engines, and being multi-GPU and multi-monitor aware.


I don't think it will... or rather if it is then I'll slap a bit Failed sign on the API and move on with my life.
OpenGL, as it stands, does not reflect the GPU and just 'dropping the cruft' does not get you the performance you need.

Mantle is a simple API, from someone doing a dump of the entry points it has around 40 entry points, that is it.

OpenGL NG needs to look more like the proposed Mantle/D3D12 model than the current OpenGL model; 'cutting the cruft' isn't going to cut it this time around.
I'm overly optimistic that they'll just release another round of API entry points that allow more explicit resource control and pipeline state management while staying completely compatible with existing OpenGL, making the documentation and tutorials and driver complexity even worse. Again, just look at Khronos' history.

Khronos and their members worry overly much about legacy niche workstation products and not new users or game developers or whatnot. Those workstation users tend to scream and cry and stamp their feet when anyone suggests that they be forced to clean up their code in order to get access to new hardware features. OpenGL NG will very likely just be a new set of entry points. Hopefully I'm mispredicting this one but history speaks for itself.

Honestly, the biggest problem with OpenGL isn't even its API. It's the fact that Khronos is not a software developer, doesn't deliver any common production-level code, every implementor reimplements the entirety of the spec from top to bottom, and every implementation has its own shoddy debugging tools and unique sets of bugs and performance trade-offs and conformance issues from the API support to the shader parser and so on. OpenGL doesn't need a new spec so much as it needs a central authority to write and deliver a common core set of code that all implementations plug into - along with a set of best-of-breed tools built around that core - that removes as many variables as possible from independent implementations.

Sean Middleditch – Game Systems Engineer – Join my team!

Those workstation users tend to scream and cry and stamp their feet when anyone suggests that they be forced to clean up their code in order to get access to new hardware features.


I'm assuming this is a reference to the Longs Peak/GL3.0 debacle?
If so, I do have one little bit of information which I got from someone working on the spec at the time : the CAD companies didn't kill it, despite what was said at the time.

My money, personally, was on someone like Blizzard or Apple torpedoing things but that's purely my gut feeling.

Either way, while I'm in a "I'll believe it when I see it..." mood this time around they do have some forward looking game dev guys on the group who are making the choices so unlike if it had just been Khronos alone announcing this I have a bit more faith.

I mean, I won't be surprised if they cock up and the game dev guys come out saying "they didn't listen..." but it's not a 100% certainty it'll happen.

(more like 75%... )
If so, I do have one little bit of information which I got from someone working on the spec at the time : the CAD companies didn't kill it, despite what was said at the time.

That's pretty much what I heard too (although the rumour I heard was that it was a hardware vendor).

Regarding GL NG/5/whatever, best-case scenario is that we get a streamlined low-level API that we can code directly to, and all previous GL functionality is re-implemented via a software wrapper library that sits on top of that. It would be cool if the IHVs cooperated on building this, but it wouldn't be necessary.

The more realistic scenario is something more like another bunch of extensions to add to the current mess, and we end up waiting 2/3/4/5 years for Intel and AMD to fully implement them in their drivers.

Direct3D has need of instancing, but we do not. We have plenty of glVertexAttrib calls.

If you look at the slides Kronos presented, it would appear that's it's a brand new API, especially since AMD offered the Mantle source to base it on.

However, I suspect it will involve creating an OpenGL NG context, with backwards compatibility optional. That way we'll have OpenGL 5, which will comprise of a new set of AZDO like extensions, plus an NG core profile where the extensions are promoted to full integration.

Personally I'm really hoping for a new API, I just don't see it happening. But fingers crossed it will happen.

The more realistic scenario is something more like another bunch of extensions to add to the current mess, and we end up waiting 2/3/4/5 years for Intel and AMD to fully implement them in their drivers.


I guess it all comes down to how serious they were about 'brand new API' in the slides.

My bet on the path would be that next year you get a shiny spec for OpenGL|NG and maybe some implementation but likely not until Siggraph (as that tends to be when OpenGL stuff is announced) along side an OpenGL4.6 spec which adds a bunch of new extensions for many of the things but not all of them.

The thing is the worry about 'backwards compatibility' isn't really a big one; every time DX changes tools get rewritten, games get rewritten, people are willing to take the pain IFF the gains are worth it (thus lack of D3D10 adoption) - game devs have spent some time yelling about this and when Mantle appeared went 'yes... this!' and where heavily critical of the OpenGL approach of 'look, these extensions mean we don't need a new API!' hand waving we got for about a year (until suddenly a new API was a good idea..).

If they haven't learnt from it then OpenGL will remain the ugly child left out in the cold once more, only used when we are forced to.

(And while everyone loves to yell about cross platform compatibility lets not forget that Mobile is the only place OpenGL, in the form of OpenGL|ES, has any real weight. D3D gets you Windows, Windows Phone and Xbox, PS4 uses it's own API, iOS has Metal, WiiU has it's own API and Linux and OSX are still showing very low market shares still for desktop - and OpenGL|ES also suffers the overhead problem (along with general Android cluster-fuckery) - so if they screw up it'll be a screw up which will be largely ignored in the AAA space in favour of the better APIs anyway until we are forced to deal with it, and I personally wouldn't count on seeing OpenGL|NG in whatever form it takes on Android until maybe 2016 or 2017 anyway so...)

I wonder if they actually making a new API, and its good and all... How much of an impact it would actually have? Would developers move from D3D to OpenGL? Like, would someone make OpenGL their only API for targeting OSX, Linux and Windows? Are people actually waiting for a new OpenGL spec to jump right away? Or its just developers being annoyed at the API for its crappy existence, even when they don't even plan to use it?

Thing is, I can't see "OpenGL Next" making a big impact. Otherwise we'd at the very least see Microsoft throwing money bags at people (hardware makers? developers? all of them?) to stop it from happening.

One would think that there are things that Microsoft simply can't prevent, they can't force people not to use OpenGL in Android nor iOS since Windows Phone hasn't gone anywhere (relatively) and they can't prevent people from using OpenGL in Linux nor OSX (then again its not like there are swaths of developers trying to get something released for Gentoo exactly).

I'm suspicious nevertheless. They have simply a lot of strings to pull from.

"I AM ZE EMPRAH OPENGL 3.3 THE CORE, I DEMAND FROM THEE ZE SHADERZ AND MATRIXEZ"

My journals: dustArtemis ECS framework and Making a Terrain Generator

This topic is closed to new replies.

Advertisement