J'ai fait des progrès vraiment bon sur le livre OpenGL ES 2.0 pour Prags, et je suis vraiment heureux avec ce que j'ai fait jusqu'ici. Le livre n'est pas tout à fait aussi main-tenant que Début du développement de l'iPhone 3 a été, mais c'est probablement plus tenir la main que n'importe quel livre de programmation graphiques que j'ai jamais lu. Si vous avez une expérience préalable avec la programmation graphique, vous pouvez obtenir frustré par le rythme du livre. Je travaille sur le chapitre 8, et je n'ai même pas appris à l'éclairage encore.
Ceux d'entre vous qui n'ont jamais travaillé avec un moteur de pipeline programmable comme OpenGL ES 2.0 ou ont essayé et ont été frustrés par les livres et les ressources disponibles, sera (je l'espère) apprécient l'approche que je prends. J'essaie d'être très, très complet. J'essaie de ne pas laisser des questions suspendus dans les airs. J'ai trouvé, au fil des ans, des livres de programmation graphique pour être frustrante en ce sens qu'elles supposent un certain niveau de connaissance préalable qu'il n'est pas facile à obtenir en dehors des classes de mathématiques au collège. C'est mon objectif d'expliquer non seulement comment faire les choses, mais pourquoi, et donner au moins quelques informations de haut niveau sur les concepts sous-jacents et les mathématiques. Mon objectif est de rendre accessible la programmation graphique pour les gens qui n'ont pas nécessairement de connaissances en mathématiques au-delà de la géométrie scolaire de base élevé et trigonométriques. Je ne peux pas faire ça avec tout. Par exemple, avec des matrices de projection, je n'avais tout simplement pas que c'était la peine d'essayer de couvrir coordonnées homogènes, Donc je me suis concentré sur la façon dont les vecteurs de projection travaillé et surtout sauté le pourquoi. Mais c'est une exception. Dans la plupart des cas, je suis vraiment se concentrer sur pourquoi nous faisons ce que nous faisons.
Écrire des livres comme celui-ci est amusant, pour être honnête. J'apprends OpenGL ES 2.0 à un niveau beaucoup plus profond que j'ai déjà connu et je me sens bien sur le déroulement du livre. D'après les discussions que j'ai eues, je pense qu'il ya beaucoup de gens là qui veulent programmer en OpenGL ES 2.0 afin qu'ils puissent faire des trucs cool sur le iPhone et iPad, mais qui vient ne sais pas vraiment par où commencer. C'est comme tous les trucs cool est assis sur une étagère juste hors de portée. Et c'est frustrant.
Je ne sais pas encore quand le livre sera disponible. J'espère qu'il aura accepté dans le programme bêta livres quand il est assez loin. Si cela arrive, je vais m'assurer de le poster ici, parce qu'alors, le livre sera disponible pour la lecture en ligne avant la sortie officielle.
Maintenant, aucune partie de l'ouvrage est prêt à la consommation publique, mais je vais poster quelques de mon code de la livre aujourd'hui. Je sais qu'il ya une pénurie de bon, propre, simple iOS OpenGL ES 2.0 du code là-bas, donc je si j'avais après l'un des projets du chapitre, je travaille en ce moment pour tous ceux qui voulaient essayer de comprendre comment il tous les tient.
Bien qu'il aa application simple, il ya une bonne quantité en cours. Je prends soin de mettre en place une projection en perspective et une matrice de vue du modèle que les deux mouvements et la fait pivoter l'objet et aussi faire mappage de texture. Il ya un shader simples vertex et un fragment shader qui prennent soin de transformer la scène et de faire le mappage de texture. Maintenant, dans OpenGL ES 2.0, il n'ya pas de fonctions intégrées pour gérer une de ces tâches, il est donc tous eu à faire manuellement, principalement dans les shaders. Il ya aussi quelques classes utiles et de fonctions que vous pourrez peut-être mettre à profit dans votre propre code. Beaucoup de ce qui est ici est basé sur le code que j'ai posté dans le passé, mais c'est tout été mis à jour et amélioré pour une utilisation dans le pipeline OpenGL ES 2.0 programmable.

Oui, c'est notre vieil ami, l'icosaèdre, mais tout habillé pour ressembler à un mort vingt-côté. Parce que, vous savez, quoi de plus geek qu'un meurent vingt-verso?
Maintenant, ce projet n'a pas été examiné de code. Heck, le chapitre c'est pour n'a même pas encore été écrite, donc je suis sûr qu'il ya des erreurs et CBB (peut-être les parieurs). C'est également le code n'est pas particulièrement efficace. Je suis remettre à plus tard dans le livre d'un certain nombre d'optimisations, notamment la vectorisation de la matrice et les fonctions vectorielles, l'entrelacement par vertex attributs, et en utilisant les VBOs et VAOs. A ce point, je suis beaucoup plus concentré sur la clarté et les concepts que sur la performance, si juste être conscient de cela avant de vous décider d'intégrer l'un de ce code dans un projet de production.
Comme toujours, il n'ya pas d'exigences placées sur votre utilisation de ce code. Vous n'avez pas à donner d'attribution, et vous n'avez pas à contribuer en retour des modifications, mais si vous ne réparer ou d'améliorer quelque chose, je serais heureux d'en entendre parler.
Vous pouvez trouver le projet Xcode ici.
J'ai aussi fait le Blender original et fichiers Pixelmator j'ai utilisé pour créer les sommets et les coordonnées de texture de l'icosaèdre, ainsi que la texture. Vous pouvez télécharger ces here.
Je suis désolé, mais je dois dire que je ne serai pas en mesure de répondre aux questions sur le code. Entre le livre et le droit du travail du client, la plupart des jours je suis à mon bureau de 8h00 le matin jusqu'à 01h00 ou 02h00 le lendemain matin, sept jours par semaine, donc si vous avez besoin d'explications, vous allez d'avoir à attendre pour le livre.
Ceux d'entre vous qui n'ont jamais travaillé avec un moteur de pipeline programmable comme OpenGL ES 2.0 ou ont essayé et ont été frustrés par les livres et les ressources disponibles, sera (je l'espère) apprécient l'approche que je prends. J'essaie d'être très, très complet. J'essaie de ne pas laisser des questions suspendus dans les airs. J'ai trouvé, au fil des ans, des livres de programmation graphique pour être frustrante en ce sens qu'elles supposent un certain niveau de connaissance préalable qu'il n'est pas facile à obtenir en dehors des classes de mathématiques au collège. C'est mon objectif d'expliquer non seulement comment faire les choses, mais pourquoi, et donner au moins quelques informations de haut niveau sur les concepts sous-jacents et les mathématiques. Mon objectif est de rendre accessible la programmation graphique pour les gens qui n'ont pas nécessairement de connaissances en mathématiques au-delà de la géométrie scolaire de base élevé et trigonométriques. Je ne peux pas faire ça avec tout. Par exemple, avec des matrices de projection, je n'avais tout simplement pas que c'était la peine d'essayer de couvrir coordonnées homogènes, Donc je me suis concentré sur la façon dont les vecteurs de projection travaillé et surtout sauté le pourquoi. Mais c'est une exception. Dans la plupart des cas, je suis vraiment se concentrer sur pourquoi nous faisons ce que nous faisons.
Écrire des livres comme celui-ci est amusant, pour être honnête. J'apprends OpenGL ES 2.0 à un niveau beaucoup plus profond que j'ai déjà connu et je me sens bien sur le déroulement du livre. D'après les discussions que j'ai eues, je pense qu'il ya beaucoup de gens là qui veulent programmer en OpenGL ES 2.0 afin qu'ils puissent faire des trucs cool sur le iPhone et iPad, mais qui vient ne sais pas vraiment par où commencer. C'est comme tous les trucs cool est assis sur une étagère juste hors de portée. Et c'est frustrant.
Je ne sais pas encore quand le livre sera disponible. J'espère qu'il aura accepté dans le programme bêta livres quand il est assez loin. Si cela arrive, je vais m'assurer de le poster ici, parce qu'alors, le livre sera disponible pour la lecture en ligne avant la sortie officielle.
Maintenant, aucune partie de l'ouvrage est prêt à la consommation publique, mais je vais poster quelques de mon code de la livre aujourd'hui. Je sais qu'il ya une pénurie de bon, propre, simple iOS OpenGL ES 2.0 du code là-bas, donc je si j'avais après l'un des projets du chapitre, je travaille en ce moment pour tous ceux qui voulaient essayer de comprendre comment il tous les tient.
Bien qu'il aa application simple, il ya une bonne quantité en cours. Je prends soin de mettre en place une projection en perspective et une matrice de vue du modèle que les deux mouvements et la fait pivoter l'objet et aussi faire mappage de texture. Il ya un shader simples vertex et un fragment shader qui prennent soin de transformer la scène et de faire le mappage de texture. Maintenant, dans OpenGL ES 2.0, il n'ya pas de fonctions intégrées pour gérer une de ces tâches, il est donc tous eu à faire manuellement, principalement dans les shaders. Il ya aussi quelques classes utiles et de fonctions que vous pourrez peut-être mettre à profit dans votre propre code. Beaucoup de ce qui est ici est basé sur le code que j'ai posté dans le passé, mais c'est tout été mis à jour et amélioré pour une utilisation dans le pipeline OpenGL ES 2.0 programmable.

Oui, c'est notre vieil ami, l'icosaèdre, mais tout habillé pour ressembler à un mort vingt-côté. Parce que, vous savez, quoi de plus geek qu'un meurent vingt-verso?
Maintenant, ce projet n'a pas été examiné de code. Heck, le chapitre c'est pour n'a même pas encore été écrite, donc je suis sûr qu'il ya des erreurs et CBB (peut-être les parieurs). C'est également le code n'est pas particulièrement efficace. Je suis remettre à plus tard dans le livre d'un certain nombre d'optimisations, notamment la vectorisation de la matrice et les fonctions vectorielles, l'entrelacement par vertex attributs, et en utilisant les VBOs et VAOs. A ce point, je suis beaucoup plus concentré sur la clarté et les concepts que sur la performance, si juste être conscient de cela avant de vous décider d'intégrer l'un de ce code dans un projet de production.
Comme toujours, il n'ya pas d'exigences placées sur votre utilisation de ce code. Vous n'avez pas à donner d'attribution, et vous n'avez pas à contribuer en retour des modifications, mais si vous ne réparer ou d'améliorer quelque chose, je serais heureux d'en entendre parler.
Vous pouvez trouver le projet Xcode ici.
J'ai aussi fait le Blender original et fichiers Pixelmator j'ai utilisé pour créer les sommets et les coordonnées de texture de l'icosaèdre, ainsi que la texture. Vous pouvez télécharger ces here.
Je suis désolé, mais je dois dire que je ne serai pas en mesure de répondre aux questions sur le code. Entre le livre et le droit du travail du client, la plupart des jours je suis à mon bureau de 8h00 le matin jusqu'à 01h00 ou 02h00 le lendemain matin, sept jours par semaine, donc si vous avez besoin d'explications, vous allez d'avoir à attendre pour le livre.
Aucun commentaire:
Enregistrer un commentaire