fonction glGetTexImage
La fonction glGetTexImage retourne une image de texture.
Syntaxe
void WINAPI glGetTexImage(
GLenum target,
GLint level,
GLenum format,
GLenum type,
GLvoid *pixels
);
Paramètres
-
cible
-
Spécifie la texture à obtenir. GL_TEXTURE_1D et GL_TEXTURE_2D sont acceptés.
-
level
-
Numéro de niveau de détail de l’image souhaitée. Le niveau 0 est le niveau de l’image de base. Le niveau n est la nièmeimage de réduction de mipmap.
-
format
-
Format de pixel pour les données retournées. Les formats pris en charge sont GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_RGBA, GL_LUMINANCE, GL_BGR_EXT, GL_BGRA_EXT et GL_LUMINANCE_ALPHA.
-
type
-
Type de pixel pour les données retournées. Les types pris en charge sont GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT et GL_FLOAT.
-
Pixels
-
Retourne l’image de texture. Doit être un pointeur vers un tableau du type spécifié par type.
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 |
---|---|
|
target, format ou type n’était pas une valeur acceptée. |
|
level est inférieur à zéro ou supérieur au journal2 (max), où max est la valeur retournée de GL_MAX_TEXTURE_SIZE. |
|
La fonction a été appelée entre un appel à glBegin et l’appel correspondant à glEnd . |
Notes
La fonction glGetTexImage retourne une image de texture en pixels. Le paramètre cible spécifie si l’image de texture souhaitée est celle spécifiée par glTexImage1D(GL_TEXTURE_1D) ou par glTexImage2D(GL_TEXTURE_2D). Le paramètre level spécifie le numéro de niveau de détail de l’image souhaitée. Les paramètres de format et de type spécifient le format et le type du tableau d’images souhaité. Pour obtenir une description des valeurs acceptables pour les paramètres de format et de type , respectivement, consultez glTexImage1D et glDrawPixels.
Le fonctionnement de glGetTexImage est mieux compris si l’image de texture interne à quatre composants sélectionnée est une mémoire tampon de couleurs RVBA de la taille de l’image. La sémantique de glGetTexImage est ensuite identique à celle des glReadPixels appelés avec le même format et le même type, avec x et y définis sur zéro, la largeur définie sur la largeur de l’image de texture (y compris la bordure si une a été spécifiée) et la hauteur définie sur un pour les images 1D, ou sur la hauteur de l’image de texture (y compris la bordure, si un a été spécifié) pour les images 2D.
Étant donné que l’image de texture interne est une image RVBA, les formats de pixel GL_COLOR_INDEX, GL_STENCIL_INDEX et GL_DEPTH_COMPONENT ne sont pas acceptés, et le type de pixel GL_BITMAP n’est pas accepté.
Si l’image de texture sélectionnée ne contient pas quatre composants, les mappages suivants sont appliqués. Les textures à composant unique sont traitées comme des mémoires tampons RVBA avec le rouge défini sur la valeur à composant unique et le vert, le bleu et l’alpha définis sur zéro.
Les textures à deux composants sont traitées comme des mémoires tampons RVBA, le rouge étant défini sur la valeur zéro du composant, l’alpha sur la valeur du composant 1 et le vert et le bleu sur zéro. Enfin, les textures à trois composants sont traitées comme des mémoires tampons RVBA avec le rouge défini sur le composant zéro, le vert défini sur le composant 1, le bleu défini sur le composant 2 et l’alpha défini sur zéro.
Pour déterminer la taille requise des pixels, utilisez glGetTexLevelParameter pour déterminer les dimensions de l’image de texture interne, puis mettre à l’échelle le nombre requis de pixels en fonction du stockage requis pour chaque pixel, en fonction du format et du type. Veillez à prendre en compte les paramètres de stockage de pixels, en particulier GL_PACK_ALIGNMENT.
Si une erreur est générée, aucune modification n’est apportée au contenu des pixels.
Les fonctions suivantes récupèrent des informations relatives à glGetTexImage :
glGet avec GL_PACK_ALIGNMENT d’arguments et autres
glGetTexLevelParameter avec argument GL_TEXTURE_WIDTH
glGetTexLevelParameter avec argument GL_TEXTURE_HEIGHT
glGetTexLevelParameter avec argument GL_TEXTURE_BORDER
glGetTexLevelParameter avec argument GL_TEXTURE_COMPONENTS
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 |
|
Bibliothèque |
|
DLL |
|