NAME
glPixelMapfv, glPixelMapuiv, glPixelMapusv
- set up pixel transfer maps
C SPECIFICATION
void ggllPPiixxeellMMaappffvv(
GLenum _m_a_p,
GLint _m_a_p_s_i_z_e,
const GLfloat _*_v_a_l_u_e_s )
void ggllPPiixxeellMMaappuuiivv(
GLenum _m_a_p,
GLint _m_a_p_s_i_z_e,
const GLuint _*_v_a_l_u_e_s )
void ggllPPiixxeellMMaappuussvv(
GLenum _m_a_p,
GLint _m_a_p_s_i_z_e,
const GLushort _*_v_a_l_u_e_s )
delim $$
PARAMETERS
-
_m_a_p
-
Specifies a symbolic map name.
Must be one of the following:
GGLL__PPIIXXEELL__MMAAPP__II__TTOO__II,
GGLL__PPIIXXEELL__MMAAPP__SS__TTOO__SS,
GGLL__PPIIXXEELL__MMAAPP__II__TTOO__RR,
GGLL__PPIIXXEELL__MMAAPP__II__TTOO__GG,
GGLL__PPIIXXEELL__MMAAPP__II__TTOO__BB,
GGLL__PPIIXXEELL__MMAAPP__II__TTOO__AA,
GGLL__PPIIXXEELL__MMAAPP__RR__TTOO__RR,
GGLL__PPIIXXEELL__MMAAPP__GG__TTOO__GG,
GGLL__PPIIXXEELL__MMAAPP__BB__TTOO__BB, or
GGLL__PPIIXXEELL__MMAAPP__AA__TTOO__AA.
-
_m_a_p_s_i_z_e
-
Specifies the size of the map being defined.
-
_v_a_l_u_e_s
-
Specifies an array of _m_a_p_s_i_z_e values.
DESCRIPTION
ggllPPiixxeellMMaapp sets up translation tables,
or _m_a_p_s,
used by
ggllCCooppyyPPiixxeellss,
ggllCCooppyyTTeexxIImmaaggee11DD,
ggllCCooppyyTTeexxIImmaaggee22DD,
ggllCCooppyyTTeexxSSuubbIImmaaggee11DD,
ggllCCooppyyTTeexxSSuubbIImmaaggee22DD,
ggllCCooppyyTTeexxSSuubbIImmaaggee33DD,
ggllDDrraawwPPiixxeellss,
ggllRReeaaddPPiixxeellss,
ggllTTeexxIImmaaggee11DD,
ggllTTeexxIImmaaggee22DD,
ggllTTeexxIImmaaggee33DD,
ggllTTeexxSSuubbIImmaaggee11DD,
ggllTTeexxSSuubbIImmaaggee22DD, and
ggllTTeexxSSuubbIImmaaggee33DD.
Additionally, if the GGLL__AARRBB__iimmaaggiinngg subset is supported, the
routines
ggllCCoolloorrTTaabbllee,
ggllCCoolloorrSSuubbTTaabbllee,
ggllCCoonnvvoolluuttiioonnFFiilltteerr11DD,
ggllCCoonnvvoolluuttiioonnFFiilltteerr22DD,
ggllHHiissttooggrraamm,
ggllMMiinnmmaaxx, and
ggllSSeeppaarraabblleeFFiilltteerr22DD.
Use of these maps is described completely in the
ggllPPiixxeellTTrraannssffeerr reference page,
and partly in the reference pages for the pixel and texture image commands.
Only the specification of the maps is described in this reference page.
_m_a_p is a symbolic map name,
indicating one of ten maps to set.
_m_a_p_s_i_z_e specifies the number of entries in the map,
and _v_a_l_u_e_s is a pointer to an array of _m_a_p_s_i_z_e map values.
The ten maps are as follows:
-
GGLL__PPIIXXEELL__MMAAPP__II__TTOO__II
-
Maps color indices to color indices.
-
GGLL__PPIIXXEELL__MMAAPP__SS__TTOO__SS
-
Maps stencil indices to stencil indices.
-
GGLL__PPIIXXEELL__MMAAPP__II__TTOO__RR
-
Maps color indices to red components.
-
GGLL__PPIIXXEELL__MMAAPP__II__TTOO__GG
-
Maps color indices to green components.
-
GGLL__PPIIXXEELL__MMAAPP__II__TTOO__BB
-
Maps color indices to blue components.
-
GGLL__PPIIXXEELL__MMAAPP__II__TTOO__AA
-
Maps color indices to alpha components.
-
GGLL__PPIIXXEELL__MMAAPP__RR__TTOO__RR
-
Maps red components to red components.
-
GGLL__PPIIXXEELL__MMAAPP__GG__TTOO__GG
-
Maps green components to green components.
-
GGLL__PPIIXXEELL__MMAAPP__BB__TTOO__BB
-
Maps blue components to blue components.
-
GGLL__PPIIXXEELL__MMAAPP__AA__TTOO__AA
-
Maps alpha components to alpha components.
The entries in a map can be specified as single-precision
floating-point numbers,
unsigned short integers,
or unsigned long integers.
Maps that store color component values
(all but GGLL__PPIIXXEELL__MMAAPP__II__TTOO__II and GGLL__PPIIXXEELL__MMAAPP__SS__TTOO__SS)
retain their values in floating-point ,
with unspecified mantissa and exponent sizes.
Floating-point values specified by ggllPPiixxeellMMaappffvv are converted directly
to the internal floating-point of these maps,
then clamped to the range [0,1].
Unsigned integer values specified by ggllPPiixxeellMMaappuussvv and
ggllPPiixxeellMMaappuuiivv are converted linearly such that
the largest representable integer maps to 1.0,
and 0 maps to 0.0.
Maps that store indices,
GGLL__PPIIXXEELL__MMAAPP__II__TTOO__II and GGLL__PPIIXXEELL__MMAAPP__SS__TTOO__SS,
retain their values in fixed-point ,
with an unspecified number of bits to the right of the binary point.
Floating-point values specified by ggllPPiixxeellMMaappffvv are converted directly
to the internal fixed-point of these maps.
Unsigned integer values specified by ggllPPiixxeellMMaappuussvv and
ggllPPiixxeellMMaappuuiivv specify integer values,
with all 0's to the right of the binary point.
The following table shows the initial sizes and values for each of the maps.
Maps that are indexed by either color or stencil indices must have
_m_a_p_s_i_z_e = $2 sup n$ for some $n$ or the results are undefined.
The maximum allowable size for each map depends on the implementation
and can be determined by calling ggllGGeett with argument
GGLL__MMAAXX__PPIIXXEELL__MMAAPP__TTAABBLLEE.
The single maximum applies to all maps; it is at
least 32.
center tab(:) delim($$) ;
lb cb cb cb cb
l c c c c.
_
_m_a_p:Lookup Index:Lookup Value:Initial Size:Initial Value
_
GGLL__PPIIXXEELL__MMAAPP__II__TTOO__II:color index:color index:1:0
GGLL__PPIIXXEELL__MMAAPP__SS__TTOO__SS:stencil index :stencil index :1:0
GGLL__PPIIXXEELL__MMAAPP__II__TTOO__RR:color index :R:1:0
GGLL__PPIIXXEELL__MMAAPP__II__TTOO__GG:color index :G:1:0
GGLL__PPIIXXEELL__MMAAPP__II__TTOO__BB:color index:B:1:0
GGLL__PPIIXXEELL__MMAAPP__II__TTOO__AA:color index:A:1:0
GGLL__PPIIXXEELL__MMAAPP__RR__TTOO__RR:R:R:1:0
GGLL__PPIIXXEELL__MMAAPP__GG__TTOO__GG:G:G:1:0
GGLL__PPIIXXEELL__MMAAPP__BB__TTOO__BB:B:B:1:0
GGLL__PPIIXXEELL__MMAAPP__AA__TTOO__AA:A:A:1:0
_
ERRORS
GGLL__IINNVVAALLIIDD__EENNUUMM is generated if _m_a_p is not an accepted value.
GGLL__IINNVVAALLIIDD__VVAALLUUEE is generated if _m_a_p_s_i_z_e is less than one
or larger than GGLL__MMAAXX__PPIIXXEELL__MMAAPP__TTAABBLLEE.
GGLL__IINNVVAALLIIDD__VVAALLUUEE is generated if _m_a_p is
GGLL__PPIIXXEELL__MMAAPP__II__TTOO__II,
GGLL__PPIIXXEELL__MMAAPP__SS__TTOO__SS,
GGLL__PPIIXXEELL__MMAAPP__II__TTOO__RR,
GGLL__PPIIXXEELL__MMAAPP__II__TTOO__GG,
GGLL__PPIIXXEELL__MMAAPP__II__TTOO__BB, or
GGLL__PPIIXXEELL__MMAAPP__II__TTOO__AA,
and _m_a_p_s_i_z_e is not a power of two.
GGLL__IINNVVAALLIIDD__OOPPEERRAATTIIOONN is generated if ggllPPiixxeellMMaapp
is executed between the execution of ggllBBeeggiinn
and the corresponding execution of ggllEEnndd.
ASSOCIATED GETS
ggllGGeettPPiixxeellMMaapp
ggllGGeett with argument GGLL__PPIIXXEELL__MMAAPP__II__TTOO__II__SSIIZZEE
ggllGGeett with argument GGLL__PPIIXXEELL__MMAAPP__SS__TTOO__SS__SSIIZZEE
ggllGGeett with argument GGLL__PPIIXXEELL__MMAAPP__II__TTOO__RR__SSIIZZEE
ggllGGeett with argument GGLL__PPIIXXEELL__MMAAPP__II__TTOO__GG__SSIIZZEE
ggllGGeett with argument GGLL__PPIIXXEELL__MMAAPP__II__TTOO__BB__SSIIZZEE
ggllGGeett with argument GGLL__PPIIXXEELL__MMAAPP__II__TTOO__AA__SSIIZZEE
ggllGGeett with argument GGLL__PPIIXXEELL__MMAAPP__RR__TTOO__RR__SSIIZZEE
ggllGGeett with argument GGLL__PPIIXXEELL__MMAAPP__GG__TTOO__GG__SSIIZZEE
ggllGGeett with argument GGLL__PPIIXXEELL__MMAAPP__BB__TTOO__BB__SSIIZZEE
ggllGGeett with argument GGLL__PPIIXXEELL__MMAAPP__AA__TTOO__AA__SSIIZZEE
ggllGGeett with argument GGLL__MMAAXX__PPIIXXEELL__MMAAPP__TTAABBLLEE
SEE ALSO
ggllCCoolloorrTTaabbllee((33GG)),
ggllCCoolloorrSSuubbTTaabbllee((33GG)),
ggllCCoonnvvoolluuttiioonnFFiilltteerr11DD((33GG)),
ggllCCoonnvvoolluuttiioonnFFiilltteerr22DD((33GG)),
ggllCCooppyyPPiixxeellss((33GG)),
ggllCCooppyyTTeexxIImmaaggee11DD((33GG)),
ggllCCooppyyTTeexxIImmaaggee22DD((33GG)),
ggllCCooppyyTTeexxSSuubbIImmaaggee11DD((33GG)),
ggllCCooppyyTTeexxSSuubbIImmaaggee22DD((33GG)),
ggllDDrraawwPPiixxeellss((33GG)),
ggllHHiissttooggrraamm((33GG)),
ggllMMiinnmmaaxx((33GG)),
ggllPPiixxeellSSttoorree((33GG)),
ggllPPiixxeellTTrraannssffeerr((33GG)),
ggllRReeaaddPPiixxeellss((33GG)),
ggllSSeeppaarraabblleeFFiilltteerr22DD((33GG)),
ggllTTeexxIImmaaggee11DD((33GG)),
ggllTTeexxIImmaaggee22DD((33GG)),
ggllTTeexxIImmaaggee33DD((33GG)),
ggllTTeexxSSuubbIImmaaggee11DD((33GG)),
ggllTTeexxSSuubbIImmaaggee22DD((33GG)),
ggllTTeexxSSuubbIImmaaggee33DD((33GG))