Official feedback on OpenGL 4.3 thread
August 6th, 2012 – Los Angeles, SIGGRAPH 2012 – The Khronos™ Group today announced the immediate release of the OpenGL® 4.3 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.3 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.3 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.
Twenty years since the release of the original OpenGL 1.0, the new OpenGL 4.3 specification has been defined by the OpenGL ARB (Architecture Review Board) working group at Khronos, and includes the GLSL 4.30 update to the OpenGL Shading Language.
New functionality in the OpenGL 4.3 specification includes:
- compute shaders that harness GPU parallelism for advanced computation such as image, volume, and geometry processing within the context of the graphics pipeline;
- shader storage buffer objects that enable vertex, tessellation, geometry, fragment and compute shaders to read and write large amounts of data and pass significant data between shader stages;
- texture parameter queries to discover actual supported texture parameter limits on the current platform;
- high quality ETC2 / EAC texture compression as a standard feature, eliminating the need for a different set of textures for each platform;
- debug capability to receive debugging messages during application development;
- texture views for interpreting textures in many different ways without duplicating the texture data itself;
- indirect multi-draw that enables the GPU to compute and store parameters for multiple draw commands in a buffer object and re-use those parameters with one draw command, particularly efficient for rendering many objects with low triangle counts;
- increased memory security that guarantees that an application cannot read or write outside its own buffers into another application’s data;
- a multi-application robustness extension that ensures that an application that causes a GPU reset will not affect any other running applications.
Learn more about what is new in OpenGL 4.3 at the BOF at Siggraph, Wed, August 8th from 6-7PM in the
JW Marriott Los Angeles at LA Live, Gold Ballroom –Salon 3. Then join us to help celebrate the 20th anniversary of OpenGL on Wednesday August 8th from 7-10 PM in the JW Marriott Los Angeles at LA Live Gold Ballroom – Salon 1, 2 & 3.http://www.khronos.org/news/events/s...012#opengl_bof
Complete details on the BOF are here:
Complete details on the Party are here:
Elements of the the 4.3 spec that make me go hmmm...
Section 7.2 Shader Binaries:
why do the shader types need to be unique? Is this a typo and should it read that the handles are unique? In contrast, AttatchShader of section 7.3:
shaders contains a list of count shader object handles. Each handle refers to a
unique shader type,
Multiple shader objects of the same type may be attached to a single program
object, and a single shader object may be attached to more than one program object.
Section 10.3.1 (Specifying Arrays for Generic Vertex Attributes) and 10.4(Vertex Array Objects)
Table 10.2 refers to glVertexAttribPointer calls rather than glVertexAttribFormat calls.
I found that reading the extension GL_ARB_vertex_attrib_binding was easier to grok the index indirection that VertexAttribBinding specifies. The interaction of VAO's with VertexAttribBinding also takes a moment or so to grok correctly. It is in the table, but perhaps a little more text to hold a reader's hand on it.
There is ClearBufferSubData, why is there not an analogue for textures? Or is it in the specification and I missed it?
Section 22.214.171.124 (Standard Uniform Block Layout) 1st paragraph, last sentence:
Would be a touch more merciful if a reference to the query function and parameters was indicated
"Applications may query the off-sets assigned to uniforms inside uniform blocks with query functions provided by
on how to query of GLSL program for the format of a uniform block.. this is nit picking, but hey, I missed SIGGRAPH this year, so I am grouchy.