OpenGL 3 - what types of changes to expect from your favorite 3D applications

Posted by Nick Haemel on February 18, 2009

Now that OpenGL 3.0 is well on its way to a desktop nearby, you may be curious about what types of changes to expect from your favorite 3D applications. There are two main categories of improvements for OpenGL 3.0, changes that introduce new tools and changes that allow for performance enhancements. Well, let’s take a look!

OpenGL 3FBOs
First, a new buffer binding mechanism called FBOs (Frame Buffer Objects) allow an OpenGL app to do comprehensive, fast and efficient off-screen rendering without creating a new context. Additionally, these FBOs can have floating point buffers attached as render targets. By using floating point buffers, applications can maintain more precision in the final image as effects are applied to a scene. This enables some really cool lighting effects such as lens aberration and blooming; similar to a feature film shot that catches a direct glimpse of the sun. Additionally, object highlights and specular reflections can appear much more realistic.

Transform feedback
Transform feedback, also called stream-out, is another new addition that will revolutionize what is possible on a GPU. Applications can use this feature to assist in physics computations directly on the GPU, preprocess or multi-process vertices, and perform complex math operations. Apps can also make use of transform feedback to efficiently tessellate geometry, adding significantly more detail to objects and scenes without increasing data file sizes on your hard drive. AMD supports a custom extension that offers applications even more control over tessellation.

Vertex array objects
OpenGL 3.0 also offers new ways of storing and referencing geometry, allowing for quicker access. Vertex array objects, or VAOs, make setting up rendering much quicker. New data formats also allow more efficient storage of geometry and texture information. All of these performance enhancements will allow applications to increase model sizes, use more sophisticated shading techniques, and increase overall visual fidelity.

Some applications have shorter development cycles than others. Typical CAD and digital content creation suites are large and complex; it may be a year or more before we see widespread adoption. Game engines may begin to look at the newest version of OpenGL sooner. But the good news is that changes in OpenGL 3.0 have made the API much lighter, allowing developers to achieve faster turnaround. There are many new tools in OpenGL 3.0 that bring exciting new power and flexibility to the 3D graphics arena. AMD is working closely with developers to bring OpenGL 3.0 to the next generation of professional 3D applications.

Instanced rendering (update 2/20/09 - available in the GL_ARB_draw_instanced extension - my mistake for first referencing it as core!)
There are numerous enhancements to OpenGL 3.0 that allow applications to process and render geometry much faster. One available for now as an extension is instanced rendering. This feature allows repeated rendering of some objects, sometimes at little or no additional cost. Imagine rendering hundreds of trees or blades of grass, all essentially the same geometry. This can also be applied for geometry stippling, other repeated patterns or even assist in bone-skinning for objects and characters that have moving joints.

Cut-to-the-chase summary of what to expect from OpenGL 3-enabled CAD and DCC apps:
- More realistic and interesting lighting effects
- Faster rendering of objects that repeat
- Improved visual fidelity and faster rendering
-  Greater detail in objects and scenes without increasing file sizes

Comments

"Cut-to-the-chase summary of what to expect from OpenGL 3-enabled CAD and DCC apps: - More realistic and interesting lighting effects - Greater detail in objects and scenes without increasing file sizes - Faster rendering of objects that repeat - Improved visual fidelity and faster rendering " Was this all not possible before using extensions? Is not OpenGL 3.0 just OpenGL 2.1 with extensions moved into the core and other things deprecated?
How is the 3.0 API any lighter at all? It's the definition of heavier; it's only grown as extensions were promoted. Any subtraction at all is only alluded to as potentially happening in the future, and any such references are always carefully worded to not be promises (not that promises from the ARB count for anything).
Wake me when everything gets cleared up in v3.1 ... FBO's aren't new ....
OK, here's a stupid question, but will it make my games run better/faster in Linux--like DooM III?
No, it won't.
here is opengl for you simonloos
there's a need for a new shift into this API no more less
dont mistake openGL releases as an introduction of new technology, it just tries to define standards! Transform feedback was accessible through nvidia-extensions since gpu4 and FBOs and 32bit Floating-Point/Integer Textures are even older...
Page 1 of 1 pages

Add your comment

Note: All comments are moderated for spambots so there will be a posting delay.
Your email address will not be published.

Anti Spam: Please enter the word you see in the image below:



Close