J'ai une texture en cours de dessin sur un quad. La texture est le motif répété dans le coin supérieur gauche de cette capture d'écran: http://img828.imageshack.us/img828/3305/blahpv.png La texture opengl ne fait que 3px par 9px et les coordonnées de texture que je crois sont de très grands nombres et elle boucle sur la texture 3x9 en utilisant GL_REPEAT. Une explication pour le motif d'interférence étrange vu dans la capture d'écran? La texture semble bien (répétant parfaitement) quand le quad est exactement perpendiculaire à la caméra ... la capture d'écran est avec le quad tourné de quelques degrés. Les anomalies semblent changer lorsque le quad change de distance par rapport à la caméra ou lorsque la rotation change, donc je pense que cela a quelque chose à voir avec l'échantillonnage de texture et l'arrondi à virgule flottante, mais je ne sais pas comment le réparer.La texture répétée OpenGL provoque des anomalies lors de la rotation
Mise à jour # 1:
Je n'utilise pas, mais c'est Shaders que je suis en train de faire actuellement en python pour chaque sommet:
(x0, y0, z0) = gluProject(vert[0].x, vert[0].y, 0.0)
x0 /= maskTextureWidth # 3.0
y0 /= maskTextureHeight # 9.0
glMultiTexCoord2f(GL_TEXTURE1_ARB, x0, y0)
glVertex2f(vert[0].x, vert[0].y)
Malheureusement, l'utilisation de GL_LINEAR ou de tout mipmapping signifie que le masque va devenir flou. J'ai vraiment besoin que chaque texel du masque corresponde à un seul pixel sur l'écran. Comme ceci: http://img101.imageshack.us/img101/6499/30831346.png L'image de gauche montre le masque sur l'ensemble de l'écran et le contour du quad que j'essaie de dessiner. L'image de droite montre à quoi doit ressembler l'écran après avoir dessiné un quad blanc (qui a été mélangé avec le masque). – bparker