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 |
---|---|
|
target n’était pas une valeur acceptée. |
|
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. |
|
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 . |
|
width était inférieur à border ou y était inférieur à border, où border est la largeur de bordure du tableau de textures. |
|
Le tableau de textures n’a pas été défini par une opération glTexImage1D précédente. |
|
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 :
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 |
|
Bibliothèque |
|
DLL |
|