OpenGL And ES Updated
Written by Alex Armstrong   
Thursday, 09 August 2012

This week at SIGGRAPH 2012 the Khronos Group is celebrating 20 years of OpenGL, the cross-platform 3D graphics API specification, and has launched two updated versions, OpenGL 4.3 and OpenGL ES 3.0.

opengllogo

 

OpenGL ES is the cutdown version of OpenGL that powers 3D graphics rendering on mobile phones. It sees a major update that adds GPU support and much enhanced texture rendering speeds. By adding features from OpenGL 3.x and 4.x  its shaders have been made more capable, with full support for 32-bit integer and floating point data.

As a result OpenGL ES 3.0 GPUs will support more complex textures including ones with arbitrary sizes (instead of requiring the dimensions of each edge to be a power of two) and with  floating point values. Also important is the addition of new compressed texture formats, ETC2 and EAC, that use algorithms devised by Ericsson and and are available royalty free.

 

openglcorearch

 

OpenGL 4.3 is a decimal point update but it has a long list of enhancements, some of which are to keep it abreast of OpenGL ES 3.0:

 

  • 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.


 

opengllogo

 

Many consider that OpenGL slipped behind competing graphics packages such as DirectX, but since the Khronos group took the helm things have been moving faster. OpenGL ES still lags behind DirectX, but until Windows Phone 8  is released it will be difficult to compare the two in any realistic way.

The improvements to OpenGL 4.3 are fairly minor with the exception of the compute shaders which make it much easier to use the GPU for non-graphical computations. This would allow the GPU to be used for tasks such as game physics or AI while the graphics pipeline is free to get on with rendering the next frame.

Nvidia has already released a set of beta OpenGL 4.3 drivers and others are likely follow.

More Information

Khronos OpenGL ES API Registry

OpenGL Registry

OpenGL 4.3 at a glance

Related Articles

OpenGL 4.1

OpenGL Faster Than DirectX - Or Is It?

Graphics Accelerators

OpenGL Shading Language

Fundamentals of Computer Graphics

OpenGL Programming Guide

 

raspberry pi books

 

Comments




or email your comment to: comments@i-programmer.info

 

To be informed about new articles on I Programmer, install the I Programmer Toolbar, subscribe to the RSS feed, follow us on, Twitter, Facebook, Google+ or Linkedin,  or sign up for our weekly newsletter.

 

Banner


SnapCode: A Java IDE for the Web
27/02/2024

Thanks to CheerpJ and WebAssembly you can now run a Java IDE inside your browser and local first.This is SnapCode, and while lightweight and in-browser, is to be not underestimated.



pgxman - PostgreSQL Extension Manager
19/02/2024

pgxman is a package manager like npm, but instead of Javascript packages, it is for PostgreSQL extensions. It detects and streamlines extension operations and looks after dependency manageme [ ... ]


More News

Last Updated ( Thursday, 09 August 2012 )