Question

J'ai un sprite chargé en tant que texture et j'ai besoin de l'animer pour lui permettre de "faire face". à gauche ou à droite, il faut parfois "basculer" il. Je sais qu'OpenGL a un gltranslate qui repositionne un objet et glrotate qui le fait pivoter. Existe-t-il une méthode qui le fait simplement basculer sur un axe Sinon, comment y arriveriez-vous?

Était-ce utile?

La solution

Je ne me suis pas amusé avec les sprites ponctuels, mais je crois que ce sont des textures. Les textures ont des matrices de texture, ce qui signifie que vous pouvez utiliser glTranslatef () , glScalef () et glRotatef () sur elles.

Je voudrais essayer quelque chose le long des lignes de glScalef (-1,1,1); qui inverserait les coordonnées de la texture par l'axe X.

Comme je l’ai dit, je n’ai pas joué avec des sprites ponctuels, mais je n’ai pas non plus joué avec les matrices de texture. Ils semblent néanmoins très utiles.

Mise à jour: Entre temps, j'ai joué avec les matrices de texture. De la même manière que vous basculez entre les matrices ModelView et Projection, vous pouvez basculer vers la matrice de texture. environ: glMatrixMode (GL_TEXTURE); après quoi vous pouvez effectuer les opérations susmentionnées.

Vous pouvez aussi simplement peindre un / deux triangles et en finir:)

Autres conseils

Vous ne pouvez pas faire cela avec les points-sprites OpenGL; bien que vous puissiez déplacer le centre de l’image-objet, sa forme est toujours orientée de la même manière.

Ce que vous pouvez faire, c'est dessiner vos sprites sous forme de quads, ce qui vous permet de les retourner, de les faire pivoter et de les jouer comme vous le souhaitez. Des NeHe proposent des tutoriels sur la création manuelle d'images-objets (panneaux d'affichage). >

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top