Partager via


fonction glCopyTexSubImage1D

La fonction glCopyTexSubImage1D copie une sous-image d’une image de texture unidimensionnelle à partir du framebuffer.

Syntaxe

void WINAPI glCopyTexSubImage1D(
   GLenum  target,
   GLint   level,
   GLint   xoffset,
   GLint   x,
   GLint   y,
   GLsizei width
);

Paramètres

cible

Cible vers 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. Le niveau n est la nièmeimage de réduction de mipmap.

xoffset

Décalage de texel dans le tableau de textures.

x

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

y

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

width

Largeur de la sous-image de l’image de texture. La spécification d’une sous-image de texture avec une largeur nulle n’a aucun effet.

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 level est supérieur à log2(max), où max est la valeur retournée de GL_MAX_TEXTURE_SIZE.
GL_INVALID_VALUE
xoffset était inférieur à bordure ou (largeurxoffset + ) supérieur à (bordure w + ), oùw est GL_TEXTURE_WIDTH et bordure est GL_TEXTURE_BORDER. Notez que w inclut deux fois la largeur de la bordure .
GL_INVALID_VALUE
width était inférieur à border ou y était inférieur à border, où border est la largeur de bordure du tableau de textures.
GL_INVALID_OPERATION
Le tableau de textures n’a pas été défini par une opération glTexImage1D précédente.
GL_INVALID_OPERATION
La fonction a été appelée entre un appel à glBegin et l’appel correspondant à glEnd.

Notes

La fonction glCopyTexSubImage1D remplace une partie d’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 glTexSubImage1D.

Une ligne de pixels commençant par les coordonnées de fenêtre spécifiées par x et y et avec la largeur de longueur remplace la partie du tableau de textures par les index xoffset à xoffset + (width - 1). La destination dans le tableau de textures ne peut pas inclure de texels en dehors du tableau de textures spécifié à l’origine.

La fonction glCopyTexSubImage1D 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 à l’extérieur de la fenêtre associée au contexte de rendu actuel, ses valeurs ne sont pas définies.

Aucune modification n’est apportée au paramètre internalFormat, width ou border du tableau de textures spécifié ou aux valeurs texel en dehors de la sous-image de texture spécifiée.

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

Notes

La fonction glCopyTexSubImage1D 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 la façon dont les pixels sont dessinés à l’aide de glDrawPixels.

Les fonctions suivantes récupèrent des informations relatives à glCopyTexSubImage1D :

glGetTexImage

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

glBegin

glCopyTexSubImage2D

glDrawPixels

glEnd

glFog

glPixelStore

glPixelTransfer

glTexEnv

glTexGen

glTexImage1D

glTexImage2D

glTexSubImage1D

glTexSubImage2D

glTexParameter