Partager via


fonction glGetColorTableEXT

La fonction glGetColorTableEXT obtient les données de la table de couleurs de la palette de textures ciblée actuelle.

Syntaxe

void WINAPI glGetColorTableEXT(
         GLenum target,
         GLenum format,
         GLenum type,
   const GLvoid *data
);

Paramètres

cible

Texture cible dont la palette doit être modifiée. Doit être TEXTURE_1D ou TEXTURE_2D.

format

Format des données de pixels. Les constantes symboliques suivantes sont acceptées.

Valeur Signification
GL_RGBA
Chaque pixel est un groupe de quatre composants dans l’ordre suivant : rouge, vert, bleu, alpha. Le format RVBA est déterminé de cette façon :
  1. La fonction glGetColorTableEXT convertit les valeurs à virgule flottante directement en un format interne avec une précision non spécifiée. Les valeurs entières signées sont mappées de manière linéaire au format interne, de sorte que la valeur entière représentable la plus positive est mappée à 1.0, et la valeur entière représentable la plus négative est mappée à -1.0. Les données entières non signées sont mappées de la même façon : la plus grande valeur d’entier est mappée à 1.0 et zéro correspond à 0.0.
  2. La fonction glGetColorTableEXT multiplie les valeurs de couleur obtenues par GL_c_SCALE et les ajoute à GL_c_BIAS, où c est ROUGE, VERT, BLEU et ALPHA pour les composants de couleur respectifs. Les résultats sont limités à la plage [0,1].
  3. Si GL_MAP_COLOR a la valeur TRUE, glGetColorTableEXT met à l’échelle chaque composant de couleur en fonction de la taille de la table de recherche GL_PIXEL_MAP_c_TO_c, puis remplace le composant par la valeur qu’il référence dans cette table ; c est R, G, B ou A, respectivement.
  4. La fonction glGetColorTableEXT convertit les couleurs RVBA obtenues en fragments en attachant les coordonnées z et de texture de position raster actuelles à chaque pixel, puis en affectant les coordonnées de fenêtre x et y au nième fragment, de sorte que x ? = xr + nmod width
    y? = yr + n/largeur
    où (xr , yr ) est la position raster actuelle.
  5. Ces fragments de pixels sont ensuite traités comme les fragments générés par la rastérisation de points, de lignes ou de polygones. La fonction glGetColorTableEXT applique le mappage de textures, le brouillard et toutes les opérations de fragment avant d’écrire les fragments dans le framebuffer.
GL_RED
Chaque pixel est un seul composant rouge.
La fonction glGetColorTableEXT convertit ce composant au format interne de la même manière que le composant rouge d’un pixel RVBA, puis le convertit en pixel RGBA avec le vert et le bleu définis sur 0,0 et alpha défini sur 1.0. Après cette conversion, le pixel est traité comme s’il avait été lu comme un pixel RVBA.
GL_GREEN
Chaque pixel est un seul composant vert.
La fonction glGetColorTableEXT convertit ce composant au format interne de la même manière que le composant vert d’un pixel RGBA, puis le convertit en pixel RGBA avec rouge et bleu défini sur 0,0 et alpha défini sur 1.0. Après cette conversion, le pixel est traité comme s’il avait été lu comme un pixel RVBA.
GL_BLUE
Chaque pixel est un seul composant bleu.
La fonction glGetColorTableEXT convertit ce composant au format interne de la même manière que le composant bleu d’un pixel RVBA, puis le convertit en pixel RGBA avec rouge et vert défini sur 0,0 et alpha défini sur 1.0. Après cette conversion, le pixel est traité comme s’il avait été lu comme un pixel RVBA.
GL_ALPHA
Chaque pixel est un seul composant alpha.
La fonction glGetColorTableEXT convertit ce composant au format interne de la même manière que le composant alpha d’un pixel RGBA, puis le convertit en pixel RGBA avec rouge, vert et bleu défini sur 0,0. Après cette conversion, le pixel est traité comme s’il avait été lu comme un pixel RVBA.
GL_RGB
Chaque pixel est un groupe de trois composants dans cet ordre : rouge, vert, bleu.
La fonction glGetColorTableEXT convertit chaque composant au format interne de la même manière que les composants rouge, vert et bleu d’un pixel RGBA. Le triple de couleur est converti en pixel RVBA avec alpha défini sur 1.0. Après cette conversion, le pixel est traité comme s’il avait été lu comme un pixel RVBA.
GL_BGR_EXT
Chaque pixel est un groupe de trois composants dans cet ordre : bleu, vert, rouge.
GL_BGR_EXT fournit un format qui correspond à la disposition de la mémoire des bitmaps indépendantes de l’appareil (DIB) Microsoft Windows. Ainsi, vos applications peuvent utiliser les mêmes données avec les appels de fonction Windows et les appels de fonction de pixels OpenGL.
GL_BGRA_EXT
Chaque pixel est un groupe de quatre composants dans cet ordre : bleu, vert, rouge, alpha.
GL_BGRA_EXT fournit un format qui correspond à la disposition de la mémoire des bitmaps indépendantes de l’appareil (DIB) Windows. Ainsi, vos applications peuvent utiliser les mêmes données avec les appels de fonction Windows et les appels de fonction de pixels OpenGL.

type

Type de données pour les données. Voici les constantes symboliques acceptées et leur signification.

Valeur Signification
GL_UNSIGNED_BYTE
Entier 8 bits non signé
GL_BYTE
Entier 8 bits signé
GL_UNSIGNED_SHORT
Entier 16 bits non signé
GL_SHORT
Entier 16 bits signé
GL_UNSIGNED_INT
Entier 32 bits non signé
GL_INT
Entier de 32 bits
GL_FLOAT
Valeur à virgule flottante simple précision

data

Pointe vers l’emplacement où les informations de table de couleurs retournées doivent être stockées. Chaque entrée de table de couleurs est stockée comme s’il s’agissait d’un seul pixel d’une texture 1D. Étant donné que toutes les textures ont une palette par défaut, glGetColorTableEXT retourne toujours les informations de palette même si les données de texture ne sont pas dans un format de palette.

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
target, format ou type n’était pas une valeur acceptée.
GL_INVALID_OPERATION
La fonction a été appelée entre un appel à glBegin et l’appel à glEnd correspondant.

Notes

La fonction glGetColorTableEXT obtient les données de table de couleurs réelles spécifiées par glColorTableEXT et glColorSubTableEXT.

La fonction glGetColorTableEXT est une fonction d’extension qui ne fait pas partie de la bibliothèque OpenGL standard, mais qui fait partie de l’extension GL_EXT_paletted_texture. Pour case activée si votre implémentation d’OpenGL prend en charge glGetColorTableEXT, appelez glGetString(GL_EXTENSIONS). S’il retourne GL_EXT_paletted_texture, glGetColorTableEXT est pris en charge. Pour obtenir l’adresse de fonction d’une fonction d’extension, appelez wglGetProcAddress.

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

Voir aussi

glColorSubTableEXT

glColorTableEXT

glGetColorTableParameterfvEXT

glGetColorTableParameterivEXT

wglGetProcAddress