2012-01-19 11 views
5

Ho un'applicazione Java e voglio interfacciare Ogre al suo interno. In particolare Ogre è una libreria motore di gioco 3D che ha un sacco di complessi C++ oggetti all'interno it.I hanno avuto diverse opzioni per ottenere questo risultatoQual è il modo migliore per interfacciare con Ogre (C++) in un'applicazione Java?

1.) Usare Raw JNI (Duro come JNI è abbastanza complessa)

2 .) Usa SWIG + JNI (Abbastanza semplice ... ma è ancora coinvolto JNI)

3.) Usa Lua e NO JNI (usa il collegamento lua per l'orco) ... Fondamentalmente l'uso di Lua è utile perché interfacciare un lib C++ con Lua è molto più facile e chiamare Lua da java non sarebbe troppo difficile.

4.) Utilizzare Ogre4j (A Java vincolante per Ogre utilizzando JNI ... ma questo progetto è neanche così aggiornato con l'ultima versione Ogre)

Quale di questi/si presenta come la migliore opzione tenendo a mente la manutenzione futura/aggiornamenti a Ogre?

L'opzione n. 3 vale la pena provare?

+0

Perché vorresti usare Ogre da Java? Perché non trovare un motore di gioco Java o scrivere la tua app in C++? – jalf

risposta

3

Vorrei proporre una quinta opzione: JNA https://github.com/twall/jna, un precedente progetto java.net.

Il mio ragionamento: le opzioni 1 e 2 sono di livello troppo basso, 3 è imho experimental (hai menzionato "un sacco di oggetti C++ complessi"), e il numero 4 manca decisamente di aggiornamenti. JNA è ancora mantenuto, open source (LGPL), documentato e multipiattaforma (sebbene i documenti/gli esempi potrebbero suggerire al contrario).

Aggiornamento:
Ho heared circa un sesto opzione, che è "inspired by JNA": BridJ http://code.google.com/p/bridj/. Lo FAQ e lo Wiki spiegano bene le differenze e il ragionamento che sta dietro. BridJ è attivo e open source (licenza BSD e Apache).

0

Forse possiamo usare XBiG per generare il codice Java, proprio come ogre4j do. In realtà, il codice sorgente XBiG ha un test per generare il codice sorgente di ogre4j ed è progettato per farlo funzionare.

Problemi correlati