Partager via


fonction glCopyTexImage2D

La fonction glCopyTexImage2D copie les pixels du framebuffer dans une image de texture à deux dimensions.

Syntaxe

void WINAPI glCopyTexImage2D(
   GLenum  target,
   GLint   level,
   GLenum  internalFormat,
   GLint   x,
   GLint   y,
   GLsizei width,
   GLsizei height,
   GLint   border
);

Paramètres

cible

Cible vers laquelle les données d’image seront modifiées. Doit avoir la valeur GL_TEXTURE_2D.

level

Numéro de niveau de détail. Le niveau 0 est l’image de base. Level n est l’image de réduction nth mipmap.

internalFormat

Format interne et résolution des données de texture. Les valeurs 1, 2, 3 et 4 ne sont pas acceptées pour internalFormat. Le paramètre peut supposer l’une des valeurs symboliques suivantes.

Constante R Bits G Bits B Bits A Bits L Bits I Bits
GL_ALPHA
GL_ALPHA4 4
GL_ALPHA8 8
GL_ALPHA12 12
GL_ALPHA16 16
GL_LUMINANCE
GL_LUMINANCE4 4
GL_LUMINANCE8 8
GL_LUMINANCE12 12
GL_LUMINANCE16 16
GL_LUMINANCE_ALPHA
GL_LUMINANCE4_ALPHA4 4 4
GL_LUMINANCE6_ALPHA2 2 6
GL_LUMINANCE8_ALPHA8 8 8
GL_LUMINANCE12_ALPHA4 4 12
GL_LUMINANCE12_ALPHA12 12 12
GL_LUMINANCE16_ALPHA16 16 16
GL_INTENSITY
GL_INTENSITY4 4
GL_INTENSITY8 8
GL_INTENSITY12 12
GL_INTENSITY16 16
GL_RGB
GL_R3_G3_B2 3 3 2
GL_RGB4 4 4 4
GL_RGB5 5 5 5
GL_RGB8 8 8 8
GL_RGB10 10 10 10
GL_RGB12 12 12 12
GL_RGB16 16 16 16
GL_RGBA
GL_RGBA2 2 2 2 2
GL_RGBA4 4 4 4 4
GL_RGB5_A1 5 5 5 1
GL_RGBA8 8 8 8 8
GL_RGB10_A2 10 10 10 2
GL_RGBA12 12 12 12 12
GL_RGBA16 16 16 16 16

x

Coordonnée du plan X de la fenêtre du coin inférieur gauche de la zone rectangulaire de pixels à copier.

y

Coordonnée du plan y de la fenêtre du coin inférieur gauche de la zone rectangulaire de pixels à copier.

width

Largeur de l’image de texture. Doit être 2n + 2 * bordure pour un entier n.

height

Hauteur de l’image de texture. Doit être 2n + 2 * bordure pour un entier n.

Frontière

Largeur de la bordure. Doit être égal à zéro ou à 1.

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
GL_INVALID_ENUM
target n’était pas une valeur acceptée.
GL_INVALID_VALUE
level était inférieur à zéro ou supérieur à log2 max, où max est la valeur retournée de GL_MAX_TEXTURE_SIZE.
GL_INVALID_VALUE
border n’était pas zéro ou 1.
GL_INVALID_VALUE
width était inférieur à zéro, supérieur à 2 + GL_MAX_TEXTURE_SIZE, ou la largeur ne peut pas être représentée par 2n + 2 * bordure pour certains entiers n.
GL_INVALID_OPERATION
La fonction a été appelée entre un appel à glBegin et l’appel correspondant à glEnd.

Notes

La fonction glCopyTexImage2D définit une image de texture à deux dimensions à l’aide de pixels du framebuffer actuel, plutôt que de main mémoire, comme c’est le cas pour glTexImage2D.

À l’aide du niveau mipmap spécifié avec level, les tableaux de textures sont définis comme un rectangle de pixels avec l’angle inférieur gauche situé aux coordonnées x et y, une largeur égale à largeur + (2 * bordure) et une hauteur égale à hauteur + (2 * bordure). Le format interne du tableau de textures est spécifié avec le paramètre internalFormat .

La fonction glCopyTexImage2D traite les pixels d’une ligne de la même façon que glCopyPixels , sauf qu’avant la conversion finale des pixels, toutes les valeurs des composants de pixels sont limitées à la plage [0,1] et converties au format interne de la texture pour le stockage dans le tableau de textures. L’ordre des pixels est déterminé avec des coordonnées x et y inférieures correspondant aux coordonnées de texture s et t inférieures. Si l’un des pixels d’une ligne spécifiée du framebuffer actuel se trouve à l’extérieur de la fenêtre associée au contexte de rendu actuel, ses valeurs ne sont pas définies.

Vous ne pouvez pas inclure d’appels à glCopyTexImage2D dans les listes d’affichage.

Notes

La fonction glCopyTexImage2D est disponible uniquement dans OpenGL version 1.1 ou ultérieure.

La texturation n’a aucun effet en mode d’index de couleur. Les fonctions glPixelStore et glPixelTransfer affectent les images de texture exactement comme elles affectent glDrawPixels.

La fonction suivante récupère les informations relatives à glCopyTexImage2D :

glIsEnabled avec argument GL_TEXTURE_2D

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

glCopyTexImage1D

glDrawPixels

glEnd

glFog

glPixelStore

glPixelTransfer

glTexEnv

glTexGen

glTexImage1D

glTexImage2D

glTexParameter