Est-ce que quelqu'un sait comment créer une sphère en utilisant Metal sous iOS? J'ai suivi ce tutoriel pour en savoir plus Des étoffes métalliques.

Mais je n'arrive pas à comprendre comment je rendrais une sphère en 3D.

2
Joon. P 26 déc. 2015 à 10:49

2 réponses

Meilleure réponse

Vous devez changer les données de maillage, mais ce sera laborieux de tout faire à la main. Donc au total, vous avez quelques options:

  1. Vous pouvez dessiner une sphère dans un programme de modélisation 3D comme Blender et l'exporter sous forme de fichier OBJ. Ensuite, vous pouvez utiliser un framework comme Model I / O (voir la vidéo WWDC) ou même le vôtre pour lire le fichier OBJ.
  2. Si vous êtes un peu plus courageux et ambitieux, vous pouvez essayer de créer de manière procédurale un tableau de sommets d'une sphère à l'aide de méthodes mathématiques. Je dirais que ce sera plus difficile que le premier, mais bon, c'est cool.
  3. Tapez toutes les positions de sommets à la main dans le tableau de sommets. Je ne recommanderais pas cela car cela vous fera perdre du temps et vous ne ferez pas grand chose pour faire évoluer vos connaissances en programmation.

Vous pouvez probablement utiliser d'autres méthodes. Cela dépend de votre créativité.

1
user3894009 9 janv. 2016 à 08:10

La meilleure façon de procéder consiste à utiliser le cadre d'E / S modèle pour créer un MDLMesh pour représenter le maillage de la sphère. Cela peut être fait comme ceci:

let sphereMesh = MDLMesh(sphereWithExtent: vector3(0.1, 0.1, 0.1), segments: vector2(50, 50), inwardNormals: false, geometryType: .triangles, allocator: metalAllocator)

Pour plus d'informations, vous pouvez consulter la documentation ainsi que la ce tutoriel.

0
Marcel Alves 16 juil. 2019 à 12:10