Back to the OpenGL extension cross reference
GL_EXT_color_subtable
    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.
    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);
    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
Implementation Support
   List of OpenGL implementations supporting the GL_EXT_color_subtable extension
Original File
   Original text file for the GL_EXT_color_subtable extension
Page generated on Sun Nov 20 18:37:33 2005