Hello frequent OpenGL.org posters…
I’d be interested to learn details about the kinds of OpenGL applications you work on. Motivation here is to get more insight about the features you need in OpenGL which can have a big effect on scheduling and priorities for upcoming releases.
Kicking things off, here are the applications whose development I’m involved with at Blizzard - followed by some comments about features we need in OpenGL to further improve them.
World of Warcraft (supports OpenGL on Windows and MacOS X)
StarCraft II (OpenGL on OS X)
Diablo III (OpenGL on OS X)
Probably one of our highest priority needs for improvement in OpenGL is to streamline the interface for communicating with GLSL shaders, specifically the rate at which uniform values can be set en-masse, in situations encompassing many individually named uniforms, not suitable for packing into an array such as could be driven by the bindable-uniform extension.
On the latter two titles, the engine can run in either ARB assembler mode or GLSL mode, the ARB path has a high performance API for updating uniforms in batches, this isn’t the case yet for GLSL. Since we’d like to use the richer semantics of GLSL and run fast, this is one issue that is high priority for our games and not currently addressed by OpenGL 3.0.
Another one not currently covered by GL3 is a compiled shader caching capability to help improve load times.
GL3 and the new ARB extensions for 2.x do bring an improved feature set for games such as MapBufferRange, the enhanced ARB_framebuffer_object spec, instanced rendering, explicit support for one and two channel textures, and a few other things that we are looking forward to using as the implementations come along.
(more items and details as I think of them)
Looking forward to learning more about the apps the rest of you are involved with, and what we could do in post GL3 releases to help you improve them.