J'ai créé un fragment de fragment qui colle une texture (il s'agit en fait d'un tableau de texture, comme vous le verrez dans le code). Cependant, j'obtiens des bordures de 1 pixel très moche autour de chacune des tuiles. Je sais que cela peut être causé par la discontinuité de la fonction, provoquant des choses étranges à se produire pendant le mipmapping, mais j'ai le mipmapping désactivé (bien que j'utilise antialiasing). Voici mon code:Comment se débarrasser des bordures de mosaïque lorsque le Mipmapping est désactivé
vec2 tiledCoords = fract(pass_textureCoords * 256.0)/4.0; // pass_textureCoords are the texture coordinates
out_Color = texture(testArray, vec3(tiledCoords.x, tiledCoords.y, 0)); // testArray is the sampler2DArray
Je pensais que je devais donner un peu de tolérance pour les erreurs d'arrondi, mais je ne peux pas à comprendre où mettre ça. Comment puis-je me débarrasser de ces bordures laides? Merci d'avance!
Quels sont les paramètres de texture définis? En ce qui concerne les modes de bouclage et les filtres. – pleluron
@pleluron Aucun mode ou filtre d'habillage. J'ai chargé les textures régulièrement en utilisant 'glTexSubImage3D' (puisque c'est un tableau) et j'ai simplement lié la texture avant le rendu. –
utilisez-vous aussi 'GL_CLAMP_TO_EDGE'? si ce n'est pas le cas (comme le suggère votre commentaire), les coordonnées de texture '0.0' et' 1.0' sont en dehors de votre texture et vous frappez la bordure qui est noire. vous devez décaler d'un texel donc si votre texture est '256x256' alors les coordonnées devraient être dans l'intervalle' <1/256, 255/256> 'au lieu de' <0.0 , 1.0> ' – Spektre