glpixelmap - Man Page






glPixelMap(3G)		       OpenGL Reference			glPixelMap(3G)



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.





									Page 1






glPixelMap(3G)		       OpenGL Reference			glPixelMap(3G)



     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.
______________________________________________________________________________________
|____________________|________________|________________|______________|_______________|
|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      |
|____________________|________________|________________|______________|_______________|







									Page 2






glPixelMap(3G)		       OpenGL Reference			glPixelMap(3G)



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


MACHINE	DEPENDENCIES
     The following problems are	known to exist on InfiniteReality systems.
     All should	be fixed in the	next software release.

	  1.  The GL_INDEX_SHIFT and GL_INDEX_OFFSET pixel transfer operations
	      are not applied properly in some cases when GL_MAP_COLOR is
	      enabled.

	  2.  Incorrect	results	are produced if	the I-to-I pixel map contains
	      entries with negative values.

	  3.  Incorrect	results	are produced if	the I-to-RGBA pixel map	or the
	      RGBA-to-RGBA pixel maps contain values that are outside the
	      range [0.0,1.0].


SEE ALSO
     glCopyPixels, glDrawPixels, glPixelStore, glPixelTransfer,	glReadPixels,
     glTexImage1D, glTexImage2D







									Page 3