2013-04-13 5 views
2

Lorsque je charge une texture dans OpenGL et qu'elle en possède une (GL_ALPHA) ou trois composants par pixel (GL_RGB), la texture semble inclinée. Qu'est-ce qui rend cela possible?Texture OpenGL inclinée

Comme détail supplémentaire, la relation largeur/hauteur semble affecter. Par exemple, une image de 1366x768 (683/384) apparaît inclinée tandis qu'une image de 1920x1080 (16/9) est correctement mappée.

slanted image

+1

Veuillez ajouter une capture d'écran. – Kromster

Répondre

6

Ceci est probablement un problème padding/alignement. GL, par défaut, s'attend à ce que les lignes de pixels soient complétées à un multiple de 4 octets. Une texture large de 1366 avec des pixels larges de 1 octet ou de 3 octets ne sera pas naturellement alignée sur 4 octets.

solutions possibles pour cela sont:

  • Dites-GL comment votre texture est emballé, en utilisant (par exemple) glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
  • Modifier les dimensions de votre texture, de sorte que les matches de remplissage sans changer quoi que ce soit
  • Modifiez le chargement de votre texture, de manière à ce que le remplissage corresponde à ce que GL attend.
+0

Je n'ai pas posé la question, mais ça m'aide vraiment !! Merci! –