Il consorzio Khronos Group ha ufficialmente rilasciato le specifiche delle API OpenGL 3.1 utilizzate nell'ambito della grafica 3D. OpenGL 3.1 include una rinnovata versione, la 1.40, del linguaggio GLSL, una maggiore compatibilità con le funzionalità di cui è dotato il moderno hardware video dal punto di vista della programmabilità, e miglioramenti del vertex processing e delle funzionalità di texturing in genere.
In accordo al comunicato stampa di presentazione emesso dal Khronos Group, a breve saranno sul mercato le prime implementazioni delle nuove specifiche. Le specifiche di OpenGL 3.1 sono state formalizzate nel documento The OpenGL Graphics System: A Specification (Version 3.1 - March 24, 2009).
24th March, 2009 - GDC, San Francisco, CA - The Khronos Group announced today it has publicly released the OpenGL 3.1 specification that modernizes and streamlines the cross-platform, royalty-free API for 3D graphics. OpenGL 3.1 includes GLSL 1.40, a new version of the OpenGL shading language, and provides enhanced access to the latest generation of programmable graphics hardware through improved programmability, more efficient vertex processing, expanded texturing functionality and increased buffer management flexibility. OpenGL 3.1 implementations are expected shortly from multiple vendors. The new OpenGL 3.1 specification and more details are available at www.khronos.org/opengl.
OpenGL 3.1 leverages the evolutionary model introduced in OpenGL 3.0 to dramatically streamline the API for simpler and more efficient software development, and accelerates the ongoing convergence with the widely available OpenGL ES mobile and embedded 3D API to unify application development. The OpenGL 3.1 specification enables developers to leverage state-of-the-art graphics hardware available on a significant number of installed GPUs across all desktop operating systems. According to Dr. Jon Peddie of Jon Peddie Research, a leading graphics market analyst in California, the installed base of graphics hardware that will support OpenGL 3.1 exceeds 100 million units. OpenGL 3.0 drivers are already shipping on AMD, NVIDIA and S3 GPUs.
Concurrently with the release of the OpenGL 3.1 specification, the OpenGL ARB has released an optional compatibility extension that enables application developers to access the OpenGL 1.X/2.X functionality removed in OpenGL 3.1, ensuring full backwards compatibility for applications that require it.
"The rapid nine month development of OpenGL 3.1 demonstrates the schedule-driven approach to the standard that is enabling and inspiring cutting edge, cross-platform GPU functionality," said Barthold Lichtenbelt, chair of the OpenGL ARB working group at Khronos. "OpenGL 3.1 answers the requests from the developer community to streamline and modernize the OpenGL API. The OpenGL ARB will continue to leverage the unique evolutionary model introduced in OpenGL 3.0 to drive the ongoing revolution in OpenGL while ensuring backwards compatibility where it is needed."
OpenGL 3.1 introduces a broad range of significant new features including:
- Texture Buffer Objects - a new texture type that holds a one-dimensional array of texels of a specified format, enabling extremely large arrays to be accessed by a shader, vital for a wide variety of GPU compute applications;
- Signed Normalized Textures - new integer texture formats that represent a value in the range [-1.0,1.0];
- Uniform Buffer Objects - enables rapid swapping of blocks of uniforms for flexible pipeline control, rapid updating of uniform values and sharing of uniform values across program objects;
- More samplers - now at least 16 texture image units must be accessible to vertex shaders in addition to the 16 already guaranteed to be accessible to fragment shaders;
- Primitive Restart - to easily restart an executing primitive, useful for efficiently drawing a mesh with many triangle strips, for example;
- Instancing - the ability to draw objects multiple times by re-using vertex data to reduce duplicated data and number of API calls;
- CopyBuffer API - accelerated copies from one buffer object to another, useful for many applications including those that share buffers with OpenCL 1.0 for advanced visual computing applications.
Member Quotes
"AMD will support OpenGL 3.1 in the upcoming driver release for the Radeon and FirePro products, and is fully supportive of the OpenGL API," said Suki Samra, director of OpenGL at AMD.
"NVIDIA is committed to the rapid adoption of OpenGL 3.1 and we are proud to release our beta drivers on the same day as the specification itself," said Dan Vivoli, vice president of marketing at NVIDIA. "OpenGL 3.1 marks over 15 years of tradition in advancing the state-of-the-art for graphics developers."
About OpenGL
The OpenGL specification enables developers to incorporate a broad set of programmable 3D and 2D graphics rendering and visualization functions, and provides unfettered access to graphics hardware acceleration. Since its introduction by SGI in 1992, OpenGL has become the industry’s most widely used and supported programming interface and is available on all major computer platforms, including Windows, Linux and Mac OS X. Overseen by the Khronos Group since 2006, and with broad industry support, OpenGL is a vendor-neutral, multiplatform graphics standard that is uniquely positioned to leverage and drive the continuing evolution of graphics hardware.
About The Khronos Group
The Khronos Group is an industry consortium creating open standards to enable the authoring and acceleration of parallel computing, graphics and dynamic media on a wide variety of platforms and devices. Khronos standards include OpenGL, OpenGL ES, OpenCL, OpenMAX, OpenVG, OpenSL ES, OpenKODE, and COLLADA. All Khronos members are able to contribute to the development of Khronos specifications, are empowered to vote at various stages before public deployment, and are able to accelerate the delivery of their cutting-edge media platforms and applications through early access to specification drafts and conformance tests. More information is available at http://www.khronos.org.
Collegamenti