fonction glTexParameteriv
Définit les paramètres de texture.
Syntaxe
void WINAPI glTexParameterfv(
GLenum target,
GLenum pname,
const GLint *params
);
Paramètres
-
cible
-
Texture cible, qui doit être GL_TEXTURE_1D ou GL_TEXTURE_2D.
-
pname
-
Nom symbolique d’un paramètre de texture à valeur unique. Les symboles suivants sont acceptés dans pname.
Valeur Signification - GL_TEXTURE_MIN_FILTER
La fonction de minimisation de texture est utilisée chaque fois que le pixel en cours de texture est mappé à une zone supérieure à un élément de texture. Six fonctions de minimisation sont définies. Deux d’entre eux utilisent l’un ou les quatre éléments de texture les plus proches pour calculer la valeur de texture. Les quatre autres utilisent des mipmaps.
Un mipmap est un ensemble ordonné de tableaux représentant la même image à des résolutions progressivement inférieures. Si la texture a des dimensions de 2nx2m , il y a max(n, m) + 1 mipmaps. Le premier mipmap est la texture d’origine, avec des dimensions de 2nx2m. Chaque mipmap suivant a des dimensions 2k1x2l1, où 2kx2l sont les dimensions du mipmap précédent, jusqu’à ce que k = 0 ou l = 0. À ce stade, les mipmaps suivants ont la dimension 1x2l1 ou 2k1x1 jusqu’au mipmap final, qui a la dimension 1x1. Les Mipmaps sont définis à l’aide de glTexImage1D ou glTexImage2D avec l’argument de niveau de détail indiquant l’ordre des mipmaps. Le niveau 0 est la texture d’origine ; level bold max(n, m) est le mipmap 1x1 final.- GL_TEXTURE_MAG_FILTER
La fonction d’agrandissement de texture est utilisée lorsque le pixel en cours de texture est mappé à une zone inférieure ou égale à un élément de texture. Il définit la fonction d’agrandissement de texture sur GL_NEAREST ou GL_LINEAR. - GL_TEXTURE_WRAP_S
Définit le paramètre wrap pour les coordonnées de texture sur GL_CLAMP ou GL_REPEAT. GL_CLAMP fait que les coordonnées de s sont limitées à la plage [0,1] et est utile pour empêcher l’encapsulation d’artefacts lors du mappage d’une seule image sur un objet. GL_REPEAT entraîne l’ignorer de la partie entière de la coordonnée s ; OpenGL utilise uniquement la partie fractionnaire, créant ainsi un modèle répétiteur. Les éléments de texture de bordure sont accessibles uniquement si l’habillage est défini sur GL_CLAMP. Initialement, GL_TEXTURE_WRAP_S est défini sur GL_REPEAT. - GL_TEXTURE_WRAP_T
Définit le paramètre wrap pour la coordonnée de texture t sur GL_CLAMP ou GL_REPEAT. Consultez la discussion sous GL_TEXTURE_WRAP_S. Initialement, GL_TEXTURE_WRAP_T est défini sur GL_REPEAT. - GL_TEXTURE_BORDER_COLOR
Définit une couleur de bordure. Le paramètre params contient quatre valeurs qui composent la couleur RVBA de la bordure de texture. Les composants de couleur d’entier sont interprétés linéairement de telle sorte que l’entier le plus positif est mappé à 1,0 et l’entier le plus négatif est mappé à 1,0. Les valeurs sont limitées à la plage [0,1] lorsqu’elles sont spécifiées. Initialement, la couleur de bordure est (0, 0, 0, 0). - GL_TEXTURE_PRIORITY
Spécifie la priorité de résidence de la texture actuellement liée. Les valeurs autorisées se trouvent dans la plage [0, 1]. Pour plus d’informations, consultez glPrioritizeTextures et glBindTexture . -
params
-
Pointeur vers un tableau dans lequel la ou les valeurs de pname sont stockées. Le paramètre params fournit une fonction pour la minimisation de la texture comme suit.
Valeur Signification - GL_NEAREST
Retourne la valeur de l’élément de texture le plus proche (à la distance de Manhattan) au centre du pixel en cours de texture. - GL_LINEAR
Retourne la moyenne pondérée des quatre éléments de texture les plus proches du centre du pixel en cours de texture. Ceux-ci peuvent inclure des éléments de texture de bordure, en fonction des valeurs de GL_TEXTURE_WRAP_S, GL_TEXTURE_WRAP_T et du mappage exact. GL_NEAREST est généralement plus rapide que GL_LINEAR, mais il peut produire des images texturées avec des bords plus nets, car la transition entre les éléments de texture n’est pas aussi lisse. La valeur par défaut de GL_TEXTURE_MAG_FILTER est GL_LINEAR. - GL_NEAREST_MIPMAP_NEAREST
Choisit le mipmap qui correspond le plus étroitement à la taille du pixel en cours de texture et utilise le critère de GL_NEAREST (l’élément de texture le plus proche du centre du pixel) pour produire une valeur de texture. - GL_LINEAR_MIPMAP_NEAREST
Choisit le mipmap qui correspond le plus étroitement à la taille du pixel en cours de texture et utilise le critère de GL_LINEAR (moyenne pondérée des quatre éléments de texture les plus proches du centre du pixel) pour produire une valeur de texture. - GL_NEAREST_MIPMAP_LINEAR
Choisit les deux mipmaps qui correspondent le plus étroitement à la taille du pixel en cours de texture et utilise le critère de GL_NEAREST (l’élément de texture le plus proche du centre du pixel) pour produire une valeur de texture à partir de chaque mipmap. La valeur de texture finale est une moyenne pondérée de ces deux valeurs. - GL_LINEAR_MIPMAP_LINEAR
Choisit les deux mipmaps qui correspondent le plus à la taille du pixel en cours de texture et utilise le critère de GL_LINEAR (moyenne pondérée des quatre éléments de texture les plus proches du centre du pixel) pour produire une valeur de texture à partir de chaque mipmap. La valeur de texture finale est une moyenne pondérée de ces deux valeurs. Le paramètre params fournit une fonction d’agrandissement de la texture comme suit.
Valeur Signification - GL_NEAREST
Retourne la valeur de l’élément de texture le plus proche (à la distance de Manhattan) au centre du pixel en cours de texture. - GL_LINEAR
Retourne la moyenne pondérée des quatre éléments de texture les plus proches du centre du pixel en cours de texture. Ceux-ci peuvent inclure des éléments de texture de bordure, en fonction des valeurs de GL_TEXTURE_WRAP_S, GL_TEXTURE_WRAP_T et du mappage exact. GL_NEAREST est généralement plus rapide que GL_LINEAR, mais il peut produire des images texturées avec des bords plus nets, car la transition entre les éléments de texture n’est pas aussi lisse. La valeur par défaut de GL_TEXTURE_MAG_FILTER est GL_LINEAR.
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 ou pname n’était pas l’une des valeurs définies acceptées, ou quand param aurait dû avoir une valeur constante définie (basée sur la valeur de pname) et ne l’a pas fait. |
|
La fonction a été appelée entre un appel à glBegin et l’appel correspondant à glEnd. |
Notes
Le mappage de textures est une technique qui applique une image à la surface d’un objet comme s’il s’agissait d’une vignette ou d’un wrap réducteur de cellophane. L’image est créée dans l’espace de texture, avec un système de coordonnées (s, t). Une texture est une image à une ou deux dimensions et un ensemble de paramètres qui déterminent la façon dont les échantillons sont dérivés de l’image.
La fonction glTexParameter affecte la ou les valeurs en paramètres au paramètre de texture spécifié en tant que pname. Le paramètre cible définit la texture cible, GL_TEXTURE_1D ou GL_TEXTURE_2D.
À mesure que plus d’éléments de texture sont échantillonnées dans le processus de minimisation, moins d’artefacts d’alias sont visibles. Bien que les fonctions GL_NEAREST et GL_LINEAR de minification puissent être plus rapides que les quatre autres, elles échantillonnent un ou quatre éléments de texture uniquement pour déterminer la valeur de texture du pixel affiché et peuvent produire des modèles moire ou des transitions en lambeaux. La valeur par défaut de GL_TEXTURE_MIN_FILTER est GL_NEAREST_MIPMAP_LINEAR.
Supposons que la texturation soit activée (en appelant glEnable avec l’argument GL_TEXTURE_1D ou GL_TEXTURE_2D) et que GL_TEXTURE_MIN_FILTER soit défini sur l’une des fonctions qui nécessite un mipmap. Si les dimensions des images de texture actuellement définies (avec les appels précédents à glTexImage1D ou glTexImage2D) ne suivent pas la séquence appropriée pour les mipmaps, ou s’il y a moins d’images de texture définies que nécessaire, ou si l’ensemble d’images de texture a un nombre différent de composants de texture, le mappage de textures est désactivé. Le filtrage linéaire accède aux quatre éléments de texture les plus proches uniquement dans les textures 2D. Dans les textures 1D, le filtrage linéaire accède aux deux éléments de texture les plus proches. La fonction suivante récupère les informations relatives à glTexParameterf, glTexParameteri, glTexParameterfv et glTexParameteriv :
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 |
|