next up previous contents
Next: 12.1.2 Geometric Drawing and Up: Introduction Previous: Introduction

12.1.1 The Pixel Transfer Pipeline

The pixel transfer pipeline is the part of OpenGL most typically thought of in image processing applications. The pipeline is a configurable series of operations which are applied to each pixel during any command that moves pixels between the frame buffer, host memory, and texture memory, including:

These operations move image data which falls into one of the following categories: The ``pixel transfer pipeline'' actually is four independent pipelines: one for each category of data.

For image processing, operations on color data are generally the most interesting. Before any operations are applied, source data in any color format (for example, GL_LUMINANCE) and type (for example, GL_UNSIGNED_BYTE) is converted into the canonical RGBA format, with each component represented as a floating-point value. All color pixel transfer operations are defined as operating on images of this type and format. After the pixel transfer operations have been applied, the image is converted to its destination type and format.

Base OpenGL defines only a few pixel transfer operations, which are controlled using the glPixelTransfer() command. The operations are:

The pixel transfer pipeline is the part of OpenGL that has undergone the most growth through OpenGL extensions. Some of the more interesting extensions will be discussed in this section. We will list the vendors who have committed to support each extension as of April 1997. Where possible, we will mention techniques to achieve equivalent results on systems that do not support the extension.


next up previous contents
Next: 12.1.2 Geometric Drawing and Up: Introduction Previous: Introduction

David Blythe
Thu Jul 17 21:24:28 PDT 1997