Back to the OpenGL extension cross reference

GL_SGIX_pixel_texture


Name


    SGIX_pixel_texture

Name Strings


    GL_SGIX_pixel_texture

Version


    Last Modified Date: December 10, 1999
Author Revision: $Header: //depot/main/doc/registry/extensions/SGI/sgix_pixel_texture.spec#2 $

Number


    15a
(SGIS_pixel_texture is extension #15)

Dependencies


    None

Overview


    This extension allows the color components of pixel groups to be used as
texture coordinates, effectively converting a color image into a texture
coordinate image. Because texture mapping is essentially a
multidimensional table lookup, this conversion supports multidimensional
color lookups for images. Such multidimensional lookups can be used to
implement very accurate color space conversions.

Issues


    *	Should LOD be supported?

New Procedures and Functions


    void PixelTexGenSGIX(enum mode);

New Tokens


    Accepted by the <cap> parameter of Enable, Disable, and IsEnabled, and
by the <pname> parameter of GetBooleanv, GetIntegerv, GetFloatv, and
GetDoublev:

PIXEL_TEX_GEN_SGIX = 0x8139

Accepted by the <pname> parameter of GetBooleanv, GetIntegerv, GetFloatv,
and GetDoublev:

PIXEL_TEX_GEN_MODE_SGIX = 0x832B

Additions to Chapter 2 of the 1.0 Specification (OpenGL Operation)


    None

Additions to Chapter 3 of the 1.0 Specification (Rasterization)


    This extension modifies the "Conversion to Fragments" subsection of
section 3.6.3 (Rasterization of Pixel Rectangles) of the GL
Specification. The paragraph beginning with "A fragment arising from a
group consisting of color data ..." is replaced by the following:

A fragment arising from a group consisting of color index data takes on
the color index of the group; the depth and texture coordinates are
taken from the current raster positions associated data. Likewise, a
fragment arising from a depth component takes the component's depth
value; the color and texture coordinates are given by those associated
with the current raster position. Groups arising from DrawPixels with a
<format> of STENCIL_INDEX are treated specially and are described in
section 4.3.1.

The treatment of fragments arising from groups consisting of RGBA color
data is affected by pixel texgen, which is enabled and disabled by
calling Enable and Disable with PIXEL_TEX_GEN_SGIX passed as the <cap>
parameter.

When pixel texgen enabled, a fragment arising from a group consisting of
RGBA color data takes its depth component from the current raster position
depth, and the texture coordinates are assigned as follows:

Pixel group's red becomes the fragment S texture coordinate
Pixel group's green becomes the fragment T texture coordinate
Pixel group's blue becomes the fragment R texture coordinate
Pixel group's alpha becomes the fragment Q texture coordinate

The assignment of the fragment color components is determined by value of
PIXEL_TEX_GEN_MODE_SGIX as defined as defined by the following table:

PIXEL_TEX_GEN_MODE_SGIX Fragment's color component value
value R G B A
----------------------- ------- ------- ------- -------
NONE PG's R PG's G PG's B PG's A
ALPHA PG's R PG's G PG's B CRP's A
RGB CRP's R CRP's G CRP's B PG's A
RGBA CRP's R CRP's G CRP's B CRP's A

Assignment of pixel group and current raster position color data to a
fragment arising from an RGBA color pixel group when pixel texgen is
enabled. The value of PIXEL_TEX_GEN_MODE_SGIX in the first column
controls the assignment of fragment color components in second thru the
fifth columns. PG, CRP, R, G, B, A are abbreviations of "current raster
position", "pixel group", "red", "green", "blue", and "alpha"
respectively.

The <mode> parameter of PixelTexGenSGIX is used to set the value of
PIXEL_TEX_GEN_MODE_SGIX. (It is NONE by default.)

Additions to Chapter 4 of the 1.0 Specification (Per-Fragment Operations and the Frame Buffer)


    The operation of pixel texgen during pixel copy operations is
identical to the operation during pixel drawing. Because PixelTexGenSGIX
defines the rasterization of pixel groups, it has no effect on texture
definitions or on pixel query (ReadPixels) operations.

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

Errors


    INVALID_ENUM is generated if PixelTexGenSGIX parameter <mode> is not NONE,
ALPHA, RGB, or RGBA.

INVALID_OPERATION is generated if PixelTexGenSGIX is called between
execution of Begin and the execution of the corresponding End.

New State


    Get Value			Get Command	Type	Initial Value	Attrib
--------- ----------- ---- ------------- ------
PIXEL_TEX_GEN_SGIX IsEnabled B FALSE pixel
PIXEL_TEX_GEN_MODE_SGIX GetIntegerv Z4 NONE pixel

New Implementation Dependent State


    None

Implementation Support


   List of OpenGL implementations supporting the GL_SGIX_pixel_texture extension

Original File


   Original text file for the GL_SGIX_pixel_texture extension


Page generated on Sun Nov 20 18:38:35 2005