lundi 12 mars 2012

En annonçant OpenGL ES 2.0 pour iOS 4

Bon, il est enfin temps pour moi d'annoncer Super Secret projet B, qui est un nouveau livre que j'écris sur OpenGL ES 2.0 pour iPhone, iPad et iPod touch.

Oui, je sais j'ai dit que je ne serait pas écrit de livres en 2010, mais les gentils gens à la Pragmatic Programmers s'est approché de moi après que j'ai fait cette déclaration avec une manière économiquement faisable pour moi d'écrire un livre cette année. Je ne pouvais pas dire non.

Mon plan initial avait été de prendre mon OpenGL ES à partir du sol pour blog, les compléter, et les transformer en un livre, étape par étape, des projets visant à renforcer les points de chaque poste. Ma semaine à la WWDC m'a amené à changer cette approche. Je suis allé à toutes les sessions OpenGL ES et j'ai passé une bonne quantité de temps la flexion de l'oreille d'Allan Schaffer, graphiques d'Apple et évangéliste Jeux, ainsi qu'un certain nombre d'ingénieurs d'Apple qui travaillent sur ou avec OpenGL. Après beaucoup de réflexion dur, je suis venu à la conclusion que l'approche nécessaire pour le changement. Bien que le matériel moderne soutient le pipeline fixe, Apple a cessé de faire des téléphones qui nécessitent OpenGL ES 1.1. L'iPhone 3G, iPhone 4 et iPad tous non seulement le support OpenGL ES 2.0, mais ils ont tous besoin si vous voulez profiter pleinement de la quincaillerie.

OpenGL ES à partir du sol pourCependant, axé sur l'OpenGL ES 1.1 canalisations fixes.

Depuis OpenGL ES ne pas maintenir la compatibilité ascendante de la façon dont poste de travail OpenGL ne, une grande partie du matériau de la canalisation fixe, comme les lumières, la vue du modèle et la matrice de projection, et les fonctions des stocks pour la soumission de vertex, la texture, et les données normales sont tous passés d'OpenGL ES 2.0. Au lieu de cela, vous avez à gérer tout ce travail manuellement lorsque vous écrivez vos shaders. Shaders ajouter quelques complexité du processus, mais de vous donner une énorme quantité de puissance et de la possibilité d'écrire du code plus efficace OpenGL.

Dans le monde de bureau, il a encore un sens pour apprendre le mode immédiat d'abord, puis de pipeline réguliers fixes, et puis finalement le pipeline programmable, parce stations de travail OpenGL maintient près de 100% de compatibilité arrière à travers des communiqués, et vous pouvez obtenir rapidement opérationnel. Le poste de travail OpenGL ES, vous pouvez même mélanger et faire correspondre les différents modes, accéder à la matrice de vue du modèle et les lumières de votre shaders. Ce n'est pas le cas avec OpenGL ES, donc dépenser quelques centaines pages d'enseignement des choses qui ne seront pas applicables à la pipeline programmable semblait être une mauvaise utilisation du temps, les deux mines, et mes lecteurs.

Mais, pour le nouveau programmateur, le pipeline programmable est vraiment difficile à Grok. J'ai été cogner ma tête la semaine dernière à la recherche d'un moyen de présenter ce sujet plutôt complexe d'une façon que les personnes sans préalable ou graphiques OpenGL ES expérience sera capable de comprendre.

Merci à beaucoup de gens prêts à parler avec moi, je pense que je suis venu avec une approche qui va fonctionner, et je suis vraiment excité à ce sujet. Donc, si vous trouvez OpenGL ES à confusion, surtout si vous trouvez le pipeline programmable et les shaders déroutant, regarder dehors pour OpenGL ES 2.0 pour iOS4. Je n'ai pas une date de sortie encore, mais je vais poster ici quand j'ai mis à jour des informations sur le calendrier de production.

Aucun commentaire: