glPixelMap.3gl
Digital Equipment Corporation OpenGL man pages

glPixelMap.3gl




Name

  glPixelMapfv,	glPixelMapuiv, glPixelMapusv - set up pixel transfer maps


C Specification

  void glPixelMapfv( GLenum map,
		     GLint mapsize,
		     const GLfloat *values )
  void glPixelMapuiv( GLenum map,
		      GLint mapsize,
		      const GLuint *values )
  void glPixelMapusv( GLenum map,
		      GLint 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 glDrawPixels,
  glReadPixels,	glCopyPixels, glTexImage1D, and	glTexImage2D.  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 zero 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 zeros to the right of the
  binary point.

  The table below 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 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, and	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.0      |
|GL_PIXEL_MAP_S_TO_S | stencil index  |	stencil	index  |      1	      |	      0	      |
|GL_PIXEL_MAP_I_TO_R |	color index   |	      R	       |      1	      |	     0.0      |
|GL_PIXEL_MAP_I_TO_G |	color index   |	      G	       |      1	      |	     0.0      |
|GL_PIXEL_MAP_I_TO_B |	color index   |	      B	       |      1	      |	     0.0      |
|GL_PIXEL_MAP_I_TO_A |	color index   |	      A	       |      1	      |	     0.0      |
|GL_PIXEL_MAP_R_TO_R |	     R	      |	      R	       |      1	      |	     0.0      |
|GL_PIXEL_MAP_G_TO_G |	     G	      |	      G	       |      1	      |	     0.0      |
|GL_PIXEL_MAP_B_TO_B |	     B	      |	      B	       |      1	      |	     0.0      |
|GL_PIXEL_MAP_A_TO_A |	     A	      |	      A	       |      1	      |	     0.0      |
--------------------------------------------------------------------------------------

Errors

  GL_INVALID_ENUM is generated if map is not an	accepted value.

  GL_INVALID_VALUE is generated	if mapsize is negative 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,	glDrawPixels, glPixelStore, glPixelTransfer, glReadPixels,
  glTexImage1D,	glTexImage2D




Introduction | Alphabetic | Specification

Last Edited: Fri Dec 6 11:18:03 EST 1996 by AFV
Look here for legal stuff: Legal