In addition to support for rendering 3D geometry, OpenGL also contains a great deal of support for rendering images. The OpenGL Shading Language augments fixed functionality OpenGL imaging capabilities by allowing fully programmable processing of images. With this programmability and the parallel processing nature of the underlying graphics hardware, image processing operations can be performed orders-of-magnitude faster on the graphics accelerator than on the CPU. This programmability can be used to implement traditional image processing operations such as image blurring, sharpening, and noise removal; high-quality color correction; brightness, saturation, and contrast adjustment; geometric transformations such as rotation and warping; blending; and many other image processing operations. Furthermore, applications no longer need to be constrained to manipulating monochrome or color images. Multispectral processing and analysis are also possible.
The world of digital imagery is exploding as a result of the rapid development and acceptance of consumer products for digital photography and digital video. The OpenGL Shading Language will undoubtedly be at the heart of many tools that support this revolution in the future.