Partager via


fonction glCopyTexImage1D

La fonction glCopyTexImage1D copie les pixels du framebuffer dans une image de texture unidimensionnelle.

Syntaxe

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

Paramètres

cible

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

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. Ce paramètre doit être 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 ligne de pixels à copier.

y

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

width

Largeur de l’image de texture. Doit être égal à zéro ou 2n + 2 (bordure) pour un entier n. La hauteur de l’image de texture est 1.

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 .

Nom Signification
GL_INVALID_ENUM
target n’était pas une valeur acceptée.
GL_INVALID_VALUE
le niveau é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
la largeur était inférieure à zéro, supérieure à 2 + GL_MAX_TEXTURE_SIZE, ou la largeur ne peut pas être représentée en tant que 2n +(bordure) pour certains entiers n.
GL_INVALID_OPERATION
La fonction a été appelée entre un appel à glBegin et l’appel à glEnd correspondant.

Notes

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

À l’aide du niveau mipmap spécifié avec level, les tableaux de texture sont définis comme une ligne de pixels alignée avec le coin inférieur gauche de la fenêtre aux coordonnées spécifiées par x et y, avec une longueur égale à largeur + 2 * bordure. Le format interne du tableau de textures est spécifié avec le paramètre internalFormat .

La fonction glCopyTexImage1D 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 inférieures correspondant aux coordonnées de texture inférieures. Si l’un des pixels d’une ligne spécifiée du framebuffer actuel se trouve en dehors 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 à glCopyTexImage1D dans les listes d’affichage.

Notes

La fonction glCopyTexImage1D n’est disponible que 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 exactement les images de texture de la manière qu’elles affectent glDrawPixels.

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

glIsEnabled avec argument GL_TEXTURE_1D

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

glCopyPixels

glCopyTexImage2D

glDrawPixels

glFog

glPixelStore

glPixelTransfer

glTexEnv

glTexGen

glTexImage1D

glTexImage2D

glTexParameter