1991-2006
Silicon Graphics, Inc.
glPixelStorei
3G

# glPixelStorei

set pixel storage modes

## C Specification

                    void glPixelStorei
                    GLenum pname
                    GLint param

## Parameters

`pname`

  Specifies the symbolic name of the parameter to be set. One value affects the packing of pixel data into memory: `GL_PACK_ALIGNMENT`. The other affects the unpacking of pixel data from memory: `GL_UNPACK_ALIGNMENT`.

`param`

  Specifies the value that `pname` is set to.

## Description

`glPixelStorei` sets pixel storage modes that affect the operation of subsequent glReadPixels as well as the unpacking of texture patterns (see glTexImage2D and glTexSubImage2D).

`pname` is a symbolic constant indicating the parameter to be set, and `param` is the new value. One storage parameter affects how pixel data is returned to client memory:

`GL_PACK_ALIGNMENT`

  Specifies the alignment requirements for the start of each pixel row in memory. The allowable values are 1 (byte-alignment), 2 (rows aligned to even-numbered bytes), 4 (word-alignment), and 8 (rows start on double-word boundaries).

The other storage parameter affects how pixel data is read from client memory:

`GL_UNPACK_ALIGNMENT`

  Specifies the alignment requirements for the start of each pixel row in memory. The allowable values are 1 (byte-alignment), 2 (rows aligned to even-numbered bytes), 4 (word-alignment), and 8 (rows start on double-word boundaries).

The following table gives the type, initial value, and range of valid values for each storage parameter that can be set with `glPixelStorei`.

`pname` | Type | Initial Value | Valid Range
--- | --- | --- | ---
`GL_PACK_ALIGNMENT` | integer | 4 | 1, 2, 4, or 8
`GL_UNPACK_ALIGNMENT` | integer | 4 | 1, 2, 4, or 8

Boolean parameters are set to false if `param` is 0 and true otherwise.

## Errors

`GL_INVALID_ENUM` is generated if `pname` is not an accepted value.

`GL_INVALID_VALUE` is generated if alignment is specified as other than 1, 2, 4, or 8.

## Associated Gets

glGet with argument `GL_PACK_ALIGNMENT` or `GL_UNPACK_ALIGNMENT`

## See Also

glReadPixels, glTexImage2D, glTexSubImage2D

## Copyright

Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/.