The Khronos™ Group today announced the immediate release of the OpenGL® 4.2 specification, bringing the very latest graphics functionality to the most advanced and widely adopted cross-platform 2D and 3D graphics API (application programming interface). OpenGL 4.2 integrates developer feedback and continues the rapid evolution of this royalty-free specification while maintaining full backwards compatibility - enabling applications to incrementally use new features, while portably accessing state-of-the-art graphics processing unit (GPU) functionality across diverse operating systems and platforms.

The OpenGL 4.2 specification has been defined by the OpenGL ARB (Architecture Review Board) working group at Khronos, and includes the GLSL 4.20 update to the OpenGL Shading Language. The OpenGL 4.2 specification contains new features that extend functionality available to developers and enables increased application performance. The full specification is available for immediate download at http://www.opengl.org/registry.

New functionality in the OpenGL 4.2 specification includes:

  • ARB_shader_atomic_counters
    • GLSL built-in functions to query and increment/decrement atomic counters
    • Counters stored in buffer objects
  • ARB_shader_image_load_store
    • allow shaders to load from, store to, and perform atomic read-modify-write operations to a single level of a texture
  • ARB_texture_storage
    • Immutable textures
  • ARB_transform_feedback_instanced
    • Draw multiple instances of the result of a transform feedback
    • Without query and sync needed for DrawArraysInstanced()
  • ARB_shading_language_420pack
    • Collection of new GLSL features
  • ARB_texture_compression_BPTC
    • ARB extension since January 2010, promoted to core now
    • Same formats as BC6H/BC7 in DirectX 11
  • ARB_base_instance
    • Specify offset within buffer object for instanced drawing
  • ARB_internalformat_query
    • Find out supported number of samples per internal format
  • ARB_compressed_texture_pixel_storage
    • Modify an arbitrary subset of a compressed texture
  • ARB_shading_language_packing
    • allows GLSL shaders to read and write 16-bit floating-point encodings
    • Pack small data types into one larger one
  • ARB_map_buffer_alignment
    • Pointer returned is aligned for SSE/AVX CPU instructions
  • ARB_conservative_depth
    • Shader constructs that help enable depth testing before fragment processing


Lastly, Khronos has simultaneously released a set of ARB extensions to enable as much OpenGL 4.2 core functionality as possible on previous generation GPU hardware; providing maximum flexibility and platform coverage for application developers.

Learn more about what is new in OpenGL 4.2 at the BOF at Siggraph, Wed, Aug 10th from 4- 6PM in the Pan Pacific Hotel, Crystal Ballroom B&C. http://www.khronos.org/news/events/s...vancouver-2011