OpenGL celebrates its 20th birthday equipped with two new versions.

| August 8, 2012 | 0 Comments

Enlarge / The SGI Important thing Engine revision 2 bumped the quantity of processors on the Geometry Engine about 12.This is what graphics power looked like in the olden enough time.

Dave Fischer, via Zynga

The Khronos Group appears to be released two new sorts of its 3D graphics APIs.The mobile-oriented OpenGL ES specification has been made a major upgrade these people to version 3.0, and these desktop OpenGL specification has already established a minor update to bring it to version 4.3.

After some years of stagnation and an abandoned actively radically change the way OpenGL worked—during which time Microsoft’s Direct3D API cosmopolitan in leaps and bounds—the Khronos Group this developing new iterations for those OpenGL standard at normal clip.While Direct3D has still been recently first to standardize certain new features, the OpenGL designers in order to quickly picking them downwards and integrating them.

OpenGL ES has gone up to prominence primarily on the back of the iPhone and Leveling bot.Both iOS and Bot use OpenGL ES in whose 3D API, and the giant growth in smartphone gaming has made OpenGL ES a critical API to the developers.

OpenGL ES 2.0 was first introduced in 2007, with hardware striking the market in 2009-10.It was roughly relying then-current OpenGL 2.x, stripping out OpenGL features that were needed only for counter clockwise compatibility, and using a simpler set of data patterns and texture formats.

The newest OpenGL ES 3.0 gives them various features from OpenGL 3.x and 4.x.Shaders, the small pieces of code helpful to program GPUs, have been made more capable, with overall support for 32-bit integer and have floating point data.OpenGL ES 3.0 GPUs will support more complicated textures—for example, textures with arbitrary izes and shapes (instead of requiring how big each edge to be a power of two), so textures with floating indicate values.

The Khronos Set has added new compressed texture formats to OpenGL ES 3.0.Delivering algorithms devised by Ericsson, and available royalty free for most of us to implement, ETC2 and EAC provide a standard way to lightweight textures for OpenGL ES makers.

This fills a selected gap in OpenGL ES.Texture compression is particularly important on mobile hard disk drives, as it reduces the sort of memory and bandwidth must store textures.Direct3D hardware tends to possess a compression algorithm called S3TC, but there are many proprietary, and to use S3TC you need to pay royalties to HTC.

OpenGL forbids some great benefits of non-free algorithms, so it can not use S3TC.Instead, each GPU vendor has tended to get started on its own proprietary assimilation algorithms.This makes things difficult for developers, as they cannot anticipate any particular feature set and have to distribute multiple a variety of their textures, one for every algorithm.

The Khronos Group works on a new levels algorithm, ASTC, that is not any mandatory part of OpenGL ES 3.0, but might become compulsory in the future.

OpenGL ES 3.0 has also got some new drawing solutions, such as the ease of perform instanced rendering:one object (made up of some lines or triangles) they can be drawn multiple times for any single command.

Even from the new features, OpenGL ES 3.0 is still somewhat behind Direct3D 10 and its OpenGL 3.2 (and newer) in many instances capabilities.In particular, OpenGL ES 3.0 should include support for geometry shaders.The aforementioned shaders can generate foreign lines and triangles, and are used for tasks such as tessellation:taking a classic shape, and adding new lines this to smooth out curves that will create it look better.

Mobile components supporting OpenGL ES 3.0 should opened in 2013.

OpenGL 4.3 is definitely a much smaller update.A lot of the changes are to purpose parity with OpenGL ES 3.0 to guarantee it remains a trustworthy superset of OpenGL ES.

The largish new feature in GL 4.3 is currently support for compute shaders.Compute shaders allow graphics-oriented system to integrate GPU-based computation to their rendering engines.In earlier days of GPU-based working out, developers had to make-believe their data was either pixel data, processed as per pixel shaders, or edge and triangle data, refined using vertex shaders not only that but geometry shaders.These shaders were executed from a particular order; essentially, data goes linked to the vertex shaders into the end results geometry shaders, and then (after how the GPU does some processing) within the pixel shaders.

While this will work, it is awkward for each developers.They have to wrangle their programs to ensure they are look as if we were looking at operating on graphics resistant, and the involvement with all the current graphics pipeline means that it’s awkward to use the GPU simultaneously to think on graphics and manage general purpose computation.

Compute shaders locale this very issue.Compute shaders operate on general buffers of info, and operate separately linked to the graphics pipeline—while they can inject data to your graphics pipeline, they do not need to.This makes it simpler to use the GPU at the same time for non-graphical tasks, like in physics or AI duplication, and for advanced graphical processing act like raytracing.

In conjunction with these two new API features, the Khronos Group has started development of a software library to allow development of programs using its OpenCL computation API sleeker.Similar libraries already there to help OpenGL and Direct3D (called FLOOD and DXUT, respectively).The OpenCL library continues to be called CLU.

OpenGL is 20 years of age this year.Silicon Art published OpenGL 1.0 in many instances January 1992.The Silicone Graphics RealityEngine, released of a 1992, was spread through three to six term boards.The Geometry Powerplant board housed eight Intel i860XP CPUs at 50MHz every single day.Rasterization and texture space for storage were performed by point to consider, two, or four Raster Space for storage boards, and display output was dealt with by a Display Generator wood.

This powerhouse an in depth process 1 million triangles consistent with second and render 240 million pixels per second.Its total number-crunching power was about 0.64 billion flying operations per second.

Twenty stages later, an NVIDIA GeForce GTX 680 allows for 1, 800 million triangles as per second, 14, 400 mil pixels per second, and have absolutely processing power totaling 3, 090 billion floating point operations consistent with second—between 60 and 4, 830 times faster as opposed to pioneering RealityEngine.

.

Category: New Technology

About the Author ()

Leave a Reply