Saturday, July 31, 2010

OpenGL 4.1 and more at SIGGRAPH

After attending SIGGRAPH, I am convinced now, more than ever, is a great time to be using OpenGL. There was lots of exciting news:
  • The OpenGL 4.1 and GLSL 4.1 specs were released, very shortly followed by NVIDIA drivers. This includes long requested features such as ARB_separate_shader_objects and ARB_get_program_binary. I was pleasantly surprised to see the extra debugging information now available with ARB_debug_output. This will be the first thing I try out.

    Of particular interest to virtual globe developers is ARB_vertex_attrib_64bit which will help the common "jitter" problem on machines with GL 4.x hardware. Dealing with this problem on pre-4.x hardware is a topic in our book. Until it comes out, check out Deron's Precisions, Precisions article.

  • The OpenGL SDK reference pages were updated for 3.3 and 4.1 core profiles! You no longer have to dig through the spec to find reference material for the latest GL features (not that it was that bad). The 2.1 reference pages are still around if you need to look up deprecated functions.

  • If you didn't get to attend the OpenGL BOF (or even if you did), I recommend reading through the slides. There's lots of exciting news, including a lightweight texture file format, KTX, for OpenGL and OpenGL ES, a 0.9 version of a modern GLU: GLU3, and progress towards OpenGL conformance tests.

    As lame as it sounds, I am pumped about the conformance tests. They should really improve the quality of OpenGL drivers, which have already been increasingly stable on recent hardware and operating systems.

  • NVIDIA's OpenGL 4.0 for 2010 presentation is also worth a look. I was glad to see how crowded this session and the BOF were!

Even though I am thrilled with the direction of OpenGL, there are two things I'd like to see:
  • 3.4 - I was expecting to see 3.4 released at the same time as 4.1 but instead 3.x gained new ARB extensions, including the ones listed above minus ARB_vertex_attrib_64bit. Since not all vendors support all ARB extensions, I would have rather seen these great features rolled into 3.4. This way the features are guaranteed to be implemented, and application developers can simply say their application requires 3.4 instead of saying 3.4 plus whatever extensions. I would not mind seeing 3.4 released with 4.2 (or 5.0?) and include all possible extensions from 4.1 and 4.2.
  • I'd also like to see debugging support for modern GLSL shaders. If OpenGL really wants to be a Direct3D superset, it needs better tool support. Right now, there is glslDevil but it does not support core profile development. There is also NVIDIA's Parallel Nsight (see their SIGGRAPH presentation), which currently has very little OpenGL support and the support requires the paid version. Although, I am under the impression that NVIDIA is working on more OpenGL and GLSL features. They will hit a home run if we can seamlessly debug GLSL shaders!

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.