2012-01-19 24 views
5

Tengo una aplicación Java y quiero interactuar con Ogre dentro de ella. Específicamente ogro es una biblioteca del motor de juego 3D que tiene un montón de complejo C++ objetos dentro it.I tienes múltiples opciones para lograr esto¿Cuál es la mejor forma de interactuar con Ogre (C++) en una aplicación Java?

1.) Uso Raw JNI (Duro como JNI es bastante complejo)

2 .) Usar SWIG + JNI (Algo simple ... pero aún así JNI está involucrado)

3.) Usar Lua y NO JNI (Usar lua binding para Ogre) ... Básicamente usar Lua ayuda porque se conecta una lib de C++ Lua es mucho más fácil y llamar a Lua desde Java no sería demasiado difícil.

4.) Uso Ogre4j (Una unión a Ogre usando JNI Java ... pero esto no es proyecto de modo actualizado con la última versión del ogro)

¿Cuál de estos/parece la mejor opción teniendo en cuenta el mantenimiento futuro/actualizaciones a Ogre?

¿Es la opción no 3 que vale la pena probar?

+0

¿Por qué querrías usar Ogre de Java? ¿Por qué no encuentras un motor de juegos Java o escribes tu aplicación en C++? – jalf

Respuesta

3

Me gustaría sugerir una quinta opción: JNA https://github.com/twall/jna, un proyecto anterior de java.net.

Mi razonamiento: las opciones 1 y 2 son de nivel demasiado bajo, 3 es imho experimental (mencionaste "muchos objetos complejos de C++") y el número 4 definitivamente carece de actualizaciones. JNA aún se mantiene, de código abierto (LGPL), documentado y multiplataforma (aunque los documentos/ejemplos pueden sugerir lo contrario).

Actualización:
He heared alrededor de un sexto opción, que es "inspired by JNA": BridJ http://code.google.com/p/bridj/. El FAQ y el Wiki explican bien las diferencias y el razonamiento detrás de esto. BridJ es activo y de código abierto (licencia BSD y Apache).

0

Tal vez podamos usar la XBiG para generar el código Java, al igual que ogre4j do. En realidad, el código fuente de XBiG tiene una prueba para generar el código fuente de ogre4j, y está diseñado para hacer ese trabajo.

Cuestiones relacionadas