glPixelTransfer man page on SunOS

Man page or keyword search:  
man Server   20652 pages
apropos Keyword Search (all sections)
Output format
SunOS logo
[printable version]

GLPIXELTRANSFER(3gl)					  GLPIXELTRANSFER(3gl)

NAME
       glPixelTransferf, glPixelTransferi - set pixel transfer modes

C SPECIFICATION
       void glPixelTransferf( GLenum pname,
			      GLfloat param )
       void glPixelTransferi( GLenum pname,
			      GLint param )

PARAMETERS
       pname  Specifies	 the  symbolic name of the pixel transfer parameter to
	      be  set.	 Must  be  one	 of   the   following:	 GL_MAP_COLOR,
	      GL_MAP_STENCIL,  GL_INDEX_SHIFT,	GL_INDEX_OFFSET, GL_RED_SCALE,
	      GL_POST_CONVOLUTION_RED_SCALE_EXT, GL_RED_BIAS, GL_POST_CONVOLU‐
	      TION_RED_BIAS_EXT,	GL_GREEN_SCALE,	      GL_POST_CONVOLU‐
	      TION_GREEN_SCALE_EXT,	 GL_GREEN_BIAS,	      GL_POST_CONVOLU‐
	      TION_GREEN_BIAS_EXT,	 GL_BLUE_SCALE,	      GL_POST_CONVOLU‐
	      TION_BLUE_SCALE_EXT,	 GL_BLUE_BIAS,	      GL_POST_CONVOLU‐
	      TION_BLUE_BIAS_EXT,	GL_ALPHA_SCALE,	      GL_POST_CONVOLU‐
	      TION_ALPHA_SCALE_EXT,	 GL_ALPHA_BIAS,	      GL_POST_CONVOLU‐
	      TION_ALPHA_BIAS_EXT, GL_DEPTH_SCALE, or GL_DEPTH_BIAS.

       param  Specifies the value that pname is set to.

DESCRIPTION
       glPixelTransfer	sets pixel transfer modes that affect the operation of
       subsequent glCopyPixels, glCopyTexImage1D, glCopyTexImage2D, glCopyTex‐
       SubImage1D,  glCopyTexSubImage2D,  glDrawPixels, glReadPixels, glTexIm‐
       age1D, glTexImage2D,  glTexSubImage1D,  and  glTexSubImage2D  commands.
       The  algorithms	that  are specified by pixel transfer modes operate on
       pixels after they are read from the frame buffer (glCopyPixels  glCopy‐
       TexImage1D, glCopyTexImage2D, glCopyTexSubImage1D, glCopyTexSubImage2D,
       and glReadPixels), or unpacked from client memory (glDrawPixels, glTex‐
       Image1D,	 glTexImage2D,	glTexSubImage1D,  and glTexSubImage2D).	 Pixel
       transfer operations happen in the same order, and in the	 same  manner,
       regardless  of the command that resulted in the pixel operation.	 Pixel
       storage modes (see glPixelStore) control the unpacking of pixels	 being
       read  from  client memory, and the packing of pixels being written back
       into client memory.

       Pixel transfer operations handle four fundamental pixel	types:	color,
       color  index,  depth, and stencil.  Color pixels consist of four float‐
       ing-point values with unspecified mantissa and exponent	sizes,	scaled
       such  that 0 represents zero intensity and 1 represents full intensity.
       Color indices comprise a single	fixed-point  value,  with  unspecified
       precision  to  the  right of the binary point.  Depth pixels comprise a
       single floating-point value, with  unspecified  mantissa	 and  exponent
       sizes,  scaled such that 0.0 represents the minimum depth buffer value,
       and 1.0 represents the maximum depth buffer  value.   Finally,  stencil
       pixels  comprise a single fixed-point value, with unspecified precision
       to the right of the binary point.

       The pixel transfer operations performed on the four basic  pixel	 types
       are as follows:

       Color	   Each	 of the four color components is multiplied by a scale
		   factor, then added to a bias factor.	 That is, the red com‐
		   ponent   is	multiplied  by	GL_RED_SCALE,  then  added  to
		   GL_RED_BIAS;	 the  green   component	  is   multiplied   by
		   GL_GREEN_SCALE,  then added to GL_GREEN_BIAS; the blue com‐
		   ponent  is  multiplied  by  GL_BLUE_SCALE,  then  added  to
		   GL_BLUE_BIAS;  and  the  alpha  component  is multiplied by
		   GL_ALPHA_SCALE, then added  to  GL_ALPHA_BIAS.   After  all
		   four	 color	components  are	 scaled	 and  biased,  each is
		   clamped to the range [0,1].	All  color,  scale,  and  bias
		   values are specified with glPixelTransfer.

		   If  GL_MAP_COLOR is true, each color component is scaled by
		   the size of	the  corresponding  color-to-color  map,  then
		   replaced  by the contents of that map indexed by the scaled
		   component.	That  is,  the	red  component	is  scaled  by
		   GL_PIXEL_MAP_R_TO_R_SIZE,  then replaced by the contents of
		   GL_PIXEL_MAP_R_TO_R indexed by itself.  The green component
		   is scaled by GL_PIXEL_MAP_G_TO_G_SIZE, then replaced by the
		   contents of GL_PIXEL_MAP_G_TO_G  indexed  by	 itself.   The
		   blue	 component is scaled by GL_PIXEL_MAP_B_TO_B_SIZE, then
		   replaced by the contents of GL_PIXEL_MAP_B_TO_B indexed  by
		   itself.    And   the	  alpha	  component   is   scaled   by
		   GL_PIXEL_MAP_A_TO_A_SIZE, then replaced by the contents  of
		   GL_PIXEL_MAP_A_TO_A	indexed	 by  itself.   All  components
		   taken from the maps are then clamped to  the	 range	[0,1].
		   GL_MAP_COLOR	 is  specified with glPixelTransfer.  The con‐
		   tents of the various maps are specified with glPixelMap.

		   If GL_CONVOLUTION_1D_EXT, GL_CONVOLUTION_2D_EXT or GL_SEPA‐
		   RABLE_2D_EXT	 is true, each color component generated after
		   convolution operation is multiplied by a scale factor, then
		   added to a bias factor.  That is, the red component is mul‐
		   tiplied by GL_POST_CONVOLUTION_RED_SCALE_EXT, then added to
		   GL_POST_CONVOLUTION_RED_BIAS_EXT;  the  green  component is
		   multiplied  by  GL_POST_CONVOLUTION_GREEN_SCALE_EXT,	  then
		   added  to GL_POST_CONVOLUTION_GREEN_BIAS_EXT; the blue com‐
		   ponent is multiplied by GL_POST_CONVOLUTION_BLUE_SCALE_EXT,
		   then	 added	to  GL_POST_CONVOLUTION_BLUE_BIAS_EXT; and the
		   alpha   component   is   multiplied	 by   GL_POST_CONVOLU‐
		   TION_ALPHA_SCALE_EXT,   then	  added	  to  GL_POST_CONVOLU‐
		   TION_ALPHA_BIAS_EXT.	 After all four color  components  are
		   scaled and biased, each is clamped to the range [0,1].  All
		   color, scale, and bias values are specified	with  glPixel‐
		   Transfer.

       Color index Each	 color	index  is shifted left by GL_INDEX_SHIFT bits;
		   any bits beyond the number of fraction bits carried by  the
		   fixed-point index are filled with zeros.  If GL_INDEX_SHIFT
		   is negative, the shift is to the right, again zero  filled.
		   Then GL_INDEX_OFFSET is added to the index.	GL_INDEX_SHIFT
		   and GL_INDEX_OFFSET are specified with
		   glPixelTransfer.

		   From	 this  point,  operation  diverges  depending  on  the
		   required  format of the resulting pixels.  If the resulting
		   pixels are to be written to a color	index  buffer,	or  if
		   they are being read back to client memory in GL_COLOR_INDEX
		   format, the pixels continue to be treated as	 indices.   If
		   GL_MAP_COLOR is true, each index is masked by 2n−1, where n
		   is GL_PIXEL_MAP_I_TO_I_SIZE, then replaced by the  contents
		   of	GL_PIXEL_MAP_I_TO_I   indexed  by  the	masked	value.
		   GL_MAP_COLOR is specified with glPixelTransfer.   The  con‐
		   tents of the index map is specified with glPixelMap.

		   If  the resulting pixels are to be written to an RGBA color
		   buffer, or if they are read back to client memory in a for‐
		   mat	other  than  GL_COLOR_INDEX,  the pixels are converted
		   from	 indices  to  colors  by  referencing  the  four  maps
		   GL_PIXEL_MAP_I_TO_R,			  GL_PIXEL_MAP_I_TO_G,
		   GL_PIXEL_MAP_I_TO_B, and GL_PIXEL_MAP_I_TO_A.  Before being
		   dereferenced,  the  index  is  masked  by  2n−1, where n is
		   GL_PIXEL_MAP_I_TO_R_SIZE	for	the	 red	  map,
		   GL_PIXEL_MAP_I_TO_G_SIZE	for	the	green	  map,
		   GL_PIXEL_MAP_I_TO_B_SIZE   for   the	   blue	   map,	   and
		   GL_PIXEL_MAP_I_TO_A_SIZE for the alpha map.	All components
		   taken from the maps are then clamped to  the	 range	[0,1].
		   The contents of the four maps is specified with glPixelMap.

       Depth	   Each	 depth value is multiplied by GL_DEPTH_SCALE, added to
		   GL_DEPTH_BIAS, then clamped to the range [0,1].

       Stencil	   Each index is shifted GL_INDEX_SHIFT bits just as  a	 color
		   index is, then added to GL_INDEX_OFFSET.  If GL_MAP_STENCIL
		   is  true,  each  index  is  masked  by  2n−1,  where	 n  is
		   GL_PIXEL_MAP_S_TO_S_SIZE,  then replaced by the contents of
		   GL_PIXEL_MAP_S_TO_S indexed by the masked value.

       The following table gives the type, initial value, and range  of	 valid
       values  for  each  of  the  pixel transfer parameters that are set with
       glPixelTransfer.

    ┌────────────────────────────────────┬─────────┬───────────────┬─────────────┐
    │		    pname		 │  type   │ initial value │ valid range │
    ├────────────────────────────────────┼─────────┼───────────────┼─────────────┤
    │		GL_MAP_COLOR		 │ boolean │	 false	   │ true/false	 │
    │	       GL_MAP_STENCIL		 │ boolean │	 false	   │ true/false	 │
    │	       GL_INDEX_SHIFT		 │ integer │	   0	   │   (-∞,∞)	 │
    │	       GL_INDEX_OFFSET		 │ integer │	   0	   │   (-∞,∞)	 │
    │		GL_RED_SCALE		 │  float  │	   1	   │   (-∞,∞)	 │
    │	       GL_GREEN_SCALE		 │  float  │	   1	   │   (-∞,∞)	 │
    │		GL_BLUE_SCALE		 │  float  │	   1	   │   (-∞,∞)	 │
    │	       GL_ALPHA_SCALE		 │  float  │	   1	   │   (-∞,∞)	 │
    │	       GL_DEPTH_SCALE		 │  float  │	   1	   │   (-∞,∞)	 │
    │		 GL_RED_BIAS		 │  float  │	   0	   │   (-∞,∞)	 │
    │		GL_GREEN_BIAS		 │  float  │	   0	   │   (-∞,∞)	 │
    │		GL_BLUE_BIAS		 │  float  │	   0	   │   (-∞,∞)	 │
    │		GL_ALPHA_BIAS		 │  float  │	   0	   │   (-∞,∞)	 │
    │		GL_DEPTH_BIAS		 │  float  │	   0	   │   (-∞,∞)	 │
    │ GL_POST_CONVOLUTION_RED_SCALE_EXT	 │  float  │	   1	   │   (-∞,∞)	 │
    │GL_POST_CONVOLUTION_GREEN_SCALE_EXT │  float  │	   1	   │   (-∞,∞)	 │
    │GL_POST_CONVOLUTION_BLUE_SCALE_EXT	 │  float  │	   1	   │   (-∞,∞)	 │
    │GL_POST_CONVOLUTION_ALPHA_SCALE_EXT │  float  │	   1	   │   (-∞,∞)	 │
    │ GL_POST_CONVOLUTION_RED_BIAS_EXT	 │  float  │	   0	   │   (-∞,∞)	 │
    │GL_POST_CONVOLUTION_GREEN_BIAS_EXT	 │  float  │	   0	   │   (-∞,∞)	 │
    │ GL_POST_CONVOLUTION_BLUE_BIAS_EXT	 │  float  │	   0	   │   (-∞,∞)	 │
    │GL_POST_CONVOLUTION_ALPHA_BIAS_EXT	 │  float  │	   0	   │   (-∞,∞)	 │
    └────────────────────────────────────┴─────────┴───────────────┴─────────────┘
       glPixelTransferf can be used to set any pixel transfer  parameter.   If
       the  parameter  type  is	 boolean,  0 implies false and any other value
       implies true.  If pname is an integer parameter, param  is  rounded  to
       the nearest integer.

       Likewise, glPixelTransferi can be used to set any of the pixel transfer
       parameters.  Boolean parameters are set to false if param is 0  and  to
       true  otherwise.	  param	 is  converted	to floating point before being
       assigned to real-valued parameters.

NOTES
       If a glCopyPixels, glCopyTexImage1D, glCopyTexImage2D,  glCopyTexSubIm‐
       age1D,  glCopyTexSubImage2D,  glDrawPixels, glReadPixels, glTexImage1D,
       glTexImage2D, glTexSubImage1D, or glTexSubImage2D command is placed  in
       a  display list (see glNewList and glCallList), the pixel transfer mode
       settings in effect when the display list is executed are the ones  that
       are used.  They may be different from the settings when the command was
       compiled into the display list.

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

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

ASSOCIATED GETS
       glGet with argument GL_MAP_COLOR
       glGet with argument GL_MAP_STENCIL
       glGet with argument GL_INDEX_SHIFT
       glGet with argument GL_INDEX_OFFSET
       glGet with argument GL_RED_SCALE
       glGet with argument GL_POST_CONVOLUTION_RED_SCALE_EXT
       glGet with argument GL_RED_BIAS
       glGet with argument GL_POST_CONVOLUTION_RED_BIAS_EXT
       glGet with argument GL_GREEN_SCALE
       glGet with argument GL_POST_CONVOLUTION_GREEN_SCALE_EXT
       glGet with argument GL_GREEN_BIAS
       glGet with argument GL_POST_CONVOLUTION_GREEN_BIAS_EXT
       glGet with argument GL_BLUE_SCALE
       glGet with argument GL_POST_CONVOLUTION_BLUE_SCALE_EXT
       glGet with argument GL_BLUE_BIAS
       glGet with argument GL_POST_CONVOLUTION_BLUE_BIAS_EXT
       glGet with argument GL_ALPHA_SCALE
       glGet with argument GL_POST_CONVOLUTION_ALPHA_SCALE_EXT
       glGet with argument GL_ALPHA_BIAS
       glGet with argument GL_POST_CONVOLUTION_ALPHA_BIAS_EXT
       glGet with argument GL_DEPTH_SCALE
       glGet with argument GL_DEPTH_BIAS

SEE ALSO
       glCallList, glCopyPixels, glCopyTexImage1D,  glCopyTexImage2D,  glCopy‐
       TexSubImage1D,  glCopyTexSubImage2D, glConvolutionFilter1DEXT, glConvo‐
       lutionFilter2DEXT, glDrawPixels, glNewList,  glPixelMap,	 glPixelStore,
       glPixelZoom, glReadPixels, glSeparableFilter2DEXT, glTexImage1D, glTex‐
       Image2D, glTexSubImage1D, glTexSubImage2D

				   15 Mar 97		  GLPIXELTRANSFER(3gl)
[top]

List of man pages available for SunOS

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net