De nombreux jeux proposent des paramètres de filtrage de texture. Si je veux la meilleure qualité (même si cela signifie des performances réduites), laquelle choisir?
- Bilinéaire
- Trilinéaire
- Anisotrope
La façon dont ils sont répertoriés (bilinéaire -> trilinéaire -> anisotropie) est dans l’ordre correct de la plus basse à la meilleure qualité d’image, et en termes de puissance de traitement, l’ordre augmente.
Dans les termes les plus simples, passer de bilinéaire à trilinéaire évitera le problème des changements de taille de texture (c’est-à-dire que lorsque vous marchez vers le mur, lorsque vous vous approchez de la texture, la texture ne semble pas changer soudainement à certains intervalles). Passer de trilinéaire à anisotrope rendra la texture des objets qui s’étendent loin de vous plus nette qu’autrement.
Une explication plus détaillée sera donnée ensuite, mais veuillez noter qu’il s’agit d’un sujet très technique et que le traitement complet peut dépasser le cadre de Gaming.StackExchange.
Le problème principal est qu’un artiste traitant des textures 3D créera un ensemble d’images 2D de taille fixe. Ensuite, «dessinez» ces images sur l’objet 3D. Cependant, une fois que la texture est appliquée à un objet 3D, il peut être tourné et visualisé sous de nombreux angles et distances différents. Le filtrage de texture tente de mapper les étapes discrètes disponibles à un champ continu de la façon dont vous le visualisez.
Par exemple, un artiste peut créer une image 64×64 à utiliser comme texture pour un objet simple. Cependant, lorsque vous visualisez l’objet dans le monde du jeu, vous êtes très proche de l’objet et l’objet remplit tout l’écran, qui peut avoir plusieurs milliers de pixels de large. Désormais, le moteur doit prendre une simple image 2D basse résolution et l’agrandir beaucoup sans sacrifier la qualité.
Contrairement à “l’anisotropie”, bilinéaire et trilinéaire sont des techniques de filtrage “isotrope” utilisées pour le mipmapping. Wikipedia a un bon article sur ce sujet, mais je vais essayer de le résumer.
Essentiellement, lorsque vous effectuez un zoom avant sur une texture (c’est-à-dire en rapprochant le lecteur / la caméra), les pixels de la texture doivent être mappés sur plusieurs pixels de l’image de sortie. Le mappage bilinéaire est une méthode de calcul ou d’interpolation de la valeur de couleur du pixel de sortie en fonction de la taille du polygone de sortie et des pixels de la texture d’entrée.
Le mappage trilinéaire prend en compte le fait que les textures ont généralement plusieurs tailles, en fonction de votre distance par rapport à l’objet de texture. Nos premiers artistes peuvent créer plusieurs tailles de texture différentes afin que les objets proches de la caméra puissent appliquer des textures de résolution plus élevée pour leur donner une meilleure apparence. En plus d’interpoler les pixels de la taille de texture actuelle, le filtrage trilinéaire peut également interpoler entre différentes tailles de texture.
(“Mipmap” ou copie multi-résolution de l’image, voir cet article Wikipedia)
Le filtrage anisotrope tient compte du fait que le polygone de sortie peut ne pas être rectangulaire en raison de l’orientation de la caméra. Cette méthode de filtrage effectue également des opérations mathématiques supplémentaires pour calculer l’effet de l’angle de la caméra sur la taille de la texture de sortie.
Encore une fois, dans le cadre de l’article sur le filtrage anisotrope, Wikipedia fournit un bon exemple. Vous pouvez également faire l’expérience de la différence vous-même en jouant avec les paramètres graphiques de Google Earth, la source des captures d’écran.
Origines: gaming.stackexchange.com