Take the 2-minute tour ×
Game Development Stack Exchange is a question and answer site for professional and independent game developers. It's 100% free, no registration required.

This question is looking for updated answers for this question, which was made 1.5 years ago - as well as seeking more information.

Given that OpenGL 3.0 was released just over 5 years ago, what kinds of numbers are reasonable to expect for casual (To moderator) gamers, who have video cards that support OpenGL 3.0?

I think it's clear that a "modern gamer" would have a video card that supports OpenGL 3.0, and it's reasonable to assume that people who only use their computers for word processing and internet usage wouldn't... But what about in between? Is there data, either implicit through game popularity, or explicit from data sources like Steam (Which only tracks DirectX, sadly), that would give a decent idea of OpenGL adoption rates?

The reason why the Steam hardware survey isn't ideal for this, is because of the fact it groups hardcore gamers (And a lot of them) in with everyone else, not to mention the lack of OpenGL data - which can't always be inferred from DirectX support due to Microsoft requiring newer versions of Windows for newer versions of DirectX.

share|improve this question
    
Check store.steampowered.com/hwsurvey It does not have the OpenGL version numbers but it's still a good starting point. Note how virtually everyone (almost 95%) has a DX10-capable GPU. DX 10-capable GPUs typically run OpenGL 3.x if the right drivers are installed. –  luiscubal Sep 14 '13 at 0:45

1 Answer 1

The latest Intel drivers are limited to OpenGL 4.0. The hardware is likely capable of higher version, but that's all they're advertising. Chipsets older than Ivy Bridge are locked at GL 3.0 with no driver updates in years.

Linux's default FOSS drivers are limit to roughly OpenGL 3.1, though it can vary for each GPU chip. The base supported GL version has been increasingly steadily, with Intel usually the first chip to support new GL versions and some slightly older AMD chips right on their heels. Newer chipsets from AMD and almost everything from NVIDIA have very lacking support on the FOSS drivers.

OSX only supports up to 3.2 last time I looked, though the new version about to come up may increase that.

Windows drivers for AMD and NVIDIA (and the Linux versions of the proprietary drivers) are generally of the very latest version. Said versions are often quite buggy, however, and even some GL 3.x features were unusable just a year ago without getting frequent driver crashes or other driver issues.

For mobile, OpenGL ES 2.0 is standard. A few devices coming out this year have OpenGL ES 3.0 (a handful of Android devices and the iPhone 5S), but even the vast majority of brand new sets are still GL ES 2.0.

WebGL 1.0 is based on OpenGL 2.0. There is an experimental WebGL 2 from the Mozilla folks that targets GL ES 3.0, but it's in no way official or recommended for use by Khronos or supported by any browser except Firefox, and probably only behind a config flag.

The safest bet for maximum portability is to target the feature intersection of OpenGL ES 2.0 and OpenGL 3.0, and just account for the minor API differences that you'll run into. You can write code supporting both without too much effort. If you're looking to maximize capabilities of a graphics engine, you're just going to need to support different feature levels or APIs.

Aside from minimum version level support, just be aware of bugs. Just because you can use GL 4.x features in some place does not mean those features are stable. The vast majority of games and even CAD applications these days use DirectX or GL 2.x, so the newer versions of GL don't have a lot of stress tests from common applications. In general if you're writing a GL game you're at the mercy of what the tiny handful of other popular GL games (id's games, for instance) do as they will be well-supported. Simply calling certain GL functions in a different order than Carmack's team did could result in hitting a driver bug. In other words, a driver might support OpenGL 4.2, but you can only safely use the GL 3.1 subset of that and a few select popular extensions (arbitrary version numbers chosen for exposition). I'm not personally aware of any major bugs in GL 3 Windows drivers these days.

For information on driver stability and version support, I look to at Christophe Riccio's OpenGL status page. He is the author of GLM and a leading expert on OpenGL. That page does not list all drivers (the FOSS drivers are usually absent) and does not indicate uptake, but it is a key data point since as you stated DirectX versions don't map directly to GL versions (largely due to GL drivers lagging the standard pretty heavily).

share|improve this answer
    
Thank you for the extremely informative reply. The main reason I ask is because Monogame seems to require OpenGL 3.0 to run (For whatever reason), and I'm wondering if enough average gamers use 3.0 to justify making my game Monogame-only. So while your reply was awesome and gave me a lot more insight into the issue, it also makes me realize there are a lot more issues to this than I thought. –  Jon Sep 14 '13 at 3:47
1  
OS X Maverics will support 4.1. –  SurvivalMachine Sep 14 '13 at 5:29
    
That's useful to know, thanks. –  Sean Middleditch Sep 14 '13 at 17:36

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.