fonction glCopyTexSubImage2D
La fonction glCopyTexSubImage2D copie une sous-image d’une image de texture à deux dimensions à partir du framebuffer.
Syntaxe
void WINAPI glCopyTexSubImage2D(
GLenum target,
GLint level,
GLint xoffset,
GLint yoffset,
GLint x,
GLint y,
GLsizei width,
GLsizei height
);
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.
-
xoffset
-
Décalage de texel dans la direction x dans le tableau de textures.
-
yoffset
-
Décalage de texel dans la direction y dans le tableau de textures.
-
x
-
Coordonnées du plan X de la fenêtre du coin inférieur gauche de la ligne de pixels à copier.
-
y
-
Coordonnées 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.
-
height
-
Hauteur 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. |
|
le niveau était inférieur à zéro ou supérieur au journal2 (max), où max est la valeur retournée de GL_MAX_TEXTURE_SIZE. |
|
xoffset était inférieur à la bordure ou (largeurxoffset + ) était supérieur à (bordure w + ), yoffset était inférieur à la bordure, ou (hauteuryoffset + ) était supérieur à (bordureh + ), où w est GL_TEXTURE_WIDTH et bordure est GL_TEXTURE_BORDER. Notez que w inclut deux fois la largeur de la bordure . |
|
la largeur était inférieure à la bordure ou y était inférieure à la bordure, où bordure 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 à glEnd correspondant. |
Notes
La fonction glCopyTexSubImage2D remplace une partie rectangulaire d’une image de texture à deux dimensions par des pixels du framebuffer actuel, plutôt que par main mémoire comme c’est le cas pour glTexSubImage2D.
Un rectangle de pixels commençant par les coordonnées de la fenêtre x et y et avec la largeur et la hauteur des dimensions remplace la partie du tableau de textures par les index xoffset à xoffset + (largeur - 1), avec les index yoffset à yoffset + (largeur - 1) au niveau mipmap spécifié par niveau. Le rectangle de destination dans le tableau de textures ne peut pas inclure de texels en dehors du tableau de textures spécifié à l’origine.
La fonction glCopyTexSubImage2D traite les pixels d’une ligne de la même manière 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.
Si l’un des pixels du rectangle spécifié du framebuffer actuel se trouve en dehors de la fenêtre de lecture associée au contexte de rendu actuel, les valeurs obtenues pour ces pixels ne sont pas définies. Aucune modification n’est apportée au paramètre internalFormat, width, height 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 à glCopyTexSubImage2D dans les listes d’affichage.
Notes
La fonction glCopyTexSubImage2D est uniquement disponible 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 dont elles affectent la façon dont les pixels sont dessinés à l’aide de glDrawPixels.
Les fonctions suivantes récupèrent des informations relatives à glCopyTexSubImage2D :
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 |
|
Bibliothèque |
|
DLL |
|