Name

glPixelMapfv,	glPixelMapuiv, glPixelMapusv - set up pixel
transfer maps

Python Specification

glPixelMapfv
	glPixelMapfv(map, values) -> None
glPixelMapuiv
	glPixelMapuiv(map, values) -> None
glPixelMapusv
	glPixelMapusv(map, values) -> None

C Specification

void glPixelMapfv( GLenum map,
                   GLsizei mapsize,
                   const GLfloat *values )
void glPixelMapuiv( GLenum map,
                    GLsizei mapsize,
                    const GLuint *values )
void glPixelMapusv( GLenum map,
                    GLsizei mapsize,
                    const GLushort *values )

Parameters

map	   Specifies a symbolic	map name.  Must	be one of the
         following:  GL_PIXEL_MAP_I_TO_I,
         GL_PIXEL_MAP_S_TO_S,	GL_PIXEL_MAP_I_TO_R,
         GL_PIXEL_MAP_I_TO_G,	GL_PIXEL_MAP_I_TO_B,
         GL_PIXEL_MAP_I_TO_A,	GL_PIXEL_MAP_R_TO_R,
         GL_PIXEL_MAP_G_TO_G,	GL_PIXEL_MAP_B_TO_B, or
         GL_PIXEL_MAP_A_TO_A.

mapsize  Specifies the size of the map being defined.

values   Specifies an	array of mapsize values.

Description

     glPixelMap sets up translation tables, or maps, used by
     glCopyPixels,	glCopyTexImage1D, glCopyTexImage2D,
     glCopyTexSubImage1D, glCopyTexSubImage2D, glDrawPixels,
     glReadPixels,	glTexImage1D, glTexImage2D, glTexSubImage1D,
     and glTexSubImage2D.	Use of these maps is described
     completely in	the glPixelTransfer reference page, and	partly
     in the reference pages for the pixel and texture image
     commands.  Only the specification of the maps	is described
     in this reference page.

     map is a symbolic map	name, indicating one of	ten maps to
     set.	mapsize	specifies the number of	entries	in the map,
     and values is	a pointer to an	array of mapsize map values.

     The ten maps are as follows:

     GL_PIXEL_MAP_I_TO_I		Maps color indices to color
                                   indices.

     GL_PIXEL_MAP_S_TO_S		Maps stencil indices to
                                   stencil	indices.

     GL_PIXEL_MAP_I_TO_R		Maps color indices to red
                                   components.

     GL_PIXEL_MAP_I_TO_G		Maps color indices to green
                                   components.

     GL_PIXEL_MAP_I_TO_B		Maps color indices to blue
                                   components.

     GL_PIXEL_MAP_I_TO_A		Maps color indices to alpha
                                   components.

     GL_PIXEL_MAP_R_TO_R		Maps red components to red
                                   components.

     GL_PIXEL_MAP_G_TO_G		Maps green components to green
                                   components.

     GL_PIXEL_MAP_B_TO_B		Maps blue components to	blue
                                   components.

     GL_PIXEL_MAP_A_TO_A		Maps alpha components to alpha
                                   components.

     The entries in a map can be specified	as single-precision
     floating-point numbers, unsigned short integers, or unsigned
     long integers.  Maps that store color	component values (all
     but GL_PIXEL_MAP_I_TO_I and GL_PIXEL_MAP_S_TO_S) retain
     their	values in floating-point format, with unspecified
     mantissa and exponent	sizes.	Floating-point values
     specified by glPixelMapfv are	converted directly to the
     internal floating-point format of these maps,	then clamped
     to the range [0,1].  Unsigned	integer	values specified by
     glPixelMapusv	and glPixelMapuiv are converted	linearly such
     that the largest representable integer maps to 1.0, and 0
     maps to 0.0.

     Maps that store indices, GL_PIXEL_MAP_I_TO_I and
     GL_PIXEL_MAP_S_TO_S, retain their values in fixed-point
     format, with an unspecified number of	bits to	the right of
     the binary point.  Floating-point values specified by
     glPixelMapfv are converted directly to the internal fixed-
     point	format of these	maps.  Unsigned	integer	values
     specified by glPixelMapusv and glPixelMapuiv specify integer
     values, with all 0's to the right of the binary point.

     The following	table shows the	initial	sizes and values for
     each of the maps.  Maps that are indexed by either color or
     stencil indices must have mapsize = 2n for some n or the
     results are undefined.  The maximum allowable	size for each
     map depends on the implementation and	can be determined by
     calling glGet	with argument GL_MAX_PIXEL_MAP_TABLE.  The
     single maximum applies to all	maps; it is at least 32.
______________________________________________________________________________________
|        map	  |  lookup index  |  lookup value  | initial size | initial value |
|____________________|________________|________________|______________|_______________|
|GL_PIXEL_MAP_I_TO_I |  color index   |  color index   |	   1	   |	   0	   |
|GL_PIXEL_MAP_S_TO_S | stencil index  | stencil index  |	   1	   |	   0	   |
|GL_PIXEL_MAP_I_TO_R |  color index   |	   R	    |	   1	   |	   0	   |
|GL_PIXEL_MAP_I_TO_G |  color index   |	   G	    |	   1	   |	   0	   |
|GL_PIXEL_MAP_I_TO_B |  color index   |	   B	    |	   1	   |	   0	   |
|GL_PIXEL_MAP_I_TO_A |  color index   |	   A	    |	   1	   |	   0	   |
|GL_PIXEL_MAP_R_TO_R |	  R	   |	   R	    |	   1	   |	   0	   |
|GL_PIXEL_MAP_G_TO_G |	  G	   |	   G	    |	   1	   |	   0	   |
|GL_PIXEL_MAP_B_TO_B |	  B	   |	   B	    |	   1	   |	   0	   |
|GL_PIXEL_MAP_A_TO_A |	  A	   |	   A	    |	   1	   |	   0	   |
|____________________|________________|________________|______________|_______________|

Errors

GL_INVALID_ENUM is generated if map is not an	accepted
value.

GL_INVALID_VALUE is generated	if mapsize is less than	one or
larger than GL_MAX_PIXEL_MAP_TABLE.

GL_INVALID_VALUE is generated	if map is GL_PIXEL_MAP_I_TO_I,
GL_PIXEL_MAP_S_TO_S, GL_PIXEL_MAP_I_TO_R,
GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B, or
GL_PIXEL_MAP_I_TO_A, and mapsize is not a power of two.

GL_INVALID_OPERATION is generated if glPixelMap is executed
between the execution	of glBegin and the corresponding
execution of glEnd.

Associated Gets

glGetPixelMap
glGet	with argument GL_PIXEL_MAP_I_TO_I_SIZE
glGet	with argument GL_PIXEL_MAP_S_TO_S_SIZE
glGet	with argument GL_PIXEL_MAP_I_TO_R_SIZE
glGet	with argument GL_PIXEL_MAP_I_TO_G_SIZE
glGet	with argument GL_PIXEL_MAP_I_TO_B_SIZE
glGet	with argument GL_PIXEL_MAP_I_TO_A_SIZE
glGet	with argument GL_PIXEL_MAP_R_TO_R_SIZE
glGet	with argument GL_PIXEL_MAP_G_TO_G_SIZE
glGet	with argument GL_PIXEL_MAP_B_TO_B_SIZE
glGet	with argument GL_PIXEL_MAP_A_TO_A_SIZE
glGet	with argument GL_MAX_PIXEL_MAP_TABLE

See Also

glCopyPixels,	glCopyTexImage1D, glCopyTexImage2D,
glCopyTexSubImage1D, glCopyTexSubImage2D, glDrawPixels,
glPixelStore,	glPixelTransfer, glReadPixels, glTexImage1D,
glTexImage2D,	glTexSubImage1D, glTexSubImage2D

:: Documentation :: References :: GL ::
:: Index (n/a) ::