Advanced Imaging


Advanced Imaging Magazine

Updated: July 8th, 2008 05:26 PM CDT

OpenGL 2.0: Uniting Graphics and Imaging



OpenGL 2.0: Uniting Graphics and Imaging

A new class of programmable parallel processors is contained in existing graphics cards and optimized for pixel processing. Can we harness all this power?

by John Kessenich, Barthold Lichtenbelt, Randi Rost & Neil Trevett

June 2003

Click Here to view the GL slang shader code.

The imaging and graphics industries have been unusually disconnected considering both are based on processing pixels. The imaging community is often input-focused-analyzing pixel data with dedicated hardware for frame-rate throughputs-whereas the graphics community is more output-focused and has developed sophisticated processing pipelines to translate scene descriptions into increasingly realistic imagery.

The original image, before the application of OpenGL 2.0.Because of these different objectives, the hardware and software infrastructures of the graphics and imaging industries have grown up separately, with different APIs, hardware architectures and participating companies. There have been some notable exceptions, however. For example, the OpenGL standard has contained imaging functionality since its initial release in 1992, making it unique among 3D graphics APIs. The imaging functionality provided by version 1.4 includes scaling and biasing color values, convolutions and high-quality color space conversion. The texturing capabilities of 3D hardware can also be used to scale, translate, rotate and warp imagery, but the majority of OpenGL graphics boards sold today have been in the traditional 3D markets of CAD and digital content creation, not imaging applications. That is about to change.

Traditional 3D accelerator pipelines were hardwired, consisting of a series of fixed function blocks, each performing a step in generating 3D imagery. New generations of graphics devices, increasingly called Visual Processors or VPUs, are instead constructed from programmable processor arrays, sometimes integrating hundreds of floating point processors onto a single device, which can be flexibly programmed for any task, not just 3D graphics.

1 2 3 4 next

Subscribe to our RSS Feeds