diff options
author | Reinhard Tartler <siretart@tauware.de> | 2011-10-10 17:43:39 +0200 |
---|---|---|
committer | Reinhard Tartler <siretart@tauware.de> | 2011-10-10 17:43:39 +0200 |
commit | f4092abdf94af6a99aff944d6264bc1284e8bdd4 (patch) | |
tree | 2ac1c9cc16ceb93edb2c4382c088dac5aeafdf0f /nx-X11/extras/ogl-sample/main/doc/man/mangl/standard/colortable.gl | |
parent | a840692edc9c6d19cd7c057f68e39c7d95eb767d (diff) | |
download | nx-libs-f4092abdf94af6a99aff944d6264bc1284e8bdd4.tar.gz nx-libs-f4092abdf94af6a99aff944d6264bc1284e8bdd4.tar.bz2 nx-libs-f4092abdf94af6a99aff944d6264bc1284e8bdd4.zip |
Imported nx-X11-3.1.0-1.tar.gznx-X11/3.1.0-1
Summary: Imported nx-X11-3.1.0-1.tar.gz
Keywords:
Imported nx-X11-3.1.0-1.tar.gz
into Git repository
Diffstat (limited to 'nx-X11/extras/ogl-sample/main/doc/man/mangl/standard/colortable.gl')
-rw-r--r-- | nx-X11/extras/ogl-sample/main/doc/man/mangl/standard/colortable.gl | 317 |
1 files changed, 317 insertions, 0 deletions
diff --git a/nx-X11/extras/ogl-sample/main/doc/man/mangl/standard/colortable.gl b/nx-X11/extras/ogl-sample/main/doc/man/mangl/standard/colortable.gl new file mode 100644 index 000000000..90b141d3d --- /dev/null +++ b/nx-X11/extras/ogl-sample/main/doc/man/mangl/standard/colortable.gl @@ -0,0 +1,317 @@ +_C_ License Applicability. Except to the extent portions of this file are +_C_ made subject to an alternative license as permitted in the SGI Free +_C_ Software License B, Version 1.1 (the "License"), the contents of this +_C_ file are subject only to the provisions of the License. You may not use +_C_ this file except in compliance with the License. You may obtain a copy +_C_ of the License at Silicon Graphics, Inc., attn: Legal Services, 1600 +_C_ Amphitheatre Parkway, Mountain View, CA 94043-1351, or at: +_C_ +_C_ http://oss.sgi.com/projects/FreeB +_C_ +_C_ Note that, as provided in the License, the Software is distributed on an +_C_ "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS +_C_ DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND +_C_ CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A +_C_ PARTICULAR PURPOSE, AND NON-INFRINGEMENT. +_C_ +_C_ Original Code. The Original Code is: OpenGL Sample Implementation, +_C_ Version 1.2.1, released January 26, 2000, developed by Silicon Graphics, +_C_ Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc. +_C_ Copyright in any portions created by third parties is as indicated +_C_ elsewhere herein. All Rights Reserved. +_C_ +_C_ Additional Notice Provisions: The application programming interfaces +_C_ established by SGI in conjunction with the Original Code are The +_C_ OpenGL(R) Graphics System: A Specification (Version 1.2.1), released +_C_ April 1, 1999; The OpenGL(R) Graphics System Utility Library (Version +_C_ 1.3), released November 4, 1998; and OpenGL(R) Graphics with the X +_C_ Window System(R) (Version 1.3), released October 19, 1998. This software +_C_ was created using the OpenGL(R) version 1.2.1 Sample Implementation +_C_ published by SGI, but has not been independently verified as being +_C_ compliant with the OpenGL(R) version 1.2.1 Specification. +_C_ +_C_ The first character in this file must be an '_'! +_C_ Anything on a line after _C_ is ignored +_define(_filters,tbl)_C_ +_header(ColorTable,define a color lookup table) +_names(ColorTable) +_define(@<__target>@,@<_param1>@)_C_ +_define(@<__internalformat>@,@<_param2>@)_C_ +_define(@<__width>@,@<_param3>@)_C_ +_define(@<__format>@,@<_param4>@)_C_ +_define(@<__type>@,@<_param5>@)_C_ +_define(@<__table>@,@<_param6>@)_C_ +.SH PARAMETERS +_phead(__target) +Must be one of +_const(COLOR_TABLE), +_const(POST_CONVOLUTION_COLOR_TABLE), +_const(POST_COLOR_MATRIX_COLOR_TABLE), +_const(PROXY_COLOR_TABLE), +_const(PROXY_POST_CONVOLUTION_COLOR_TABLE), +or +_const(PROXY_POST_COLOR_MATRIX_COLOR_TABLE). +_phead(__internalformat) +The internal format of the color table. +The allowable values are +_const(ALPHA), +_const(ALPHA4), +_const(ALPHA8), +_const(ALPHA12), +_const(ALPHA16), +_const(LUMINANCE), +_const(LUMINANCE4), +_const(LUMINANCE8), +_const(LUMINANCE12), +_const(LUMINANCE16), +_const(LUMINANCE_ALPHA), +_const(LUMINANCE4_ALPHA4), +_const(LUMINANCE6_ALPHA2), +_const(LUMINANCE8_ALPHA8), +_const(LUMINANCE12_ALPHA4), +_const(LUMINANCE12_ALPHA12), +_const(LUMINANCE16_ALPHA16), +_const(INTENSITY), +_const(INTENSITY4), +_const(INTENSITY8), +_const(INTENSITY12), +_const(INTENSITY16), +_const(R3_G3_B2), +_const(RGB), +_const(RGB4), +_const(RGB5), +_const(RGB8), +_const(RGB10), +_const(RGB12), +_const(RGB16), +_const(RGBA), +_const(RGBA2), +_const(RGBA4), +_const(RGB5_A1), +_const(RGBA8), +_const(RGB10_A2), +_const(RGBA12), and +_const(RGBA16). +_phead(__width) +The number of entries in the color lookup table specified by __table. +_phead(__format) +The format of the pixel data in __table. +The allowable values are +_const(RED), +_const(GREEN), +_const(BLUE), +_const(ALPHA), +_const(LUMINANCE), +_const(LUMINANCE_ALPHA), +_const(RGB), +_const(BGR), +_const(RGBA), and +_const(BGRA). +_phead(__type) +The type of the pixel data in __table. +The allowable values are +_const(UNSIGNED_BYTE), +_const(BYTE), +_const(UNSIGNED_SHORT), +_const(SHORT), +_const(UNSIGNED_INT), +_const(INT), +_const(FLOAT), +_const(UNSIGNED_BYTE_3_3_2), +_const(UNSIGNED_BYTE_2_3_3_REV), +_const(UNSIGNED_SHORT_5_6_5), +_const(UNSIGNED_SHORT_5_6_5_REV), +_const(UNSIGNED_SHORT_4_4_4_4), +_const(UNSIGNED_SHORT_4_4_4_4_REV), +_const(UNSIGNED_SHORT_5_5_5_1), +_const(UNSIGNED_SHORT_1_5_5_5_REV), +_const(UNSIGNED_INT_8_8_8_8), +_const(UNSIGNED_INT_8_8_8_8_REV), +_const(UNSIGNED_INT_10_10_10_2), and +_const(UNSIGNED_INT_2_10_10_10_REV). +_phead(__table) +Pointer to a one-dimensional array of pixel data that is processed to +build the color table. +.SH DESCRIPTION +_cmnd 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 _const(PROXY_*) for the first case +and the other targets for the second case. +.P +If __target is _const(COLOR_TABLE), +_const(POST_CONVOLUTION_COLOR_TABLE), +or +_const(POST_COLOR_MATRIX_COLOR_TABLE), +_cmnd 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 _cmnd(DrawPixels) were called, but processing +stops after the final expansion to RGBA is completed. +.P +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 _cmnd(ColorTableParameter) to set these scale and bias +parameters.) +.P +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: +.P +.TS +center; +lb cb cb cb cb cb cb +l c c c c c c. +_ +Internal Format Red Green Blue Alpha Luminance Intensity +_ +_const(ALPHA) A +_const(LUMINANCE) R +_const(LUMINANCE_ALPHA) A R +_const(INTENSITY) R +_const(RGB) R G B +_const(RGBA) R G B A +_ +.TE +.P +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]. +.P +If __target is _const(PROXY_*), +_cmnd recomputes and stores the values of the proxy color table's state +variables +_const(COLOR_TABLE_FORMAT), +_const(COLOR_TABLE_WIDTH), +_const(COLOR_TABLE_RED_SIZE), +_const(COLOR_TABLE_GREEN_SIZE), +_const(COLOR_TABLE_BLUE_SIZE), +_const(COLOR_TABLE_ALPHA_SIZE), +_const(COLOR_TABLE_LUMINANCE_SIZE), and +_const(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 _cmnd +using the corresponding non-proxy target, +and the proxy state variables are set as if that target were being defined. +.P +The proxy state variables can be retrieved by calling +_cmnd(GetColorTableParameter) with a target of +_const(PROXY_*). +This allows the application to decide if a particular _cmnd +command would succeed, and to determine what the resulting color table +attributes would be. +.P +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. +.P +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: +.P +.TS +center; +cb cb +c l. +_ +Representation Meaning +_ +\f7r\fP Table index computed from \f7R\fP +\f7g\fP Table index computed from \f7G\fP +\f7b\fP Table index computed from \f7B\fP +\f7a\fP Table index computed from \f7A\fP +\f7L[i]\fP Luminance value at table index \f7i\fP +\f7I[i]\fP Intensity value at table index \f7i\fP +\f7R[i]\fP Red value at table index \f7i\fP +\f7G[i]\fP Green value at table index \f7i\fP +\f7B[i]\fP Blue value at table index \f7i\fP +\f7A[i]\fP Alpha value at table index \f7i\fP +_ +.TE +.P +then the result of color table lookup is as follows: +.P +.ne 10 +.TS +center; +l l s s s +l l l l l +l l l l l. +_ + Resulting Texture Components +Table Internal Format R G B A +_ +_const(ALPHA) R G B A[a] +_const(LUMINANCE) L[r] L[g] L[b] At +_const(LUMINANCE_ALPHA) L[r] L[g] L[b] A[a] +_const(INTENSITY) I[r] I[g] I[b] I[a] +_const(RGB) R[r] G[g] B[b] A +_const(RGBA) R[r] G[g] B[b] A[a] +_ +.TE +.P +When _const(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 table when +_const(POST_CONVOLUTION_COLOR_TABLE) +is enabled. These modified colors are then sent to the color matrix operation. +Finally, if _const(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. +.P +.SH NOTES +_cmnd is present only if _arbstring(imaging) is returned when _cmnd(GetString) +is called with an argument of _const(EXTENSIONS). +.P +If __target is set to _const(COLOR_TABLE), +_const(POST_CONVOLUTION_COLOR_TABLE), +or _const(POST_COLOR_MATRIX_COLOR_TABLE), +then __width must be a power of two or a _const(INVALID_VALUE) +error is generated. +.P +.SH ERRORS +_const(INVALID_ENUM) is generated if __target is not one of the allowable +values. +.P +_const(INVALID_ENUM) is generated if __internalformat is not one of the +allowable values. +.P +_const(INVALID_VALUE) is generated if __width is less than zero. +.P +_const(INVALID_ENUM) is generated if __format is not one of the allowable +values. +.P +_const(INVALID_ENUM) is generated if __type is not one of the allowable +values. +.P +_const(TABLE_TOO_LARGE) is generated if the requested color table +is too large to be supported by the implementation, and __target is +not a _const(PROXY_*) target. +.P +_const(INVALID_OPERATION) is generated if _cmnd is executed +between the execution of _cmnd(Begin) and the corresponding +execution of _cmnd(End). +.SH ASSOCIATED GETS +_cmnd(GetColorTableParameter) +.SH SEE ALSO +_cmnd(ColorSubTable), +_cmnd(ColorTableParameter), +_cmnd(CopyColorTable), +_cmnd(CopyColorSubTable), +_cmnd(GetColorTable) |