Bonjour à tous,
Je vous contact afin d'obtenir plusieurs informations concernant le développement d'applications dans lesquels je souhaite utiliser Opengl ES 2 (Développement Android). Après avoir fait beaucoup de recherches sur internet, il s'avère que les tutoriels ne sont pas toujours très clair.
J'ai cru comprendre qu'il était obligatoire d'utiliser les shaders pour afficher n'importe quelle forme de base à l'écran avec Open GL ES 2.0. je me suis donc coder deux petites classes "Shader" et "Program" pour me faciliter la tache.
Seulement j'arrive au moment ou je dois afficher des objets à l'écran.
Pour optimiser l'affichage, j'ai cru comprendre qu'il était important d'afficher toute la scène en une seule fois avec un "glDrawElements", est-ce que c'est correct ?
Concernant l'affichage des objets, j'ai crée des types de bases "Circle", "Square" et "Triangle". Si l'utilisateur souhaite afficher un carré, il crée un donc un "Square" s'occupant de créer les sommets de ce polygone ainsi que ses indices. Jusqu'a la, est ce que tout est correct ?
Enfin, j'ajoute chacune des ces entités dans un tableau commun contenant tout les sommets à afficher ainsi qu'un second tableau contenant les indices. Je voudrais savoir comment je doit faire pour m'occuper des translation ou encore rotations de chacune de ses entités, doit-je le faire dans une méthode de l'objet ?
Je souhaite enfin obtenir une vue en 2D, seulement je n'arrive pas à placer correctement la caméra. (J'ai réussi à le faire avec OpenGl ES1 seulement)
Voici un résumé de l'affichage des éléments par rapport à ce que j'ai compris :
1 - Création d'un tableau commun contenant tout les sommets du programme
2 - On souhaite ajouter un cube
2.1 - Création de la forme du cube
3 - A chaque tour de boucle, on vide le tableau commun, puis on parcours toutes nos entités possédant une méthode "draw"
3.1 - Pour chaque entité on effectue nos transformations
3.2 - On l'ajoute au tableau commun
4 - On affiche la scène à l'aide des shaders et de "glDrawElements" (on lui fourni le tableau commun).
Merci beaucoup à vous d'avoir pris le temps de me lire.
En espérant une réponse de votre part.
Ps : J'ai acheté le livre "OpenGl Es2 programming guide" mais cela reste flou, l'auteur ne s'attaquant qu'a l'affichage d'un unique polygone à l'écran.
Partager