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 |
---|---|
|
target n’était pas une valeur acceptée. |
|
level était inférieur à zéro ou supérieur à log2 max, où max est la valeur retournée de GL_MAX_TEXTURE_SIZE. |
|
border n’était pas zéro ou 1. |
|
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. |
|
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 |
|
Bibliothèque |
|
DLL |
|