fonction glColorSubTableEXT
La fonction glColorSubTableEXT spécifie une partie de la palette de la texture ciblée à remplacer.
Syntaxe
void WINAPI glColorSubTableEXT(
GLenum target,
GLsizei start,
GLsizei count,
GLenum format,
GLenum type,
const GLvoid *data
);
Paramètres
-
cible
-
Texture de palette cible dont la palette doit être modifiée. Doit être TEXTURE_1D ou TEXTURE_2D.
-
start
-
Entrée d’index de la palette de départ à modifier.
-
count
-
Nombre d’entrées d’index de palette à modifier à partir du début. Le paramètre count détermine la plage d’entrées d’index de palette qui sont modifiées.
-
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 : - La fonction glColorSubTableEXT convertit directement les valeurs à virgule flottante dans un format interne avec une précision non spécifiée. Les valeurs entières signées sont mappées linéairement au format interne, de sorte que la valeur d’entier représentable la plus positive est mappée à 1,0 et la valeur la plus négative qui peut être 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 entière est mappée à 1,0 et zéro est mappée à 0,0.
- La fonction glColorSubTableEXT 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].
- Si GL_MAP_COLOR a la valeur TRUE, glColorSubTableEXT met à l’échelle chaque composant de couleur en fonction de la taille de la table de choix 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.
- La fonction glColorSubTableEXT convertit les couleurs RVBA obtenues en fragments en attachant les coordonnées de la coordonnée z et de la texture de position raster actuelles à chaque pixel, puis en affectant les coordonnées de fenêtre x et y au nièmefragment tel quex ?
=
xr + nmod width
y? = yr +n / width
où (xr , yr ) est la position raster actuelle. - 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 glColorSubTableEXT 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 glColorSubTableEXT convertit ce composant au format interne de la même façon que le composant rouge d’un pixel RVBA, puis le convertit en pixel RVBA 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 en tant que pixel RVBA.- GL_GREEN
Chaque pixel est un seul composant vert.
La fonction glColorSubTableEXT convertit ce composant au format interne de la même façon que le composant vert d’un pixel RVBA, puis le convertit en pixel RVBA avec le rouge 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 en tant que pixel RVBA.- GL_BLUE
Chaque pixel est un seul composant bleu.
La fonction glColorSubTableEXT convertit ce composant au format interne de la même façon que le composant bleu d’un pixel RVBA, puis le convertit en pixel RVBA avec le rouge et le vert 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 en tant que pixel RVBA.- GL_ALPHA
Chaque pixel est un seul composant alpha.
La fonction glColorSubTableEXT convertit ce composant au format interne de la même façon que le composant alpha d’un pixel RVBA, puis le convertit en pixel RVBA avec rouge, vert et bleu défini sur 0,0. Après cette conversion, le pixel est traité comme s’il avait été lu en tant que pixel RVBA.- GL_RGB
Chaque pixel est un groupe de trois composants dans cet ordre : rouge, vert, bleu.
La fonction glColorSubTableEXT convertit chaque composant au format interne de la même façon que les composants rouge, vert et bleu d’un pixel RVBA. 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 en tant que 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) 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. Les constantes symboliques suivantes sont acceptées : GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT et GL_FLOAT.
Le tableau suivant résume la signification des constantes valides pour le paramètre de type .
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
-
Pointeur vers les données de texture en palette. Les données sont traitées comme des pixels uniques d’une entrée de palette de textures 1D pour une entrée 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 .
Name | Signification |
---|---|
|
start ou count était un entier non valide. |
|
target, format ou type n’était pas une valeur acceptée. |
|
La fonction a été appelée entre un appel à glBegin et l’appel correspondant à glEnd. |
Notes
La fonction glColorSubTableEXT spécifie des parties de la palette de la texture ciblée actuelle à remplacer. Contrairement à glColorTableEXT, vous ne pouvez pas spécifier le paramètre cible comme une palette de textures proxy.
Notes
La fonction glColorSubTableEXT 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 glColorSubTableEXT, appelez glGetString(GL_EXTENSIONS). S’il retourne GL_EXT_paletted_texture, glColorSubTableEXT 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 |
|