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 |
---|---|
|
target n’était pas une valeur acceptée. |
|
le niveau é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. |
|
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. |
|
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 |
|
Bibliothèque |
|
DLL |
|