HN user

info128

1 karma
Posts0
Comments1
View on HN
No posts found.

These are all good points, however, another very important point is driver quality / vendor support. For non-hardcore gamers, it is not uncommon to run Windows default drivers, which often have very poor OpenGL support and/or performance. I would love to see the Steam hardware survey list vendor provided vs driver support for OpenGL.

I think developers may be driven away from using OpenGL at least partially based on worry about driver support. Using Windows this is a non-issue if you stay within DX10 and Windows 7/8. According to Steam Survey, this accounts for 81.61% of users. This drops down to 56.2% for DX11.

In short, until vendor OpenGL driver support is a given, many developers will stick with Windows and Direct3D.

Another note, this one on cross platform compatibility - the limitations of OpenGL ES2.0 are problematic for anything beyond rudimentary shaders. The primary limitation right now in my mind is a shortage of uniform vectors, and the wide variance in size for different android hardware. For instance, a smooth skinning (matrix pallet) shader for skeleton-based deformation will be limited to 5 or 6 joints per mesh on most android/OpenGL ES devices, whereas most x86/OpenGL systems allow for hundreds of joints. Similar limitations apply to pixel shaders as well - post processing such as blur, bloom, dof, and SSAO are not feasible on current generations of android devices for production use.

Of course android device GPUs are getting much more powerful with each iteration, and eventually will provide a good hardware base for advanced graphics engines.

For now, though, the idea of porting a full OpenGL graphics engine with advanced shaders to OpenGL ES2.0 is pretty much a re-write of the engine. This, combined with limited CPU and memory performance, is the primary reason we don't see AAA titles showing up on Android devices yet.

A lot is coming down the pipe in terms of hardware advances, though - I'm excited to see OpenGL support grow in parallel.