J'essaie d'utiliser un atlas de texture dans un programme de jeu que j'écris en C#/OpenGl avec la bibliothèque OpenTK.Calcul des coordonnées de texture pour une seule tuile avec un atlas de texture en OpenGL
J'ai chargé mon atlas de texture en tant que texture dans OpenGL (dimension 256x256) et chaque pavé est 32x32.
Pour obtenir la première tuile de l'atlas pour afficher, j'ai utilisé ce code:
GL.Begin(BeginMode.Quads);
GL.TexCoord2(0, 0); GL.Vertex2(0, 0);
GL.TexCoord2(0.125f, 0); GL.Vertex2((32 * zoom), 0);
GL.TexCoord2(0.125f, 0.125f); GL.Vertex2((32 * zoom), (32 * zoom));
GL.TexCoord2(0, 0.125f); GL.Vertex2(0, (32 * zoom));
GL.End();
0,125 a été calculée en divisant 1/8, 8 étant le nombre de tuiles dans une ligne/colonne.
Je ne sais pas comment calculer les coordonnées de la deuxième tuile de cette façon! J'ai essayé d'utiliser 0,125 et 0,25 à la place de 0 et 0,125 respectivement, mais cela ne rend rien. Je suppose que vous n'êtes pas autorisé à utiliser une valeur supérieure à zéro pour (EDIT) les premières coordonnées de texture (0)?
Si quelqu'un pourrait aider ou fournir une meilleure façon de le faire, il serait très apprécié!
Veuillez [ne pas utiliser de signatures ou de slogans] (http://stackoverflow.com/faq#signatures) dans vos publications. – meagar