The specifications of OpenGL 4.1 just got released by the Khronos group (But why didn't they wait for the OpenGL BOF ??).
It does not bring a lot of new features, but it's still great to see OpenGL quickly evolving ! Direct State Access does not get into the core yet (sorry Christophe ;-), and I am not sure we will get it before OpenGL 5.0...
As usual, NVIDIA is very likely to announce the release of drivers supporting OpenGL 4.1 during the OpenGL BOF :-)
OpenGL.org forum official thread here.
It does not bring a lot of new features, but it's still great to see OpenGL quickly evolving ! Direct State Access does not get into the core yet (sorry Christophe ;-), and I am not sure we will get it before OpenGL 5.0...
As usual, NVIDIA is very likely to announce the release of drivers supporting OpenGL 4.1 during the OpenGL BOF :-)
OpenGL.org forum official thread here.
Here are the main new features:
- Viewport Array (ARB_viewport_array). This is, for me, the most interesting new feature. It allows to manipulate multiple viewports inside a given render call. Viewports control the behavior of the "viewport transformantion" stage (view space -> window coordinates, scissor test). Multiple viewports can be created and the geometry shader can direct emitted primitives to a selected viewport. A separate viewport rectangle and scissor region can be specified for each viewport.
- Ability to get the binary representation of a program object (ARB_get_program_binary). This is a long-awaited feature present in DX for a while.
- Separate shader objects (ARB_separate_shader_objects). It allows to compile and to to link a separate program for each shader stage (PS/GS/TCS/TES/FS). A Program Pipeline Object is introduced to manipulate and bind the separate programs. That's also a useful features, and that was the way to do in Cg.
- Improved compatibility with OpenGL ES 2.0 (ARB_ES2_compatibility). Adds a few missing functions and tokens.
- Support for 64bits vertex attributes in GLSL (ARB_vertex_attrib_64bit).
- Increases required size for textures/renderbuffers.
- ARB_debug_output: Callback mechanisms to receive enhanced errors and warning messages.
- ARB_robustness: Address multiple specific goals to improve robustness, for example when running WebGL applications. For instance it provide additional "safe" APIs that bound the amount of data returned by an API query.
- ARB_shader_stencil_export: Ability to set stencil values in a fragment shader for enhanced rendering flexibility :-)
- ARB_cl_event: Link OpenGL sync objects to OpenCL event objects for enhanced OpenCL interoperability.
UPDATE 27/07: That's done, NVIDIA released it's OpenGL 4.1 drivers ! Everything there.
July 27, 2010 at 6:42 PM
There isn't much improvement but it's nice to see that things are moving quickly towards our preferred 3D API.
August 19, 2010 at 11:42 AM
To be accurate, a part of the DSA made it to core through the separate shader extension. :p
I am actually quite confident to get more and more DSA in the next releases and I prefer that EXT_direct_state_access never make it to core as everything isn't entirely good.
August 26, 2010 at 1:03 PM
That's true I did not realize that ! :-)