Three.js auf nativen Code portiert?

Lesezeit: 4 Minuten

Ich habe in letzter Zeit ziemlich viel mit WebGL gespielt und ich grabe wirklich Drei.js. Es ist wirklich leicht und dient nur dazu, die meisten GL-Anrufe ein wenig einfacher zu machen, und bietet eine schnelle Möglichkeit, grundlegende Grundelemente wie eine Kugel zu erstellen.

Jetzt, im Heimatland, scheinen alle Frameworks so viel mehr sein zu wollen. Dinge wie Oolong, UDK, Unity, Cocos usw. Ich habe ein bisschen gegoogelt, und das Nächste, was ich finden konnte, war iSGL3D aber ich bin nicht überzeugt, dass es die richtige Antwort ist.

Gibt es etwas Ähnlicheres wie Three.js, das in nativem C, C++ oder Objective-C geschrieben ist und das ich nicht finden kann?

  • Hast du dir Apples eigenes GLKit angesehen? Obwohl niedriger als Three.js, ist es meiner Meinung nach immer noch ein sehr schönes Framework, das Ihren Grafikcode erheblich vereinfacht.

    – iceydee

    3. Januar 2012 um 15:47 Uhr

Hier ist eine Portierung von drei nach C++: https://github.com/jdduke/three_cpp

Kern – 75 % abgeschlossen (TODO: Morph-Ziele, Schatten, Plugin-Unterstützung)

Extras – 5-10 % abgeschlossen (TODO: So ziemlich alles)

Beispiele – 25 % abgeschlossen (TODO: Beispiele mit Morph-Zielen und)

Benutzeravatar von namar0x0309
namar0x0309

Sie fragen nur nach einer strengen Grafik-Engine, in die gleiche Richtung wie OpenGL (im Vergleich zu DirectX, das wiederum so viel mehr sein will). Ich würde raten Ogre3D für iPhone da die Philosophie hinter Ogre3d darin besteht, eine strenge Grafik-Engine zu sein.

Der andere, der mir in den Sinn kommt, wurde kürzlich gelesen MoSync-Mobil-SDK das bietet hervorragende OpenGL Unterstützung für eine Vielzahl von Plattformen (wenn auch begrenzt; um die Portabilität aufrechtzuerhalten).

Wenn Sie mehr daran interessiert sind, Shader zu laden und die Grafik-Engine den Rest verwalten zu lassen, würde ich Ogre3D für iPhone wählen.

Sie können jederzeit die Initiative ergreifen (wenn Sie natürlich Zeit haben), um Ihre eigenen zu schreiben oder mit den hier genannten zu beginnen!

Oder Sie können eine JavaScript-Engine verwenden (JSAPI zum Beispiel) in einem C++-Editor und verschieben Sie dann three.js darüber. Das ist großartig, da Sie nur die JSAPI und Three.js aktualisieren, ohne die Funktionalitäten zu beeinträchtigen, und Ihre C++/JSTree-Engine mit minimaler Wartung auf dem neuesten Stand bleibt.

Natürlich nur ein paar Ideen!

  • Ogre scheint schwerfälliger zu sein als iSGL3D 🙁

    – slf

    3. Januar 2012 um 13:49 Uhr

  • @slf: Ja, sicher. Perspektivisch werden die neuen und kommenden Gerätegenerationen (tegra > 2, A5 > usw.) besser geeignet sein, da OpenGL ES 2.0 auf den mobilen Plattformen zum Standard wird.

    – namar0x0309

    3. Januar 2012 um 15:43 Uhr

  • Oger … sehr, sehr schlechte Erfahrung damit. Seine Installation ist ein Chaos (ich habe es über Fedora versucht, es war wahrscheinlich die schlechteste Paketinstallation aller Zeiten), und selbst seine Dokumentation ist nicht vollständig/aktuell/genau/nooby-freundlich.

    – Maël Nison

    28. Mai 2012 um 14:34 Uhr

  • Nun, das Springen auf Ogre3d- oder C/C++-Grafik-Engines erfordert Basteln und Neuverkabeln. Es wird von der Natur der Spieleentwicklung erwartet. Vielleicht können Sie dem Projekt einen Fedora-Portpfad übermitteln. Das wäre hilfreich für den Rest.

    – namar0x0309

    2. Juni 2013 um 17:21 Uhr

Obwohl ich auch lieber eine Portierung von three.js für iOS sehen würde, bin ich kürzlich auf iSGL3d (http://isgl3d.com/) gestoßen.

Dieses Projekt bietet eine einfache, gekapselte Möglichkeit, einen OpenGL-Szenengraphen per Code zu erstellen und zu manipulieren. Im Gegensatz zu einigen kreativen Codierungsframeworks wie Cinder ist iSGL3d in reinem Objective C enthalten.

Funktioniert bei mir noch gut.

  • Ist das nicht genau das, wonach ich in meiner Frage gefragt habe?

    – slf

    3. Januar 2012 um 21:07 Uhr

  • +1 für libcinder, das cinder::gl kommt dem nahe, worüber ich spreche, aber es ist für meinen Geschmack immer noch etwas bullig

    – slf

    5. Januar 2012 um 16:19 Uhr

Du könntest auch geben Auswurf vor. Sie haben gerade Unterstützung für WebGL/three.js hinzugefügt.

https://github.com/phoboslab/Ejecta/tree/next

Three_cpp ist gut, wird aber seit 3 ​​Jahren nicht mehr aktualisiert. VS-Versionen vor 2012 werden nicht unterstützt.

Ogre ist eine weitere gute Wahl, die der Logik von Threejs sehr ähnlich ist 🙂 Und die offizielle Seite bietet ein sehr detailliertes Tutorial, das die Verwendung erleichtert!

Benutzeravatar von slf
slf

Nach weiterem Suchen fand ich eine abgespeckte Version von SIO2 namens GFX das sieht vielversprechend aus.

Benutzeravatar von jterrace
jterrasse

Wenn Sie nach strenger Benutzerfreundlichkeit suchen, kann ich es nur empfehlen Panda3D. Es ist plattformübergreifend (Windows, Unix, Mac), wirklich einfach zu bedienen, hat eine umfangreiche Dokumentation und eine nette Community.

1433450cookie-checkThree.js auf nativen Code portiert?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy