OpenGL 5 - Release?

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

I know why people are skeptical, but it seems to me that with the release of all these new APIs (mantel, metal, DX12) there is more incentive for them to actually deliver on their promise this time around.

I want to believe.

Advertisement

Speaking of Microsoft, they do also participate in the OpenGL NG program.

I wonder what they are planning, sabotaging the development or just spying out?

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.

[...]

Have you a source on this "AMD offered Mantle source"? AMD isn't listed as a partner for OpenGL NG.

My interpretation is that OpenGL NG is like a movement. Everybody knew for years that the current APIs are leading to a dead end. With AMD providing a completly new cross-hardware public API all of those companies finally gathered to finally create a new solution for this neverending problem to use GPUs effectively.

Oh for the love of pete...

Dear Microsoft Conspiracy Theorists,

This is not the 90s or early 200s.
Microsoft have had nothing do with OpenGL since they left the ARB in March 2003 - 11 years ago.
Since then NV, ATI, AMD, Intel and others managed to successfully blunder the development of OpenGL on the desktop platform on their own.
MS don't need to sabotage OpenGL because the ARB and the Khronos board made up of ARB members managed to royally screw that up on their own - D3D won the battle some time ago.

The ONLY thing MS are involved in is their recent sign up to the WebGL group because they are implementing it (as everyone asked them to do...).

Please... just... learn some history and update your mental model... because... well... ugh...

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?

I think it's more for improving the development process, and to simplify for apps that use the same code for mobile and desktop versions (which I think are still pretty few). For the future, interoperability between desktop and mobile environments, as well as tablets as desktop-replacements would also benefit.

Windows 8 already has this cross-compiling with pretty much exactly the same code (though that's not something OpenGL in itself can accomplish).

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).

With Microsoft making Visual Studio support Android / iOS I would rather guess that they'll be adding an OpenGL layer.. as they seem to care more about getting a marketshare in mobile than keeping games Windows-exclusive on desktop (which they don't really need, there aren't many contenders). Getting people to write Android/iOS apps in Visual Studio on a Windows desktop and then making those app directly cross-compileable to Windows Phone without much effort seems to make much more sense if they want to grow their platform.

My guess is that they've realized they're way too late to the party to leverage their desktop market to gain mobile share, and people making money of mobile apps are already set up in Xcode or an Android-exclusive IDE, from which the porting-costs to Windows are usually higher than the expected return.

At the same time a significant part of Android / iOS developers, possibly a majority of professionals, actually started out with or at least have experience with VC++, and might very much welcome the possibility to develop there.

I'm certainly one of those, and I already do that. I've written my own layer API for the graphics/sound/input to be able to program my apps entirely in VC++ and then just switch to Xcode and press compile when I'm ready to release. But then there are texture-formats, files need to be added to the corresponding projects, shaders in GLES must match the HLSL/GLSL versions etc, and every change I make to the graphics layer must be implemented for all underlying APIs, so personally I would very much appreciate a better OpenGL that works cross-platform.

Like, would someone make OpenGL their only API for targeting OSX, Linux and Windows?

I'd love to; right now D3D is a tradeoff between being a just plain better API on the one hand versus being tied to Windows versions on the other. The latter really pisses me off but the former still carries enough weight to swing things in it's favour. If Microsoft don't do the decent thing with D3D12, and if the ARB don't screw up again, then I'm making the jump.

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..).

The whole backwards compatibility malarkey was always a false objection, and this is true of CAD vendors as well as game developers, and it was true of GL3 as it is true now.

A new GL version doesn't force anybody to rewrite their code. They just need to keep targetting the older versions and everything still works.

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

Oh for the love of pete...

Dear Microsoft Conspiracy Theorist,

This is not the 90s or early 200s.
Microsoft have had nothing do with OpenGL since they left the ARB in March 2003 - 11 years ago.
Since then NV, ATI, AMD, Intel and others managed to successfully blunder the development of OpenGL on the desktop platform on their own.
MS don't need to sabotage OpenGL because the ARB and the Khronos board made up of ARB members managed to royally screw that up on their own - D3D won the battle some time ago.

The ONLY thing MS are involved in is their recent sign up to the WebGL group because they are implementing it (as everyone asked them to do...).

Please... just... learn some history and update your mental model... because... well... ugh...

Wow, for a moderator you are a real ******* (I know I am risking getting banned here, who cares with such a community).
I am asking a question and you react with ignorance and attacking me because I do not know as much as you do. Sorry I thought that is what forums are for exchanging thoughts and wisdom but I forgot that we are in the internet.
Thanks for answering the question nontheless, even if it involved sarkasm. happy.png

As I said when you look at the Khronos page under partners they list Microsoft without any further information. So how should I know just from that?
It has nothing to do with conspiracy. You would be an idiot if you think that companies don't spy each other "in public".
It goes even to that point that companies are sending freely their new products to other competitors (which would be spied out anyways, later) so that they don't cause even more troubles and so they can at least slightly control it.
(Even though I haven't seen/heard this often in the computer science sector, not to say "never" - but I am not working as a computer scientist, more like a hobby).
This whole NSA scandal was just a scandal because there were actually a bunch of people who couldn't believe it/never thought about this. It wasn't actually a secret though, people just never knew for sure.

I can't see the conspiracy you are talking about.

Speaking of Microsoft, they do also participate in the OpenGL NG program.

I wonder what they are planning, sabotaging the development or just spying out?

Have you a source on this "AMD offered Mantle source"? AMD isn't listed as a partner for OpenGL NG.

My interpretation is that OpenGL NG is like a movement. Everybody knew for years that the current APIs are leading to a dead end. With AMD providing a completly new cross-hardware public API all of those companies finally gathered to finally create a new solution for this neverending problem to use GPUs effectively.

Microsoft have a contributing membership of Khronos, but then so do Broadcom, and I can't imagine that Broadcom are a significant player. What I'm saying here is that one shouldn't assume anything from just membership of Khronos.

According to the NG announcement slides (I'm using the source as reported by Anandtech here) AMD are on-board with the NG initiative (and Microsoft are not).

Your statement that "what they are planning, sabotaging the development or just spying out" is heavily reminiscent of an old paranoid conspiracy that the only reason OpenGL failed is because Microsoft somehow sabotaged it. There's a strong head-in-the-sand element to that theory because it involves a denial of the mistakes made by the ARB in evolving OpenGL at the critical time periods in the late 90s/early 2000s.

At this stage I'll refer you to the following Programmers.StackExchange post which is a more accurate summation of what happened back then:

Microsoft was a part of the ARB at this time; they left around the time D3D 9 hit. So it is entirely possible that they were working to sabotage OpenGL in some way. I personally doubt this theory for two reasons. One, they would have had to get help from other ARB members to do that, since each member only gets one vote. And most importantly two, the ARB didn't need Microsoft's help to screw things up. We'll see further evidence of that.

Several sources for AMD's provision of Mantle to Khronos for OpenGL NG exist, for example this: http://techreport.com/news/26922/amd-hopes-to-put-a-little-mantle-in-opengl-next and this: http://www.phoronix.com/scan.php?page=news_item&px=MTc2Mzc

Richard Huddy of AMD spoke at SIGGRAPH yesterday and mentioned that they've already been collaborating with Khronos over "OpenGL-Next" and "AMD has given the organization unfettered access to Mantle and told them, in so many words, 'This is how we do it. If you want to take the same approach, go ahead.' Khronos is free to take as many pages as it wants out of the Mantle playbook, and AMD will impose no restrictions, nor will it charge any licensing fees."

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

Wow, for a moderator you are a real ******* (I know I am risking getting banned here, who cares with such a community).


Yep, and I'm ok with it...
(and judging a whole community on one person? really? drama much?)

Also that reply wasn't direct just at you, however I missed an 's' which is why you could take it as such.

Either way I stand by it because frankly I'm bored of the constant 'MS are evil/bad/whatever' narrative which continues to run rampant (in general, not just with GL) and if someone is willing to buy into that without either doing the research or asking a question before putting forward a strong opinion then, well, you'll get such a reply from me.

And as you are apparently new around here; there is an unofficial agreement in place that if a moderator takes part in a thread they will not moderate in that thread, certainly not for things involving them, which is something I've stuck by - if you have a problem with that post, or indeed any post, feel free to report it I won't stop you or act on it and if anyone else in the mod team has a problem with my conduct then they will say something and if needs be I'll give up the position.

We should stop waiting for releases. Computing units have their preferances on what they munch on and how they munch on, and those did not change since B.G. let him hear himself "16KB of memory will always do" (the bitch was strangely right!)


I wonder if they actually making a new API, and its good and all... How much of an impact it would actually have?

It would make a huge difference. Look at the current public releases of OpenGL vs DirectX. DirectX is a nicely-written API compared to OpenGL's current existence with all of its deprecated features and functions' parameters being re-purposed over the versions. Despite DirectX's pleasing interface to work with, it's Windows-only and runs a little slower than OpenGL on Windows. OpenGL games will often run even faster on Linux simply because Linux distros tend to have less overhead than Windows in general. Now, imagine that even though OpenGL tends to be more efficient than DirectX, the API is so outdated compared to how developed the hardware has become that huge parts of it is actually emulated in-hardware, as Hodgman has pointed out in this post. Imagine if we had an efficient API that's also elegant to work with, like Mantle, that was as widely-supported as OpenGL currently is. Software would suddenly be simpler and more straightforward to develop, and there's less need for swapping data back and forth between the GPU and client-side memory. Whenever new hardware comes out, speed increases would actually be greater with an efficient API than with the current ones.

I mean, sure you'd be able to achieve the same graphics effects as you probably could with OpenGL currently does, but wouldn't it be nice if it wasn't such a huge headache? Wouldn't it be nice if things were actually much more straightforward instead of having 12 different options for drawing commands, buffers swaps, etc, and at speeds on your current graphics hardware you couldn't ever get with the current APIs?


Would developers move from D3D to OpenGL? Like, would someone make OpenGL their only API for targeting OSX, Linux and Windows?

Valve is just the answer to these questions. Due to OpenGL's wider support and more efficient hardware implementations, Valve ported their Source Engine over to OpenGL, and then updated all of their first party titles going all the way back to Half Life 2. They're a huge supporter of Linux development (Steam OS is Linux lol), and encourage PC developers to follow their lead in using OpenGL.


Are people actually waiting for a new OpenGL spec to jump right away?

Personally, I am weighing my options. I want to build video games without using some one else's own engine because I want to learn how things work at a deeper level, but this is just ridiculous. I mean, OpenGL and VAOs? Really? I've seen posts about VAOs just this past week or two that's developed into a bit of a flame war, and all VAOs have done for me is create headaches. It's just more wasted time learning how to use something when it's not absolutely clear if it delivers more speed, or it's just there to help reduce typing commands like devs don't write their own wrappers to handle this. "Well, with the NVIDIA driver, you write it this way, but AMD's drivers don't like that, so you write it this other way to get the same results with hopefully similar performance." I hear talk like this all too often.

And let's not forget that I'm learning OpenGL 4.x coming from OpenGL 2.1/ES 2.0, so I also have to learn what's been deprecated and what hasn't. This whole idea of having all of these buffers to glGen* and glBind* and having special objects just to pack, unpack and copy data back and forth between the GPU's memory and the application's is just a mess. Again, after listening to how Apple's Metal works on mobile GPUs and Mantle, it sounds like the way hardware treats most of these operations are much more dynamic and abstract.

That said: Yeah! If Kronos released OpenGL NG tomorrow, I would dive into the spec, and focus all of my R&D time into learning that, if it's a clean rewrite. Even if it wasn't as efficient as Mantle, I wouldn't complain as long as it's a really clean API compared what we currently have with OpenGL with at least OpenGL's current performance.


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.

Microsoft is releasing DirectX 12 with Windows 10. The API is similar to Mantle, and seems to deliver similar efficiency. It's in beta, so I'm not sure what kind of efficiency it'll have over Mantle once it's released. However, it does mean that any PC running Windows 10 with a fairly recent graphics card from AMD or NVIDIA today will support it. This will make DirectX more efficient than OpenGL currently is, and elegant.


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).

DirectX is Microsoft's proprietary API for a reason: as incentive for developers to only develop for their platforms. By having DirectX exist (they actually bought the tech back in 1995) and continuing to support it, they are telling developers that they care about gaming. It may lack multi-OS as a business move or the efficiency of OpenGL, but many developers still use DirectX simply because Microsoft's built a large marketshare in the PC gaming market. Steam might be changing that with Linux and OpenGL soon though.


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

I'd agree with you after what happened with Long Peaks, but if there's one thing Kronos has been doing with OpenGL, it's been playing catch-up with DirectX. I think (and I hope) OpenGL 4.5 was a nod to DirectX 12, and a rewrite will be coming. There's just so much graphics API evolution going on right now: Apple with Metal, AMD with Mantle, and Microsoft with DirectX 12. If OpenGL doesn't evolve with us, then the nightmare that is its current API design won't be overlooked.

This topic is closed to new replies.

Advertisement