2009-03-16 7 views
4

En utilisant OpenGL ES sur l'iPhone, est-il possible de faire une cartographie de relief (en utilisant des cartes de perturbation normales)? De ma recherche google, il semble que l'extension OpenGL ES qui le supporte ne permet pas le mappage par bossage.Bump Mapping sur l'iPhone

Selon this guy qui écrit middleware de jeu pour l'iphone, on peut voir le potentiel du matériel en regardant des démos sur le site imgtec (le marqueur de la puce graphique iPhones). Une telle démo est un bump mapping demo. Mais il n'y a pas de source à trouver.

Kevin Doolan mentionne également que les extensions GL ne sont pas activées pour les développeurs.

Répondre

9

@CVertex

Le mode de mélange DOT3 est pris en charge sur l'iPhone qui est le moins vous avez besoin afin de le faire.

L'extension du programme Vertex n'est pas exposée sur l'iPhone, mais elle n'est pas requise. Le but de l'extension dans ce cas est de vous permettre de transformer le vecteur de lumière en espace Tangent - mais comme je l'ai mentionné sur mon blog, c'est quelque chose que vous pouvez faire sur le CPU et juste alimenter les résultats Normaux de format DOT3) à GL. Il sera évidemment beaucoup plus lent que si vous étiez en mesure d'utiliser un programme Vertex. Si vous effectuez un mappage de bosse dans l'espace objet, vous n'avez pas besoin de transformer le vecteur de lumière, ni de le coder au niveau du sommet. Vous pouvez simplement l'insérer en tant que couleur constante.

La source complète de la démo de mise en correspondance des bosses que vous avez référencée IS est disponible sur le site imgtec. Téléchargez le SDK 1.x, disponible here. C'est une démo de l'objet Object Bump de cartographie (recherche de PolyBump).

KevinD.

1

Cela semble possible (au moins avec OpenGL ES 1.1+), mais je n'ai pas trouvé de tutoriel sur la façon de le faire. Il y a un GDC 2006 PDF qui le mentionne et il y aura un Khronos Group course sur des techniques comme celle-ci.

Il est également mentionné dans le chapitre "OpenGL ES 1.1 plus en détail" sur this page.