Question

Quel est le moyen le plus rapide de se familiariser avec OpenGL ES 1.x?

Supposons que je ne sache rien d’OpenGL (ce qui n’est pas tout à fait vrai, mais cela fait longtemps que je n’ai pas utilisé OpenGL). Cela m'intéresse davantage d'apprendre ce développement pour le développement lié à l'iPhone, mais aussi d'apprendre comment cela fonctionne sur d'autres plateformes.

J'ai trouvé le livre Guide de programmation OpenGL ES 2.0 , mais je crains que cette approche ne soit pas la meilleure, car elle est axée sur la version 2.0 plutôt que sur la version 1.x. Si j'ai bien compris, la version 2.0 n'est pas rétrocompatible avec la version 1.x. Il est donc possible que je passe à côté de concepts importants.

Remarque: pour obtenir des réponses sur l'apprentissage d'OpenGL en général, voir https://stackoverflow.com/questions/62540/learning-opengl.

Certaines ressources que j'ai trouvées:

Était-ce utile?

La solution

Il existe une documentation dans le SDK iPhone lui-même.

En dehors de cela, prenez simplement ce que vous savez sur OpenGL (ou apprenez-le par d’autres moyens) et oubliez tout ce qui est "vieux cru". (listes d’affichage, mode immédiat, éléments présents dans OpenGL mais qui ne sont pas directement liés au simple dessin de triangles). Désapprouvez fondamentalement tout ce qui a été déclaré obsolète dans OpenGL 3.0.

GL ES 1.x est destiné à des appareils assez simples. Ce que vous avez est un moyen de dessiner une géométrie (sommets), de gérer des textures et de configurer un état de fonction fixe (éclairage, combineurs de textures). C'est à peu près tout ce qu'il y a à faire.

Autres conseils

Si je peux me connecter à mon propre travail, je vous dirigerais vers mon message à http://www.sunsetlakesoftware.com/2008/08/05/lessons-molecules-opengl-es . Ce n’est pas la meilleure introduction générale à OpenGL ES, et cela devient assez technique assez rapidement, mais c’est ce que j’ai pensé de mon expérience d’écriture Molécules . De plus, je viens de commencer à lire le livre " Graphiques mobiles 3D: avec OpenGL ES et M3G " .

Je suis d’accord avec l’idée que la meilleure façon d’apprendre est de faire. J'ai commencé à ne rien savoir à propos d'OpenGL et trois semaines plus tard, Molecules était à l'essai dans l'App Store. Une fois que vous avez défini un ensemble d'objectifs clairs ("OK, je dois dessiner une sphère 3D", "je dois maintenant la faire pivoter à la demande"), il devient facile de trouver des exemples ou des parties de la documentation qui s'appliquent à juste la tâche sur laquelle vous travaillez.

Il existe de nombreux exemples de code, bien que beaucoup utilisent le mode immédiat et d’autres appels qui ne sont pas pris en charge dans OpenGL ES. J'aimerais ajouter quelque chose à la liste en publiant le code source dans Molecules, mais la NDA d'Apple l'a empêché jusqu'à présent. Le code source de Molecules est maintenant disponible .

La vidéo du cours que j'ai enseigné sur OpenGL ES 1.1 est maintenant disponible au téléchargement dans le cadre de mon cours de printemps sur iTunes U . Les notes de cette session se trouvent ici . Et les vidéos du semestre d'automne ont une classe sur OpenGL ES 2.0.

Philip Rideout a également publié un excellent livre sur le développement OpenGL ES 1.1 et 2.0 pour iPhone, intitulé iPhone 3D. Programmation . Je le recommande vivement.

Pour info, Brad Larsons code de molécules est maintenant disponible ici .

Je les ai trouvées très utiles lorsque je débute avec OpenGL ES, juste pour voir quelle approche adopter pour traiter avec ES par opposition à GL normal.

http://www.zeuscmd.com/tutorials/opengles/index.php

Comme cela a été mentionné précédemment, des exemples sont également disponibles sur le site du développeur iPhone:

Vous voudrez peut-être jeter un oeil à this , excellent tutoriel de Jef LaMarche sur OpenGL ES sur iPhone.

Après avoir passé beaucoup de temps à développer la 3D, je me suis rendu compte que dans la plupart des cas, le meilleur moyen consiste à apprendre par des exemples et à progresser avec eux au fur et à mesure.

Commencez par vous fixer un objectif à atteindre (par exemple, implémenter un système de particules. Cela inclut l’utilisation des modes de fusion, des textures, des couleurs de vertex, du traitement par lots et des transformations), puis commencez par le plus simple élément - dessin et faire tourner un quad. À partir de là, ajoutez des textures, ajoutez des quads, etc. Ce faisant, vous aurez besoin d’informations sur la syntaxe - vous trouverez cela dans de nombreux livres, mais la meilleure (très ennuyeuse) source est la publication du comité de spécification que vous pouvez trouver ici: http://www.khronos.org/opengles/spec/

Même avec cela, vous rencontriez de nombreux problèmes, et bien, une fois que vous avez un problème, allez voir votre meilleur ami dans ces situations: démos et exemples!
Vous pouvez trouver de nombreux exemples de sources pour l'iPhone en ligne et sur le site Apple. Vous pouvez donc les télécharger, les copier-coller, les modifier et les adapter à vos besoins.

Amusez-vous.

Si vous avez téléchargé les exemples du SDK pour iPhone, consultez le fichier EAGLview de l’atterrissage brutal. Il s’agit d’une implémentation assez simple d’une vue GLES qui peut être importée et utilisée assez proprement dans un autre projet. Il existe une autre classe dans ce projet appelée Texture2d (si je me souviens bien) qui est également très intéressante si vous souhaitez utiliser GLES pour la 2D.

Puis-je également suggérer Android - il est facile à obtenir et vous pouvez avoir un simulateur en état de marche très rapidement. En outre, il utilise v1.0 autant que je sache.
Il pourrait y avoir plus de tutoriels, mais même les APIDemos fournis par Google ont une introduction à OpenGL ES. J'ai certainement trouvé cela utile.

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