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!

Monday, July 19, 2010

Geometry Shader Silhouettes without Adjacency Information

Rendering silhouette edges is a classic problem in NPR. It has other uses to - for example, in terrain rendering, it can convey quite a bit about where ridge lines are:

Of course, the above comparison is not very fair. The image on the left is just shaded by height (no lighting) which can hide terrain features, especially for horizon views. Regardless, silhouettes are cool and most graphics developers are familiar with the standard geometry shader approach based on adjacency information (if not see Inking the Cube: Edge Detection with Direct3D 10 or Single Pass GPU Stylized Edges). What I'd like to briefly share with you is a geometry shader approach that does not require adjacency info, which means you won't need one index buffer with adjacency info and another without it!

Tuesday, July 13, 2010

OpenGL at SIGGRAPH 2010 Update

The OpenGL Community Drink at SIGGRAPH has now been scheduled:

   Monday, July 26th, 6pm
   Veranda Bar in the Figueroa Hotel

The Figueroa Hotel is one of the closest hotels to the convention center. See the Hotel Map. There is no need to RSVP but you are welcome to chime in here, email Christophe, leave a comment below, or just show up, we're not exactly going for anything formal.

Friday, July 9, 2010

OpenGL at SIGGRAPH 2010

One of the many reasons I love SIGGRAPH is it allows me to stay current with the now quickly moving world of OpenGL. This year there are many sessions covering OpenGL:
  • OpenGL BOF: Always has the latest OpenGL news. It might even be the most attended BOF at the conference - the free beer doesn't hurt. It is on Wednesday, 5:15-7:15pm
  • OpenGL 4.0 for 2010: Hosted by NVIDIA on Wednesday, 10:15-11:30 am.
  • OpenGL Community Drink: Currently being organized by Christophe Riccio (creator of GLM and the OpenGL Samples Pack). This will be a great opportunity to meet people that are active on the forums or just using OpenGL in general. The time and place have not been set yet but it is likely to be Monday night. Join the planning discussion here. This is an informal meeting and not an official SIGGRAPH event.

Thursday, July 1, 2010

GPU Ray Casting of Virtual Globes at SIGGRAPH 2010

SIGGRAPH is just around the corner! I am excited to present our poster: GPU Ray Casting of Virtual Globes. The papers and presentations page contains the abstract, video, and all that good stuff.

The poster sessions are Tuesday and Wednesday, 12:15-1:15pm. If you are interested in GPU ray casting, rendering ellipsoids, or anything related, stop by our poster at location 80B in the West Lobby.