Entries tagged as: OpenGL
FirePro Catalyst Driver v8.583 supports OpenGL 3.0, vertex shader and multi-GPU extensions
Posted by
Tony DeYoung on April 09, 2009
Yesterday ATI released Catalyst Display Driver v8.583 for the FirePro that enables full support for OpenGL 3.0 This driver also supports the OpenGL extensions: AMD_vertex_shader_tessellator for increased geometry detail and enhanced realism and AMD_GPU_association> designed to provide improved performance scaling and parallel processing for multiple GPUs by allowing a workstation application, especially those that do off-screen rendering, to process multiple images or datasets simultaneously and combine the final image for display. AMD also announced support for OpenGL 3.1 in the very near future.
OpenGL 3.1 Released - Proof is in the Pudding
Posted by
Nick Haemel on March 24, 2009
Khronos and the OpenGL ARB have done it! OpenGL 3.1 and GLSL 1.40 have been released on the 6 month schedule promised at SIGGRAPH 2008. As promised, most of the legacy features marked as deprecated have been removed. No more display lists. No more immediate mode rendering. No more fixed function pipeline. The cruft accumulated over the last 17 years has been cleaned up to create a simplified and performant 3D graphics API. OpenGL 3.1 really does match the current generation of programmable graphics devices.
In addition to removing deprecated functionality, OpenGL 3.1 adds a bunch of handy new features.
Uniform buffer objects
The first and biggest is support for uniform buffer objects. This new object allows a shader to group uniforms together into a block of uniform memory. New interfaces make updating groups of uniforms easier and much more efficient. These new buffers can also be shared between programs, reducing wasted memory usage and shader uniform-reload time.
Texture buffer objects and Copy buffers
Texture buffer objects were also introduced into core OpenGL 3.1. This new texture type allows generic buffers to be attached to a texture as a 1D array. Now general buffer data is accessible to shaders through new fetch functions. Additionally, a copy mechanism (GL_EXT_copy_buffers) that allows for direct accelerated buffer-to-buffer copies has been added. This extends the benefits of generic buffer objects and creates interesting opportunities with multithreaded load/execute algorithms.
Instanced rendering
Instanced rendering has been added to core, allowing apps to draw multiple copies of similar objects without incurring system bandwidth costs (I mentioned this inadvertently in an earlier post).
Other features
Primitive restart, SNORM textures and several other new features were also added.
OpenGL is continuing to march forward with progressive revisions bringing new functionality to 3D developers. AMD will follow with full driver support for OpenGL 3.1 shortly.
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!
FBOs
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
Welcome to the future of graphics! AMD OpenGL 3.0 driver release on Jan 28, 2009
Posted by
Nick Haemel on January 28, 2009
Welcome to the future of professional graphics! That future begins with OpenGL 3.0. As most of you know, the OpenGL 3.0 specification was finalized late in 2008. It represents a big step in modernizing cross-platform 3D graphics support and bring applications closer to the torrential power of the modern graphics chip. OpenGL 3.0 will enable applications to continue pushing the edge of the graphics envelope while maintaining portability across all major OSes.
AMD has supported the core GL3 features as extensions for some time, allowing developers to get a head-start in developing for the new API. That means developers have had access to floating point color buffers, instanced rendering, updated GPU shader language features, new texture formats, and much more on Radeon and FirePro hardware.
The first official driver release with the full support for OpenGL 3.0 on Radeon HD 2400 and above is built into ATI Catalyst Release 9.1, set for public consumption on January 28, 2009. It will be available for download on the AMD Support & Drivers page. This release will enable full and forward-looking GL3.0 contexts on Windows XP, Windows Vista, and Linux. Look for official FirePro support later in Q1. The great news is you will be able to use GL3 on current ATI FirePro V3700 and above cards as well as ATI Radeon HD 2400 and above with a driver update.
Stay tuned for more updates on how AMD and OpenGL are enhancing application capabilities, speeding up workloads, and helping to move the CAD industry forward.
Update Jan 29, 2009 - 9.1 Driver is available for download. Check out the release notes for more info.
So what are the new functions in OpenGL 3.0 you may ask?
Posted by
Tony DeYoung on November 22, 2008
OpenGL 3.0 increase the overall required set of functionality for any product advertising support for this latest spec revision. For instance:
- There is an improved mechanism to manage vertex buffer memory which enables applications to avoid costly back and forth through the PCIe bus, or to serialize CPU and GPU processing.
- Offscreen rendering capability is now a first class citizen, with an efficient mechanism to copy surfaces and use multi-sampled buffers, which should make rendering to shadow maps much more efficient.
- One of the key new feature is the support for the shader model available on all the recently released GPU, with full integer support. This lets application developpers write more natively their code instead of working around previous generation limited support for integer/float operations.
You can find the full list of new features and the latest OpenGL 3.0 specification at www.opengl.org. Full driver support will be available in the next few months from most hardware vendors and lot of large software companies have stated support for it in their next releases. Large subsets of the functionality is already exposed in currently shipping drivers, although the 3.0 logo will only by advertised once that becomes 100%.
As with most things in life, you will not know all the benefits until its been used in action in a bunch of applications. What I find quite interesting is that the standard has been set by companies in competition with each other. It takes relevant hardware, a modern API, but the most importantly it needs to be implemented in the application software to move forward the technology.
OpenGL 3.0 - A Big Step in the Right Direction
Posted by
Nick Haemel on August 18, 2008

There has been much controversy over the direction the Khronos Group/OpenGL ARB has chosen for the next major version of OpenGL. After testing an approach that would have a drastic effect on the API, requiring complete OpenGL application rewrites and not introducing any of the long awaited features modern GPUs are capable of, the choice was made to give programmers what they are really waiting for. And that’s new features now. GL 3.0 takes two important steps to moving open standard graphics forward in a major way. The first is to provide core and ARB extension access to the new and exciting capabilities of hardware. The second is to create a roadmap that allows developers to see what parts of core specifications will be going away in the future, also providing the OpenGL ARB with a way to introduce new features faster.
Over the last few years graphics hardware has made great strides forward. Different vendors have exposed home-grown extensions to give users access to hardware, but vendor extensions vary between vendors and are not a stable approach to supporting new hardware. GL3.0 brings these new features under one roof, defining one common and accepted way that all vendors will implement. Now all GL application programmers can get access to things like float color/texture/depth buffers, integer formats, conditional rendering, framebuffer objects, transform feedback, vertex array objects, half-float data types (vertex/pixel), and so much more. With these new features all developers have the tools to add new eye candy and much better optimize render algorithms and performance.
Many of the new features of OpenGL3.0 provide mechanisms to increase the efficiency and speed of today’s complex scenes. Conditional rendering allows an app to discard geometry that would be occluded during normal rendering. Half float formats can help drastically compress vertex data sets. Vertex array objects make setting up rendering much easier and less error prone. Map buffer range support allows a small portion of a buffer to be mapped, even while it is rendered from, no more GPU stalls required. There are also quite few additions to enhance rendering flexibility. Framebuffer objects provide a fast and simple way to accomplish off-screen rendering. Transform feedback opens the door to a whole new set of complex multi-pass rendering and geometry generation algorithms previously impossible. Integer-in-shader support allows for much more flexible and natural shader code. Several other important features such as instanced rendering and geometry shaders have now been given ARB extension status as well.
By introducing the new deprecation model, the ARB has created a way to signal what will be removed in future revisions. This provides enough time for all developers to move code-bases to newer and better methods. Future versions of GL will remove fixed-function rendering, color index mode, immediate mode, client vertex arrays, and other seldom used portions of older specs. This helps to keep the spec lean and mean, also allowing hardware vendors to better optimize performance and maintain quality. A way for OpenGL to gracefully move forward has been long missing. With the most recent changes, OpenGL now has the tools to keep open standard graphics current and useful for many different flavors of 3D applications.