| Name |
| |
| EXT_color_subtable |
| |
| Name Strings |
| |
| GL_EXT_color_subtable |
| |
| Version |
| |
| $Date: 1996/05/29 20:21:02 $ $Revision: 1.2 $ |
| |
| Number |
| |
| 74 |
| |
| Dependencies |
| |
| EXT_color_table affects the definition of this extension |
| EXT_texture_color_table affects the definition of this extension |
| EXT_copy_texture affects the definition of this extension |
| |
| Overview |
| |
| This extension allows a portion of a color table to be redefined. |
| If EXT_copy_texture is implemented, this extension also defines a |
| method to load a portion of a color lookup table from the |
| framebuffer. |
| |
| |
| New Procedures and Functions |
| |
| void ColorSubTableEXT( enum target, |
| sizei start, |
| sizei count, |
| enum format, |
| enum type, |
| const void *data); |
| |
| void CopyColorSubTableEXT(enum target, |
| sizei start, |
| int x, |
| int y, |
| sizei width); |
| |
| New Tokens |
| |
| None. |
| |
| Additions to Chapter 2 of the 1.0 Specification (OpenGL Operation) |
| |
| None |
| |
| Additions to Chapter 3 of the 1.0 Specification (Rasterization) |
| |
| The specification of color lookup tables is added to the GL |
| Specification in section 3.6.2, "Pixel Transfer Modes." A portion |
| of a color table is redefined using the ColorSubTableEXT command |
| with <target> set to COLOR_TABLE_EXT, POST_CONVOLUTION_COLOR_TABLE_EXT, |
| POST_COLOR_MATRIX_COLOR_TABLE_EXT, or TEXTURE_COLOR_TABLE_SGI. |
| <start> and <count> control which entries of the color table |
| are changed. If <start> + <count> exceeds the number of entries in |
| the table then an INVALID_VALUE error is generated. <format> and |
| <type> have the same meaning as for ColorTableEXT. The |
| data is treated as a 1D texture just as in ColorTableEXT. |
| |
| If EXT_copy_texture is supported, a portion of a color table can be |
| re-defined using image data in the framebuffer. CopyColorSubTableEXT |
| accepts image data from a <width> pixel wide by one pixel high color |
| buffer region whose lower-left pixel has window coordinates <x>,<y>. |
| If any pixels within this region are outside the window that is associated |
| with the GL context, the values obtained for those pixels are undefined. |
| |
| These pixel values are obtained from the framebuffer exactly as if |
| ReadPixels had been called with <format> set to RGBA, with processing |
| continuing through Conversion of RGBA values. At this point all pixel |
| component values are treated exactly as if ColorTableEXT had been |
| called, beginning with the scaling of the color components by |
| COLOR_TABLE_SCALE_EXT. The accepted values of the <target> parameter |
| are COLOR_TABLE_EXT, POST_CONVOLUTION_COLOR_TABLE_EXT, |
| POST_COLOR_MATRIX_COLOR_TABLE_EXT or TEXTURE_COLOR_TABLE_SGI. |
| |
| Additions to Chapter 4 of the 1.0 Specification (Per-Fragment Operations |
| and the Framebuffer) |
| |
| None |
| |
| Additions to Chapter 5 of the 1.0 Specification (Special Functions) |
| |
| None |
| |
| Additions to Chapter 6 of the 1.0 Specification (State and State Requests) |
| |
| None |
| |
| Additions to the GLX Specification |
| |
| None |
| |
| GLX Protocol |
| |
| TBD |
| |
| Dependencies on SGI_color_table |
| Dependencies on EXT_color_table |
| |
| If both EXT_color_subtable and EXT_color_table are supported then |
| ColorSubTableEXT can be used to redefine a portion of the color table, |
| post convolution color table and post color matrix color table. |
| |
| If EXT_color_table is not supported then the following values for <target> |
| are invalid when calling ColorSubTableEXT or CopyColorSubTableEXT: |
| COLOR_TABLE_EXT, POST_CONVOLUTION_COLOR_TABLE_EXT, and |
| POST_COLOR_MATRIX_COLOR_TABLE_EXT. |
| |
| Dependencies on SGI_texture_color_table |
| |
| If both EXT_texture_color_table and EXT_color_table are supported then |
| ColorSubTableEXT() can be used to redefine a portion of the texture color |
| table. |
| |
| If EXT_color_table is not supported then the following values for <target> |
| are invalid when calling ColorSubTableEXT or CopyColorSubTableEXT: |
| TEXTURE_COLOR_TABLE_SGI. |
| |
| Dependencies on EXT_copy_texture |
| |
| If EXT_copy_texture is not supported, CopyColorSubTableEXT is not |
| supported. |
| |
| |
| Errors |
| |
| INVALID_ENUM is generated if ColorSubTableEXT or CopyColorSubTableEXT |
| parameter <target> is not one of COLOR_TABLE_EXT, COLOR_TABLE_SGI, |
| POST_CONVOLUTION_COLOR_TABLE_EXT, POST_CONVOLUTION_COLOR_TABLE_SGI, |
| POST_COLOR_MATRIX_COLOR_TABLE_EXT, POST_COLOR_MATRIX_COLOR_TABLE_SGI or |
| TEXTURE_COLOR_TABLE_SGI. |
| |
| INVALID_ENUM is generated if ColorSubTableEXT parameter <format> is not |
| RED, GREEN, BLUE, ALPHA, RGB, RGBA, ABGR_EXT, LUMINANCE, or |
| LUMINANCE_ALPHA. |
| |
| INVALID_ENUM is generated if ColorSubTableEXT parameter <type> is not BYTE, |
| UNSIGNED_BYTE, SHORT, UNSIGNED_SHORT, INT, UNSIGNED_INT, or FLOAT. |
| |
| INVALID_VALUE is generated if ColorSubTableEXT or CopyColorSubTableEXT |
| parameter <start> exceeds the size of the table. |
| |
| INVALID_VALUE is generated if the ColorSubTableEXT parameters <start> + |
| <count> exceed the size of the table. |
| |
| INVALID_VALUE is generated if the CopyColorSubTableEXT parameters <start> + |
| <width> exceed the size of the table. |
| |
| New State |
| |
| None |
| |
| New Implementation Dependent State |
| |
| None |