OpenGL 4.0 Announced; Offers DX11 Feature Parity

The Khronos Group that maintains the OpenGL API launched two new flavors of the specification at the Games Developer Conference (GDC) this week. OpenGL 4.0 is designed to update the API to DirectX 11-level functionality, while the 3.3 release is meant to allow previous generations of OGL hardware (presumably 3.x-compliant cards) to take advantage of OpenGL 4.0 functionality. Khronos lists the following features as new in version 4.0:

  • Two new shader stages that enable the GPU to offload geometry tessellation from the CPU;
  • Per-sample fragment shaders and programmable fragment shader input positions for increased rendering quality and anti-aliasing flexibility;
  • Drawing of data generated by OpenGL, or external APIs such as OpenCL, without CPU intervention;
  • Shader subroutines for significantly increased programming flexibility;
  • Separation of texture state and texture data through the addition of a new object type called sampler objects;
  • 64-bit double precision floating point shader operations and inputs/outputs for increased rendering accuracy and quality;
  • Performance improvements, including instanced geometry shaders, instanced arrays, and a new timer query.
OpenGL isn't all that important to Windows-based PC gaming—the API defines its features relative to DirectX—but it remains the API of choice for professional rendering software, CAD/CAM drafting, and various other non-gaming programs. It's used by OS X, but not completely—the current version of Snow Leopard (10.6.2) only supports OpenGL 2.1, essentially putting it on equal footing with DirectX 9.0c. Comments from beta testers using OS X 10.6.3 indicate that Apple is moving towards supporting OpenGL 3.0 completely in either 10.6.3 or a future point release.

It makes really pretty pictures:  Render by OpenGL(That's the artist, not the API)

The other area where OpenGL is making strides is the mobile/handheld/smartphone market. These devices typically use OpenGL ES (Embedded Standard); the fact that there's no Mobile DirectX makes this a space where we could see a great deal of growth in the next few years. At present, the OpenGL ES standard is on version 2.0. This appears roughly analogous to DirectX 8—it's hard to tell precisely, but OGL ES 2.0 added support for programmable shaders (a DX8 function) while OGL ES 1.1 and DirectX 7 both relied on fixed-function shaders.

We contacted Microsoft to inquire about the possibility of any sort of Mobile DirectX but received no response. NVIDIA has pledged to support OpenGL 4.0 with Fermi; ATI has not yet commented on when we'll see a 4.0-compatible driver. It took AMD about six months to release an OGL 3.0 driver, but the company delivered its 3.1 and 3.2 drivers much more quickly. AMD has mentioned on several occasions that it would like to see more of its GPUs in professional workstations; better OpenGL performance and support is important if AMD is to crack NVIDIA's lock on that market.
Via:  Khronos Group
3vi1 4 years ago

One thing to note is that new versions of OpenGL typically do not add new features - they consolidate and standardize features that vendors have already added as extensions. Unlike DirectX, vendors can add support for new hardware features to OpenGL without waiting for another company to update the API.

rapid1 4 years ago

I am glad to see OpenGL moving along, I really think it is valuable for there to be an open standard like it, and am glad to see them moving onto DX11.

3vi1 4 years ago

That's what I was afraid of: People thinking OpenGL is copying features from DX11. It's actually the other way around - Manufacturers create these new features (not Microsoft), and they show up as OpenGL extensions first.

Using OpenGL extensions, ATI cards supported hardware tessellation at least as far back as last August - before DX11 was even released. This update to the spec standardized the calls - any card manufacturer could have added support for them in OpenGL on any hardware before now (had nVidia actually released any cards with hardware tessellation).

Post a Comment
or Register to comment