Ich habe derzeit keine Lösung für die Textur Zuordnung eines Ikosaeders ohne Naht von Pol zu Pol. Das Textur-Mapping dieses Primitivs scheint ein häufiges Problem zu sein, das noch nicht vollständig gelöst ist. Ich habe eine Menge Forschung gemacht und ich habe zur Erzeugung der UV-Koordinaten viele verschiedene Ansätze versucht, die meisten in der Nähe (und kleinste) Ansatz ist dies:OpenGL Ikosaeder Textur Mapping
GLfloat u = 0.5f * (1.0f + atan2(z , x) * (1/M_PI));
GLfloat v = acos(y) * (1/M_PI);
Ein Ikosaeder oder Geosphäre ist Teil verschiedener Open-Source-Frameworks wie jMonkeyEngine oder Geist3D, aber keine der Implementierungen scheint korrekt zu funktionieren. Es sollte nicht unmöglich sein, eine ungefaltete rechteckige Textur abzubilden, oder liege ich falsch? Jedes Code-Snippet ist willkommen.
Ich habe das Xcode-Projekt here hochgeladen, das mit openFrameworks 0.61 für iPhone gebaut wird. Es gibt auch zwei PNG-Dateien, von denen jede eine andere Nahtvariante zeigt.
Vielen Dank für Ihre schnelle Antwort. Sehen Sie sich dazu einmal an: http://projects.stephanschulz.com/assets/Geosphere.swf Dies ist Geosphäre, die mit einem Flash-Framework namens Alternativa3D erstellt wurde. Ich habe die gleiche Textur verwendet und sie auf dem Geosphärenprimitiv abgebildet. Bis auf ein Dreieck am Nordpol scheint die Textur korrekt um die Polyeder gewickelt zu sein. Weiß nicht, wie sie es erreichen, Alternativa3D ist nicht opensource, aber es scheint irgendwie möglich zu sein. Hier ist die Quelle http://projects.stephanschulz.com/assets/geosphere.zip – Stephan
möglicherweise die Gesichter, die die Pole umgeben, könnten Quads mit zwei Vorfallscheitel sein, aber ich denke immer noch, dass ein richtiges Texturbild für ein Ikosaeder weit bevorzugt würde . – wich
Sicher, aber ikosaedrische Texturen sind selten und es gibt keinen Mapserver, der dieses Format bietet. Die Anwendung soll Kartendaten z.B. von Civicmaps ohne Probleme an den Polen, was mit einer stapel- und scheibenbasierten Kugel nicht möglich ist. Ich denke, das ist der Fortschritt beim Einsatz einer Geosphäre. Wie würdest du damit umgehen? – Stephan