Comment faire opengl coordonnées de texture de travail?
Je sais que j'ai à faire appel de l'une des opérations suivantes avant chaque appel à glVertex:
glTexCoord(0,0);
glTexCoord(0,1);
glTexCoord(1,1);
glTexCoord(1,0);
Mais je n'ai aucune idée de ce qu'ils signifient. Je sais, cependant, que si j'multiplier (ou diviser?) le côté droit (ou est-il de tous ceux?) par deux, ma texture se développe, et si je fais le contraire, ma texture se répète deux fois. J'ai réussi à coder une texture atlas en appliquant les opérations jusqu'à ce qu'il a travaillé. Mais j'ai la bonne idée de ce qui se passe. Pourquoi ne divisant ces affecter l'image, et pourquoi ne l'inversion de leur miroir? Comment faire de coordonnées de texture de travail?
Vous devez vous connecter pour publier un commentaire.
Coordonnées de Texture spécifier le point de la texture de l'image qui correspond au sommet que vous spécifiez pour. Pensez d'un rectangle de feuille de caoutchouc avec la texture de l'image imprimée, où la longueur de chaque côté est normalisée par rapport à la gamme de 0-1. Maintenant, disons que vous vouliez dessiner un triangle à l'aide que la texture. Vous souhaitez prendre des 3 pins et de les placer dans la feuille de caoutchouc dans les positions de chacun de vos souhaité de coordonnées de texture. (Dire [0, 0], [1, 0] et [1, 1]) puis déplacer les pins (sans les retirer) à votre convenance les coordonnées des vertices (Dire [0, 0], [0.5, 0] et [1, 1]), de sorte que la feuille de caoutchouc est tendue et l'image est déformée. C'est fondamentalement la façon dont les coordonnées de texture de travail.
Si vous utilisez des coordonnées de texture supérieure à 1 et la texture de vos cheveux est réglé pour répéter, c'est comme si la feuille de caoutchouc était infini dans la taille et la texture était en mosaïque sur elle. Par conséquent, si vos coordonnées de texture pour les deux sommets ont été de 0, 0 et 4, 0, l'image devra être répété 4 fois entre ces sommets.
@b1nary.atr0phy Image pour vous tous les penseurs visuels!
OpenGL utilise l'inverse de la texturation. Il prend des coordonnées de l'espace (X,Y,Z) à la texture de l'espace (X,Y) à l'espace discret(U,V), où l'espace discret est dans [0,1] de domaine.
Prendre un polygone, pensez-y comme une feuille de papier. Avec cette:
Vous dire à OpenGL pour dessiner sur l'ensemble de la feuille de papier. Lorsque vous appliquez des modifications de votre texturation de l'espace modifie en conséquence les donner les coordonnées. C'est pourquoi, par exemple, lorsque vous divisez-vous obtenir la même texture à deux reprises, vous dire à OpenGL de la carte de la moitié de la feuille, au lieu de l'ensemble de la feuille de papier.
Chapitre 9 du Livre Rouge explique en détail et est disponible gratuitement en ligne.
http://www.glprogramming.com/red/chapter09.html
Coordonnées de Texture de la carte x,y de l'espace 0-1 à la largeur et la hauteur de la texture de l'espace. C'est alors tendu comme une feuille de caoutchouc sur les triangles. Il est mieux expliqué avec des photos et le Livre Rouge de cette.
Pour la 2D de l'image de textures, de 0,0 à des coordonnées de texture correspond à l'angle inférieur gauche de l'image, et 1,1 dans les coordonnées de la texture correspond au coin en haut à droite de l'image. Notez que "en bas à gauche de l'image" n'est pas au centre de la partie inférieure gauche de pixel, mais au bord du pixel.
Aussi intéressant lors du téléchargement des images:
Noter que la plupart des formats d'image les données de commencer en haut, non pas à la ligne du bas.