
From SIGGRAPH 2008, one of the premiere computers graphics conferences, the Khronos Group has announced the release of the OpenGL 3.0 API specification and the GLSL 1.30 shading language specification. This is the first major update to this cross-platform 3D programming API since the OpenGL 2.1 release two years ago.
OpenGL 3.0 introduces dozens of new features including:
- Vertex Array Objects to encapsulate vertex array state for easier programming and increased throughput;
- Non-blocking access to Vertex Buffer Objects with the ability to update and flush a sub-range for enhanced performance;
- Full framebuffer object functionality including multi-sample buffers, blitting to and from framebuffer objects, rendering to one and two-channel data, and flexible mixing of buffer sizes and formats when rendering to a framebuffer object;
- 32-bit floating-point textures and render buffers for increased precision and dynamic range in visual and computational operations;
- Conditional rendering based on occlusion queries for increased performance;
- Compact half-float vertex and pixel data to save memory and bandwidth;
- Transform feedback to capture geometry data after vertex transformations into a buffer object to drive additional compute and rendering passes;
- Four new texture compression schemes for one and two channel textures providing a factor of 2-to-1 storage savings over uncompressed data;
- Rendering and blending into sRGB framebuffers to enable faithful color reproduction for OpenGL applications without adjusting the monitor's gamma correction;
- Texture arrays to provide efficient indexed access into a set of textures;
- 32-bit floating-point depth buffer support.
“We are very pleased to see the release of OpenGL 3.0, which includes numerous features and extensions that will help us and other ISVs bring amazing gaming content to OpenGL-based platforms,†commented Gavriel State, founder & CTO of TransGaming, Inc.
The new version of the OpenGL Shading Language, GLSL 1.30, provides front-to-back native integer operations including full integer-based texturing, integer input and outputs for vertex and fragment shaders and a full set of integer bitwise operators. It also improves compatibility with OpenGL ES, adds new interpolation modes, includes new forms of explicit control over texturing operations, provides additional built-in functions for manipulating floating-point numbers and introduces switch statements for enhanced flow control within shader programs.
OpenGL 3.0 defines an evolutionary process for OpenGL that will accelerate market-driven updates to the specification. The new OpenGL API supports the future creation of profiles to enable products to support specific market needs while not burdening every implementation with unnecessary costs. To avoid fragmentation, the core OpenGL specification will contain all defined functionality in an architecturally coherent whole, with profiles tightly specifying segment-relevant subsets. OpenGL 3.0 also introduces a deprecation model to enable the API to be streamlined while providing full visibility to the application developer community, enabling the API to be optimized for current and future 3D graphics architectures.
OpenGL 3.0 is a significant evolutionary step that integrates new functionality to ensure that OpenGL is a truly state-of-the-art graphics API while supporting a broad swathe of existing hardware,†said Barthold Lichtenbelt, chair of the OpenGL working group at Khronos. “Just as importantly, OpenGL 3.0 sets the stage for a revolution to come – we now have the roadmap machinery and momentum in place to rapidly and reliably develop OpenGL - and are working closely with OpenCL to ensure that OpenGL plays a pivotal role in the ongoing revolution in programmable visual computing
Source : Khronos Press Releases - Khronos Releases OpenGL 3.0 Specifications | [Phoronix] OpenGL 3.0, GLSL 1.30 Specifications Released