Name

    SGIS_texture_select

Name Strings

    GL_SGIS_texture_select

Version

    $Date: 1996/02/13 19:11:06 $ $Revision: 1.11 $

Number

    51

Dependencies

    EXT_texture
    EXT_texture3D
    EXT_texture_object
    SGIS_detail_texture

Overview

    This extension introduces several new texture internal formats.  The
    purpose of these new formats is to reorganize the components of a
    texture into groups of components.  The currently selected group
    effectively becomes the internal format.

    Also, two new texture parameters are introduced that control the
    selection of these groups of components.

    For example, assume a texture internal format of DUAL_LUMINANCE4_SGIS is
    specified.  Now there are two groups of components, where each group has
    a format of LUMINANCE4.  One of the two LUMINANCE groups is always
    selected.  components can be selected and then interpreted as a LUMINANCE
    texture.

    The purpose of this extension is allow better utilization of texture
    memory by subdividing the internal representation of a texel into 1, 2,
    or 4 smaller texels.  Additionally, this may improve performance of
    texture downloads.

Issues

    *	This spec still needs values for the enumerants.  Also, the GLX
	section is empty.

    *	This extension was formerly named SGIS_component_select.  The
	reference to "component" was confusing so we changed it.

    *	We have removed the ability to "alias" or reinterpret groups of
	components.  Specifically, once a texture is defined with a DUAL*
	or QUAD* internal format, the fact that it is ALPHA, LUMINANCE,
	INTENSITY, or LUMINANCE_ALPHA is not changeable.  a previous version
	of this spec allowed this.  IrisGL on RealityEngine allowed it as
	well.  Since this function might be useful, it should be revisited
	in a separate spec that allows this for all internal formats, not
	just the ones defined here.  Additionally, any porting document
	should mention this subtle point.  

    *	Should we include versions of these new internal formats that don't 
	specify bit resolution?  (e.g. DUAL_ALPHA_SGIS)  It would add the
	ability to be vague about the actual resolution and would make it
	appear consistent with internal formats from EXT_texture.  Can
	someone make a good argument for adding these?

    *	Do we need a new query to determine component bit resolution?
	A. No.  The existing queries defined by EXT_texture are sufficient.
	The query applies to the selected group of components.

    *	Need to review dependencies on detail_texture, sharpen, etc.  Can
	one create a detail texture using these new formats?  A. The
	dependency on SGIS_detail_texture is mentioned below.

    *	Is there an easy way to know whether this extension is actually
	"enabled"?  A. This extension is enabled when the current texture
	format is one of the new internal formats defined here.  An
	additional query is required to determine which group of components 
	is selected. 


New Procedures and Functions

    None

New Tokens

    Accepted by the <components> parameter of TexImage1D and TexImage2D, and
    the <internalformat> parameter of TexImage3DEXT:

	DUAL_ALPHA4_SGIS
	DUAL_ALPHA8_SGIS
	DUAL_ALPHA12_SGIS
	DUAL_ALPHA16_SGIS
	DUAL_LUMINANCE4_SGIS
	DUAL_LUMINANCE8_SGIS
	DUAL_LUMINANCE12_SGIS
	DUAL_LUMINANCE16_SGIS
	DUAL_INTENSITY4_SGIS
	DUAL_INTENSITY8_SGIS
	DUAL_INTENSITY12_SGIS
	DUAL_INTENSITY16_SGIS
	DUAL_LUMINANCE_ALPHA4_SGIS
	DUAL_LUMINANCE_ALPHA8_SGIS
	QUAD_ALPHA4_SGIS
	QUAD_ALPHA8_SGIS
	QUAD_LUMINANCE4_SGIS
	QUAD_LUMINANCE8_SGIS
	QUAD_INTENSITY4_SGIS
	QUAD_INTENSITY8_SGIS

    Accepted by the <pname> parameter of TexParameterf, TexParameteri,
    TexParameterfv, TexParameteriv, GetTexParameterfv, and 
    GetTexParameteriv:

	DUAL_TEXTURE_SELECT_SGIS
	QUAD_TEXTURE_SELECT_SGIS


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

    None.

Additions to Chapter 3 of the 1.0 Specification (Rasterization)

    The selection of a group of components is specified by using 
    TexParameterf, TexParameteri, TexParameterfv, or TexParameteriv with 
    a <pname> parameter of DUAL_TEXTURE_SELECT_SGIS or QUAD_TEXTURE_SELECT_SGIS.

    The value of DUAL_TEXTURE_SELECT_SGIS selects one of two groups of
    components (hence the term DUAL).  The <param> parameter must be 0 or 1.
    Otherwise, an INVALID_VALUE error is set.  When the texture internal
    format is one of the DUAL* formats, this selection becomes active. A
    value of 0 specifies that the first group of components is used, a value
    of 1 specifies the second group, and so on.

    Similarly, the value of QUAD_TEXTURE_SELECT_SGIS selects one of four
    groups of components in the case that the texture internal format is one
    of the QUAD* formats.  The <param> value must be 0, 1, 2 or 3.
    Otherwise, an INVALID_VALUE error is set.
    
    There is always a selection defined for both DUAL_TEXTURE_SELECT_SGIS
    and QUAD_TEXTURE_SELECT_SGIS formats.  It becomes active when the
    current texture format becomes one of the DUAL* or QUAD* formats,
    respectively.  If the current texture format is not one of DUAL* or
    QUAD* formats, this extension has no effect.

    The mapping of components from the canonical RGBA to these new internal
    formats needs to be clarified.  There are three cases.  The first case
    is for the DUAL* formats that are groups of ALPHA, LUMINANCE, and
    INTENSITY.  The RED component goes to the first group while ALPHA goes
    to the second group.  The second case is for the DUAL* formats that are
    groups of LUMINANCE_ALPHA.  The RED and GREEN components go to the first
    group while BLUE and ALPHA go to the second group.  The third case is
    for the QUAD* formats.  The RED component goes to the first group, the
    GREEN component to the second group, the BLUE component to the third
    group, and the ALPHA component to the fourth group.

    The interpretation of the bit resolutions of the new internal formats 
    is implementation dependent.  (Similar to EXT_texture.)  The actual
    resolution granted can be queried using Get*.  The bit resolution of
    similar type components in a group, such as multiple LUMINANCE
    components, is always the same.


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

    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

    XXX

Dependencies on EXT_texture

    EXT_texture is required.  This extension defines new texture internal
    formats that build on concepts (such as the INTENSITY format and
    component numeric resolutions) introduced in the EXT_texture extension.

Dependencies on EXT_texture3D

    If EXT_texture3D is not supported, references to it should be ignored.
    (see New State)

Dependencies on EXT_texture_object

    If EXT_texture_object is not supported, references to it should be
    ignored.  (See New State.)

Dependencies on SGIS_detail_texture

    The condition for using the detail texture (see detail_texture.spec,
    section 3.8.2.1 Texture magnification with detail) is modified to read:

    "The conditions are:

	1.  The active texture must be TEXTURE_2D.

	2.  The internal formats of TEXTURE_2D and DETAIL_TEXTURE_2D_SGIS
	    must have been specified identically.

	3.  If SGIS_texture_select is supported and if the internal formats
	    of TEXTURE_2D and DETAIL_TEXTURE_2D_SGIS are one of those
	    defined by SGIS_texture_select (e.g. DUAL_LUMINANCE4_SGIS),
	    then the corresponding group selections (e.g. the value of
	    DUAL_TEXTURE_SELECT_SGIS) must have been specified identically.

    If these conditions are not met, it is as though the magnification
    texture filter was LINEAR."

Errors

    See above.

New State

											Initial
    Get Value				Get Command		Type			Value		Attrib
    ---------				-----------		----			-------		------

    DUAL_TEXTURE_SELECT_SGIS		GetTexParameter		n x 3 x Z2		0		texture

    QUAD_TEXTURE_SELECT_SGIS		GetTexParameter		n x 3 x Z4		0		texture


    Note:  The "Type" column shows "n x ..." since this state will appear 
    in each of "n" objects defined by EXT_texture_object.

New Implementation Dependent State

    None.
