You can sign up to get a daily email of our articles, see the Mailing List page!
Rich Geldreich states these are his personal thoughts after working with OpenGL, Rich is currently working at Valve on 'Vogl' an open source OpenGL debugger. He makes some interesting points.

Looks like he is laying down some cold and harsh truths about OpenGL, maybe it's time to get it sorted? I've seen a lot of indie developers claim about how much more difficult OpenGL is to use over Directx, so he is clearly not alone.

QuoteMantle and D3D12 are going to thoroughly leave GL behind (again!) on the performance and developer "mindshare" axes very soon.

I am not entirely sure I agree on the mind-share bit for Mantle, since I haven't seen that many developers claim they will support it. Performance wise they both could beat OpenGL though, that's pretty obvious.

For those of you who will jump on me for that above statement and bring up the talks about unlocking "15x more performance with OpenGL" that Nvidia, AMD and Intel did recently, well Rich notes this as well:
QuoteThey will not bother to re-write their entire rendering pipeline to use super-aggressive batching, etc. like the GL community has been recently recommending to get perf up. GL will be treated like a second-class citizen and porting target until the API is modernized and greatly simplified.


What a sad state we are in right now. With Valve heavily moving into the Linux & OpenGL space maybe they can help with all of this, who knows.

One thing to really agree on is this:
QuoteOne of the touted advantages of GL is its support for extensions. I argue that extensions actually harm the API overall, not help it.

How many times have we seen in the past that one graphics card driver support x extension, but another does not? It causes all kinds of issues, a standard API to build against is what developers like, not all manner of possible combinations that may or may not exist on certain drivers.

Here is something else we can agree on:
QuoteDrivers should not crash the GPU or CPU, or lock up when called in undefined ways via the API
Should be obvious by now. Please hire real testers and bang on your drivers!
Better yet: Structure the API to minimize the # of undefined or unsafe patterns that are even possible to express via the API.

This has happened to me too many times. I am sure we are all no stranger to hard-locks when playing games, be honest I am sure it has happened to everyone.

Reading the long blog post certainly brings some issues to light about OpenGL and why I constantly see developers getting annoyed by it.

Check out the full developer-orientated blog post here. I sure hope the Khronos Group take a note of this blog post and at-least think about the points raised in it as they are important to all of us.

What are your thoughts on it? Article taken from GamingOnLinux.com.
Tags: Editorial
0 Likes
We do often include affiliate links to earn us some pennies. We are currently affiliated with GOG and Humble Store. See more here.
About the author -
author picture
I am the owner of GamingOnLinux. After discovering Linux back in the days of Mandrake in 2003, I constantly came back to check on the progress of Linux until Ubuntu appeared on the scene and it helped me to really love it. You can reach me easily by emailing GamingOnLinux directly.
See more from me
The comments on this article are closed.
19 comments
Page: 1/2»
  Go to:

Joe 12 May, 2014
When reading the above, keep in mind that OpenGL will not go away any time soon since it is the primary way to render 3D on hundreds of millions of Android devices.
Lapinopl 12 May, 2014
Quoting: JoeWhen reading the above, keep in mind that OpenGL will not go away any time soon since it is the primary way to render 3D on hundreds of millions of Android devices.

Android , iOS, blackberry, most of the web... everything not Microsoft. But that's OpenGL ES, which is different in many ways and not really helping on desktop. I hope that Khronos will sort things out, especially with big company's getting behind it (OpenGL).

Ps. Is it just me or developers are getting more and more lazy?
mirv 12 May, 2014
View PC info
  • Supporter Plus
Reading through the blog post, I agree with much of what's said, however a few things stand out:
* Porting to mantle/dx12 won't magically make things easier. Proper batching will be required there anyway (from what's known of Mantle so far), so it's not going to leave OpenGL in the dust on that front. From a clean interface and API, maybe, but that remains to be seen.
* Nobody forces people to use OpenGL extensions. They don't hurt the API. It's developers thinking that they have to use extensions that causes the damage. Extensions have proven invaluable as a testing playground, and are an excellent way of exploring new ideas, but they shouldn't be used to ship a stable product.
* Most of the points were only as they stand out for one developer, and only on their one project. That's fine, perfectly ok. But it's not a good overview of the API, or what should/shouldn't be in there. It's just what would be good for how they do things, or how the Source engine handles everything. I recommend keeping that in mind.

There are other points in the post I disagree with, but may others I do agree with. Proper tools are required, including test suites to ensure code conformity (GLSL particularly). OpenGL really needs that. The beginnings are there, but have a ways to go yet.
Lordpkappa 12 May, 2014
There is always space to improve, this kind of post are really helpfull to point the problems.
Anonymous 12 May, 2014
I am not a developer, just a hobbyist, but I think it's funny how this reminds me of other discussions I heard about Linux-projects for too long, particularly sound-system issues come to mind but I'm sure there are others as well.
More and more I have a feeling as if open source stands for messy, unreadable, unreliable and horrifyingly complicated code.
Cestarian 12 May, 2014
Quoting: AnonymousI am not a developer, just a hobbyist, but I think it's funny how this reminds me of other discussions I heard about Linux-projects for too long, particularly sound-system issues come to mind but I'm sure there are others as well.
More and more I have a feeling as if open source stands for messy, unreadable, unreliable and horrifyingly complicated code.

Sound architecture and management on linux is a disgrace, this includes ALSA and Pulseaudio both.

Apart from all the problems these ***ers individually have (mostly pointing the finger at alsa here, alsa is the thing that needs to work, pulseaudio is something the world would be better without for the most part) surround sound is extremely poorly supported on linux. Since surround's early days games commonly auto-detect whether or not the user has surround sound or not. In Linux applications that auto-detect this are rare, and all those i've used that actually do, do so through pulseaudio and worst of all, sometimes get the channel mapping wrong.

Sound is terrible on linux, and OpenGL needs to be improved, these are the 2 primary issues we've got with gaming on linux, I can't really think of anything else. But OpenGL isn't all that bad as is, it's on par with DirectX in functionality and better in performance as-is. But I guess that'll be changing with DX12 huh...
Guest 12 May, 2014
Just my two cents, but DirectX will always be a worse API in my eyes due to the closed nature of it and not to mention the horrible company behind it. I'm not saying OpenGL is perfect (far from it), but it's open sourced and can be forked or improved by the community and companies. Try doing that with the properity garbage API by Microsoft. I hope his statements are taken as a note to improve rather than jump ship on OpenGL, because DirectX needs to go as soon as possible.
mirv 12 May, 2014
View PC info
  • Supporter Plus
Quoting: GuestJust my two cents, but DirectX will always be a worse API in my eyes due to the closed nature of it and not to mention the horrible company behind it. I'm not saying OpenGL is perfect (far from it), but it's open sourced and can be forked or improved by the community and companies. Try doing that with the properity garbage API by Microsoft. I hope his statements are taken as a note to improve rather than jump ship on OpenGL, because DirectX needs to go as soon as possible.

Though I understand what you mean, OpenGL is not "open source". There are requirements that have a dubious patent covering them, and other parts that, while technically not required, may as well be (e.g S3TC).
jdub 12 May, 2014
Most of the blog post is greek to me, but it's sad to see one of Valve's own saying how OGL will be inferior to their competitor's offerings, unless major changes are made....and from what I know about open source development, cutting through all the red tape can take ages
Lordpkappa 12 May, 2014
I think it's normal to see a worse support and something that doesen't work or have to be worked (in my personal experince i had a lot less problems playing with Linux than on Windows), 5 years ago the Gaming Linux Panorama was terrible, now we are increasing a lot and we have some aspect to fine tuning, like api, driver, wheels, mouses, keyboards support, ecc..
While you're here, please consider supporting GamingOnLinux on:

Patreon, Liberapay or PayPal Donation.

This ensures all of our main content remains totally free for everyone with no article paywalls. We also don't have tons of adverts, there's also no tracking and we respect your privacy. Just good, fresh content. Without your continued support, we simply could not continue!

You can find even more ways to support us on this dedicated page any time. If you already are, thank you!
The comments on this article are closed.
Livestreams & Videos
None currently, submit yours here!
Latest Forum Posts