2011-05-19 2 views
3

C'est un peu la triche, car il y a en fait deux questions dans le titre.OpenGL ES comment importer un modèle 3D et lui assigner des textures à l'exécution

sur le compte de la façon d'importer un modèle 3D je pense que je peux passer à travers ce bit.

Cependant, ma question est: puis-je mapper une texture au modèle importé lors de l'exécution?

n'est ce pas appelé UV-Mapping? Le modèle 3D est fondamentalement une sphère, est-il préférable de générer la sphère en utilisant OpenGL ES?

mais alors comment mapper une texture?

Désolé d'être ignorant de la plupart des bases.

+0

Je ne peux pas répondre, je ne sais rien sur les outils sur iPhone, mais ce que vous voulez est uv-mapping, oui. Quant à la "génération", je ne sais pas si c'est "mieux", mais si vous avez vraiment une sphère, elle sera plus simple à implémenter. – Calvin1602

Répondre

4

Utilisez-vous directement OpenGL ou un moteur? Dans le cas où vous utilisez un moteur, une partie de celui-ci pourrait déjà être résolu pour vous.

Si vous utilisez OpenGL, vous devez garder à l'esprit que c'est "simplement" une API de rendu. Donc, vous devrez encore faire beaucoup de travail à la jambe vous-même.

Pour importer un modèle 3D, vous aurez à

  • Créer une sorte de structure de données de maillage
  • Ecrire un chargeur (le format de fichier OBJ est un bon endroit pour commencer) qui prend un fichier et le charge dans votre structure de données
  • Ecrivez le code de rendu qui prendra les données que vous avez chargées et les restituera.

Et oui, vous pouvez mapper la texture de votre maillage. Ce que vous devez avoir sont des coordonnées de texture (UV). Ceux-ci mappent fondamentalement les sommets dans votre maillage à un emplacement sur votre texture 2D. Imaginant qu'une sphère modélise la Terre, les coordonnées UV cartographient les sommets à un endroit précis sur la carte 2D de la Terre.

Vous pouvez peut-être generate those dans le code pour une sphère 3D, mais les packages de modélisation peuvent vous y aider également, en particulier pour les objets 3D plus complexes. Pour un peu d'introduction visuelle, jetez un oeil à ce tutorial on UV mapping liés à Blender.

Un didacticiel OpenGL ES sur les textures et le mappage de texture peut être trouvé here.

3

Vous pouvez charger des modèles 3D à l'aide de deux façons

  • Écrire un loader pour analyser tous les sommets et les coordonnées de texture.
  • Utilisez blender to export votre modèle en tant que fichiers d'en-tête.

charger ensuite le modèle et appliquer la texture ..

Pour info

Lire ces tutorials ..

J'espère que cela pourrait vous aider ...

Questions connexes