2011-12-23 18 views
24

Ostatnio grałem z WebGL i naprawdę wykopałem Three.js. Jest naprawdę lekki i po prostu służy jako coś, co sprawia, że ​​większość rozmów z GL jest łatwiejsza i zapewnia szybki sposób tworzenia podstawowych zasad, takich jak sfera.Three.js przeniesiony do natywnego kodu?

Teraz, w ojczyźnie, wydaje się, że wszystkie ramy chcą być czymś więcej. Rzeczy takie jak Oolong, UDK, Unity, Cocos, itp. Zrobiłem trochę googlowania, a najbliższą rzeczą, jaką mogłem znaleźć, było iSGL3D, ale nie jestem do końca przekonany, że jest to właściwa odpowiedź.

Czy jest coś bardziej podobnego do Three.js, który jest napisany w natywnym C, C++ lub Objective-C, którego nie mogę znaleźć?

+1

Czy spojrzałeś na własne jabłka GLKit? Chociaż jest niższy niż Three.js, nadal jest bardzo ładnym frameworkiem, który znacznie upraszcza twój kod graficzny. – iceydee

Odpowiedz

8

Tu jest port trzech do C++: https://github.com/jdduke/three_cpp

Rdzeń - 75% kompletne (TODO: Morph cele, cienie, wsparcie wtyczek)

Dodatki - 5-10 % kompletny (TODO: Niemal wszystko)

Przykłady - 25% kompletne (TODO: Przykłady z uwzględnieniem celów morfologicznych)

3

Pytasz tylko o ścisły silnik graficzny, działający w tym samym kierunku co OpenGL (w porównaniu do DirectX, który ponownie chce być o wiele więcej). Doradzałbym Ogre3D for iPhone, ponieważ filozofią stojącą za Ogre3d jest ścisły silnik graficzny.

Drugi, który przychodzi na myśl, jest ostatnio analizowany pod numerem MoSync mobile sdk, który oferuje znakomitą obsługę OpenGL na szerokiej gamie platform (choć ograniczone, aby utrzymać przenośność).

Jeśli bardziej interesuje Cię ładowanie shaderów i zarządzanie silnikiem graficznym przez resztę, wybrałbym Ogre3D na iPhone'a.

Zawsze możesz przejąć inicjatywę (jeśli masz czas oczywiście), aby napisać własną lub zacząć od wymienionych tutaj!

Albo możesz użyć silnika JavaScript (na przykład JSAPI) w edytorze C++, a następnie przenieść trzy.js na to. To wspaniałe, ponieważ będziesz tylko aktualizował JSAPI i Three.js bez łamania funkcjonalności, a twój silnik C++/JSThree będzie aktualizowany przy minimalnej konserwacji.

Kilka pomysłów oczywiście!

+0

Ogre wydaje się być bardziej obciążony niż iSGL3D :( – slf

+0

@slf: Tak, oczywiście, chociaż w perspektywie nowe i nadchodzące generacje urządzeń (tegra> 2, A5> itd.) Będą bardziej odpowiednie, ponieważ OpenGL ES 2.0 staje się standardem na platformach mobilnych – namar0x0309

+0

Ogre ... bardzo, bardzo złe doświadczenia z jego instalacją to bałagan (próbowałem nad Fedorą, prawdopodobnie był to najgorszy pakiet instalacyjny evar), a nawet jego dokumentacja nie jest kompletna/aktualny/dokładny/nooby-friendly –

3

Chociaż wolałabym widzieć port trzy.js na iOS, ostatnio natknąłem się na iSGL3d (http://isgl3d.com/).

Ten projekt służy do prostego, enkapsulowanego sposobu budowania wykresu sceny OpenGL za pomocą kodu. W przeciwieństwie do niektórych kreatywnych frameworków kodujących, takich jak cinder, iSGL3d jest w czystej Objective C.

Działa dobrze dla mnie jeszcze.

+0

Czy nie jest to dokładnie to, o co pytałem w moim pytaniu? – slf

+1

+1 dla libcinder, cinder :: gl jest blisko tego, o czym mówię, ale jest st chory rodzaj mięsisty jak na mój gust – slf

0

Jeśli szukasz łatwej obsługi, bardzo polecam Panda3D. Jest to platforma wieloplatformowa (Windows, Unix, Mac), naprawdę łatwa w użyciu, ma obszerną dokumentację i dobrą społeczność wokół niego.

1

Three_cpp jest dobre, ale przestało się aktualizować od 3 lat. Nie obsługuje wersji VS poniżej 2012.

Ogre to kolejny dobry wybór, który jest bardzo podobny do logiki Threejs :) A oficjalna strona zawiera bardzo szczegółowy samouczek, dzięki czemu jest łatwy w użyciu!

+0

Imo unikaj Ogre3D – mouse

Powiązane problemy