glPixelMapusv, fonction

La fonction glPixelMapusv configure les mappages de transfert de pixels.

Syntaxe

void WINAPI glPixelMapusv(
         GLenum   map,
         GLsizei  mapsize,
   const GLushort *values
);

Paramètres

map

Nom de carte symbolique. Les dix cartes sont les suivantes.

Valeur Signification
GL_PIXEL_MAP_I_TO_I
Mappe les index de couleur aux index de couleur.
GL_PIXEL_MAP_S_TO_S
Mappe les index de gabarit à des index de gabarit.
GL_PIXEL_MAP_I_TO_R
Mappe les index de couleur aux composants rouges.
GL_PIXEL_MAP_I_TO_G
Mappe les index de couleur aux composants verts.
GL_PIXEL_MAP_I_TO_B
Mappe les index de couleur aux composants bleus.
GL_PIXEL_MAP_I_TO_A
Mappe les index de couleur aux composants alpha.
GL_PIXEL_MAP_R_TO_R
Mappe les composants rouges aux composants rouges.
GL_PIXEL_MAP_G_TO_G
Mappe les composants verts aux composants verts.
GL_PIXEL_MAP_B_TO_B
Mappe les composants bleus aux composants bleus.
GL_PIXEL_MAP_A_TO_A
Mappe les composants alpha aux composants alpha.

mapsize

Taille de la carte en cours de définition.

Valeurs

Tableau de valeurs de mappage .

Valeur renvoyée

Cette fonction ne retourne pas de valeur.

Codes d’erreur

Les codes d’erreur suivants peuvent être récupérés par la fonction glGetError .

Nom Signification
GL_INVALID_ENUM
map n’était pas une valeur acceptée.
GL_INVALID_VALUE
mapsize était négatif ou supérieur à GL_PIXEL_MAP_TABLE.
GL_INVALID_VALUE
map était GL_PIXEL_MAP_I_TO_I, GL_PIXEL_MAP_S_TO_S, GL_PIXEL_MAP_I_TO_R, GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B ou GL_PIXEL_MAP_I_TO_A, et mapsize n’était pas une puissance de deux.
GL_INVALID_OPERATION
La fonction a été appelée entre un appel à glBegin et l’appel à glEnd correspondant.

Notes

La fonction glPixelMap configure des tables de traduction, ou des cartes, utilisées par glCopyPixels, glCopyTexImage1D, glCopyTexImage2D, glCopyTexSubImage1D, glCopyTexSubImage2D, glDrawPixels, glReadPixels, glTexImage1D, glTexImage2D, glTexSubImage1D et glTexSubImage2D. L’utilisation de ces cartes est décrite entièrement dans la rubrique glPixelTransfer et en partie dans les rubriques pour les commandes d’image pixel et texture. Seule la spécification des mappages est décrite dans cette rubrique.

Le paramètre de carte est un nom de carte symbolique, indiquant l’une des dix cartes à définir. Le paramètre mapsize spécifie le nombre d’entrées dans la carte, et les valeurs sont un pointeur vers un tableau de valeurs de mappage.

Les entrées d’une carte peuvent être spécifiées sous forme de nombres à virgule flottante simple précision, d’entiers courts non signés ou d’entiers longs non signés. Les cartes qui stockent des valeurs de composants de couleur (sauf GL_PIXEL_MAP_I_TO_I et GL_PIXEL_MAP_S_TO_S) conservent leurs valeurs au format à virgule flottante, avec des tailles de mantissa et d’exposant non spécifiées. Les valeurs à virgule flottante spécifiées par glPixelMapfv sont converties directement au format à virgule flottante interne de ces cartes, puis limitées à la plage [0,1]. Les valeurs entières non signées spécifiées par glPixelMapusv et glPixelMapuiv sont converties linéairement de sorte que le plus grand entier représentable est mappé à 1.0 et zéro à 0.0.

Les mappages qui stockent les index, les GL_PIXEL_MAP_I_TO_I et les GL_PIXEL_MAP_S_TO_S, conservent leurs valeurs au format à point fixe, avec un nombre de bits non spécifié à droite du point binaire. Les valeurs à virgule flottante spécifiées par glPixelMapfv sont converties directement au format à point fixe interne de ces cartes. Les valeurs entières non signées spécifiées par glPixelMapusv et glPixelMapuiv spécifient des valeurs entières, avec tous les zéros à droite du point binaire.

Le tableau suivant montre les tailles et valeurs initiales pour chacune des cartes. Les cartes indexées par des index de couleur ou de gabarit doivent avoir mapize = 2 ^ n pour certains n , sinon les résultats ne sont pas définis. La taille maximale autorisée pour chaque carte dépend de l’implémentation et peut être déterminée en appelant glGet avec l’argument GL_MAX_PIXEL_MAP_TABLE. Le maximum unique s’applique à toutes les cartes, et il est d’au moins 32.

Mappage Index de recherche Valeur de recherche Taille initiale Valeur initiale
GL_PIXEL_MAP_I_TO_I index de couleur index de couleur 1 0,0
GL_PIXEL_MAP_S_TO_S index de gabarit index de gabarit 1 0,0
GL_PIXEL_MAP_I_TO_R index de couleur R 1 0,0
GL_PIXEL_MAP_I_TO_G index de couleur G 1 0,0
GL_PIXEL_MAP_I_TO_B index de couleur B 1 0,0
GL_PIXEL_MAP_I_TO_A index de couleur Un 1 0,0
GL_PIXEL_MAP_R_TO_R R R 1 0,0
GL_PIXEL_MAP_G_TO_G G G 1 0,0
GL_PIXEL_MAP_B_TO_B B B 1 0,0
GL_PIXEL_MAP_A_TO_A Un A 1 0,0

Les fonctions suivantes récupèrent des informations relatives à glPixelMap :

glGet avec argument GL_PIXEL_MAP_I_TO_I_SIZE

glGet avec argument GL_PIXEL_MAP_S_TO_S_SIZE

glGet avec argument GL_PIXEL_MAP_I_TO_R_SIZE

glGet avec argument GL_PIXEL_MAP_I_TO_G_SIZE

glGet avec argument GL_PIXEL_MAP_I_TO_B_SIZE

glGet avec argument GL_PIXEL_MAP_I_TO_A_SIZE

glGet avec GL_PIXEL_MAP_R_TO_R_SIZE d’argument

glGet avec argument GL_PIXEL_MAP_G_TO_G_SIZE

glGet avec GL_PIXEL_MAP_B_TO_B_SIZE d’argument

glGet avec argument GL_PIXEL_MAP_A_TO_A_SIZE

glGet avec argument GL_MAX_PIXEL_MAP_TABLE

Spécifications

Condition requise Valeur
Client minimal pris en charge
Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge
Windows 2000 Server [applications de bureau uniquement]
En-tête
Gl.h
Bibliothèque
Opengl32.lib
DLL
Opengl32.dll

Voir aussi

glBegin

glCopyPixels

glDrawPixels

glEnd

glPixelStore

glPixelTransfer

glReadPixels

glTexImage1D

glTexImage2D