*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->IRIX man pages -> OpenGL/glcolortable (3)              
Title
Content
Arch
Section
 

Contents


glColorTable(3G)	       OpenGL Reference		      glColorTable(3G)


NAME    [Toc]    [Back]

     glColorTable - define a color lookup table

C SPECIFICATION    [Toc]    [Back]

     void glColorTable(	GLenum target,
			GLenum internalformat,
			GLsizei	width,
			GLenum format,
			GLenum type,
			const GLvoid *table )

PARAMETERS    [Toc]    [Back]

     target	     Must be one of GL_COLOR_TABLE,
		     GL_POST_CONVOLUTION_COLOR_TABLE,
		     GL_POST_COLOR_MATRIX_COLOR_TABLE, GL_PROXY_COLOR_TABLE,
		     GL_PROXY_POST_CONVOLUTION_COLOR_TABLE, or
		     GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE.

     internalformat  The internal format of the	color table.  The allowable
		     values are	GL_ALPHA, GL_ALPHA4, GL_ALPHA8,	GL_ALPHA12,
		     GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8,
		     GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA,
		     GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2,
		     GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4,
		     GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16,
		     GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8,
		     GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB,
		     GL_RGB4, GL_RGB5, GL_RGB8,	GL_RGB10, GL_RGB12, GL_RGB16,
		     GL_RGBA, GL_RGBA2,	GL_RGBA4, GL_RGB5_A1, GL_RGBA8,
		     GL_RGB10_A2, GL_RGBA12, and GL_RGBA16.

     width	     The number	of entries in the color	lookup table specified
		     by	table.

     format	     The format	of the pixel data in table.  The allowable
		     values are	GL_RED,	GL_GREEN, GL_BLUE, GL_ALPHA,
		     GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR,
		     GL_RGBA, GL_BGRA, and GL_ABGR_EXT.

     type	     The type of the pixel data	in table.  The allowable
		     values are	GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT,
		     GL_SHORT, GL_UNSIGNED_INT,	GL_INT,	GL_FLOAT,
		     GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV,
		     GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV,
		     GL_UNSIGNED_SHORT_4_4_4_4,	GL_UNSIGNED_SHORT_4_4_4_4_REV,
		     GL_UNSIGNED_SHORT_5_5_5_1,	GL_UNSIGNED_SHORT_1_5_5_5_REV,
		     GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV,
		     GL_UNSIGNED_INT_10_10_10_2, and
		     GL_UNSIGNED_INT_2_10_10_10_REV.




									Page 1






glColorTable(3G)	       OpenGL Reference		      glColorTable(3G)



     table	     Pointer to	a one-dimensional array	of pixel data that is
		     processed to build	the color table.

DESCRIPTION    [Toc]    [Back]

     glColorTable may be used in two ways: to test the actual size and color
     resolution	of a lookup table given	a particular set of parameters,	or to
     load the contents of a color lookup table.	 Use the targets GL_PROXY_*
     for the first case	and the	other targets for the second case.

     If	target is GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or
     GL_POST_COLOR_MATRIX_COLOR_TABLE, glColorTable builds a color lookup
     table from	an array of pixels.  The pixel array specified by width,
     format, type, and table is	extracted from memory and processed just as if
     glDrawPixels were called, but processing stops after the final expansion
     to	RGBA is	completed.

     The four scale parameters and the four bias parameters that are defined
     for the table are then used to scale and bias the R, G, B,	and A
     components	of each	pixel.	(Use glColorTableParameter to set these	scale
     and bias parameters.)

     Next, the R, G, B,	and A values are clamped to the	range [0, 1].  Each
     pixel is then converted to	the internal format specified by
     internalformat.  This conversion simply maps the component	values of the
     pixel (R, G, B, and A) to the values included in the internal format
     (red, green, blue,	alpha, luminance, and intensity).  The mapping is as
     follows:

      _______________________________________________________________________
      Internal Format	   Red	 Green	 Blue	Alpha	Luminance   Intensity
      _______________________________________________________________________
      GL_ALPHA					  A
      GL_LUMINANCE					    R
      GL_LUMINANCE_ALPHA			  A	    R
      GL_INTENSITY							R
      GL_RGB		    R	   G	  B
      GL_RGBA		    R	   G	  B	  A
      _______________________________________________________________________

     Finally, the red, green, blue, alpha, luminance, and/or intensity
     components	of the resulting pixels	are stored in the color	table.	They
     form a one-dimensional table with indices in the range [0,	width -	1].

     If	target is GL_PROXY_*, glColorTable recomputes and stores the values of
     the proxy color table's state variables GL_COLOR_TABLE_FORMAT,
     GL_COLOR_TABLE_WIDTH, GL_COLOR_TABLE_RED_SIZE, GL_COLOR_TABLE_GREEN_SIZE,
     GL_COLOR_TABLE_BLUE_SIZE, GL_COLOR_TABLE_ALPHA_SIZE,
     GL_COLOR_TABLE_LUMINANCE_SIZE, and	GL_COLOR_TABLE_INTENSITY_SIZE.	There
     is	no effect on the image or state	of any actual color table.  If the
     specified color table is too large	to be supported, then all the proxy
     state variables listed above are set to zero.  Otherwise, the color table
     could be supported	by glColorTable	using the corresponding	non-proxy



									Page 2






glColorTable(3G)	       OpenGL Reference		      glColorTable(3G)



     target, and the proxy state variables are set as if that target were
     being defined.

     The proxy state variables can be retrieved	by calling
     glGetColorTableParameter with a target of GL_PROXY_*.  This allows	the
     application to decide if a	particular glColorTable	command	would succeed,
     and to determine what the resulting color table attributes	would be.

     If	a color	table is enabled, and its width	is non-zero, then its contents
     are used to replace a subset of the components of each RGBA pixel group,
     based on the internal format of the table.

     Each pixel	group has color	components (R, G, B, A)	that are in the	range
     [0.0, 1.0].  The color components are rescaled to the size	of the color
     lookup table to form an index.  Then a subset of the components based on
     the internal format of the	table are replaced by the table	entry selected
     by	that index.  If	the color components and contents of the table are
     represented as follows:

		 _________________________________________________
		 Representation		      Meaning
		 _________________________________________________
		       r	  Table	index computed from R
		       g	  Table	index computed from G
		       b	  Table	index computed from B
		       a	  Table	index computed from A
		      L[i]	  Luminance value at table index i
		      I[i]	  Intensity value at table index i
		      R[i]	  Red value at table index i
		      G[i]	  Green	value at table index i
		      B[i]	  Blue value at	table index i
		      A[i]	  Alpha	value at table index i
		 _________________________________________________

     then the result of	color table lookup is as follows:

	       _____________________________________________________
				       Resulting Texture Components
	       Table Internal Format   R       G       B       A
	       _____________________________________________________
	       GL_ALPHA		       R       G       B       A[a]
	       GL_LUMINANCE	       L[r]    L[g]    L[b]    At
	       GL_LUMINANCE_ALPHA      L[r]    L[g]    L[b]    A[a]
	       GL_INTENSITY	       I[r]    I[g]    I[b]    I[a]
	       GL_RGB		       R[r]    G[g]    B[b]    A
	       GL_RGBA		       R[r]    G[g]    B[b]    A[a]
	       _____________________________________________________

     When GL_COLOR_TABLE is enabled, the colors	resulting from the pixel map
     operation (if it is enabled) are mapped by	the color lookup table before
     being passed to the convolution operation.	The colors resulting from the
     convolution operation are modified	by the post convolution	color lookup



									Page 3






glColorTable(3G)	       OpenGL Reference		      glColorTable(3G)



     table when	GL_POST_CONVOLUTION_COLOR_TABLE	is enabled. These modified
     colors are	then sent to the color matrix operation. Finally, if
     GL_POST_COLOR_MATRIX_COLOR_TABLE is enabled, the colors resulting from
     the color matrix operation	are mapped by the post color matrix color
     lookup table before being used by the histogram operation.

NOTES    [Toc]    [Back]

     glColorTable is present only if GL_ARB_imaging is returned	when
     glGetString is called with	an argument of GL_EXTENSIONS.

     GL_ABGR_EXT is valid only if the EXT_abgr extension is supported.

     If	target is set to GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or
     GL_POST_COLOR_MATRIX_COLOR_TABLE, then width must be a power of two or a
     GL_INVALID_VALUE error is generated.

ERRORS    [Toc]    [Back]

     GL_INVALID_ENUM is	generated if target is not one of the allowable
     values.

     GL_INVALID_ENUM is	generated if internalformat is not one of the
     allowable values.

     GL_INVALID_VALUE is generated if width is less than zero.

     GL_INVALID_ENUM is	generated if format is not one of the allowable
     values.

     GL_INVALID_ENUM is	generated if type is not one of	the allowable values.

     GL_TABLE_TOO_LARGE	is generated if	the requested color table is too large
     to	be supported by	the implementation, and	target is not a	GL_PROXY_*
     target.

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

ASSOCIATED GETS    [Toc]    [Back]

     glGetColorTableParameter

SEE ALSO    [Toc]    [Back]

      
      
     glColorSubTable, glColorTableParameter, glCopyColorTable,
     glCopyColorSubTable, glGetColorTable


									PPPPaaaaggggeeee 4444
[ Back ]
 Similar pages
Name OS Title
glcolortableparametersgi IRIX set color lookup table parameters
glcolortableparameter IRIX set color lookup table parameters
glgetcolortableparameter IRIX get color lookup table parameters
glgetcolortableparametersgi IRIX get color lookup table parameters
glgetcolortable IRIX retrieve contents of a color lookup table
glgetcolortablesgi IRIX retrieve contents of a color lookup table
hosts Linux The static table lookup for host names
glminmaxext IRIX define minmax table
glminmax IRIX define minmax table
glhistogramext IRIX define histogram table
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service