3d comparison ogre openscenegraph irrlicht

Sugerencia sobre qué motor C++ 3D es mejor entre Ogre, Irrlicht y OpenSceneGraph



comparison (6)

Estoy bastante familiarizado con los gráficos en 3D (desarrollé un pequeño y sencillo motor de juegos en 3D para un proyecto académico). Pero ahora tengo que desarrollar una herramienta de audio / video en C ++ que también requiere algunas funciones 3D, por lo que no puedo confiar en mi pequeño programa, pero necesito un marco de motor 3D con estándares y características de alto rendimiento.

Me gustaría conocer sus opiniones sobre cuál es la mejor opción para un motor 3D entre estos 3 productos sobre los que escuché:

  1. Ogro
  2. Irrlicht
  3. OpenSceneGraph

Los requisitos que necesito son los siguientes:

  1. Soporte multiplataforma
  2. Altas actuaciones
  3. Soporte para codec de video
  4. Licencias (posiblemente tenga la opción de lanzar tanto la versión de código abierto como la de código cerrado de mi producto escrita con el marco elegido)
  5. Calidad y cantidad de efectos gráficos disponibles.

Responda, tenga en cuenta que no estoy desarrollando un videojuego y mi elección del mejor marco no dependerá de cuánto sea difícil de usar. Sólo me interesan las características que ofrece el marco.

Me gustaría entender mejor cuáles son las diferencias y las ventajas de usar un marco en lugar de otro.


Creo que es una elección personal. Prefiero Ogre sobre Irrlitch (API pobre) o OpenSceneGraph (comunidad pobre). El código fuente de Ogre tiene mucha calidad y es utilizado por muchos juegos comerciales.

No admite video, pero puedes usar bibliotecas de terceros como Ogre3D Video .

Si tiene en mente un proyecto comercial, considere Unity 3d (la versión de pago no es gratuita).

Todos los motores 3d son muy similares. La principal diferencia es cómo funciona el sistema de sombreado. Ogre tiene un sistema de script agradable y poderoso para escribir shaders. Ogre es muy profesional y está bien documentado (tiene muchos ejemplos útiles y una buena comunidad).


En primer lugar, tanto OpenSceneGraph (OSG para abreviar) como Ogre3D están muy bien documentados, con soporte, un gran foro, etc. No sé mucho sobre Irrlicht, además de que es el más nuevo. Probablemente no te equivocarás con ninguno de los dos primeros. Alguien mencionó CrystalSpace; No lo he visto en años, pero estaba muy por detrás de estos tipos en características y API.

Dominio

Si estuviera decidiendo, me gustaría saber en qué dominio me estaba concentrando. Ej . Simulación de toda la Tierra . O un sentido de lo que va a ser prestado. Tales como: Terreno / tierra como se ve desde el aire | Dentro de un edificio pero con algo de fuera. Algo CAD como | Visualización de información

Digo eso, porque OpenSceneGraph tiene una fuerte influencia en la simulación y el entorno militar. Divulgación: ese es mi campo y uso OSG a diario. Dicho esto, siempre quise probar Ogre3D y lo seguí durante años en la línea lateral; Simplemente no lo he conseguido. Como tal, no puedo hacer una comparación y un contraste completos. Yo diría que debido a las historias de los proyectos respectivos y los principales usuarios: Ogre3D tiene una mayor inclinación por los videojuegos ; OSG una industria de simulación más inclinada. Pero, tampoco está atado a esa arena.

Por ejemplo, digamos que tuve:
Una simulación cargada de ragdoll / people: Me gustaría ir con Ogre3D.
Una simulación que tiene que usar un archivo de terrapage: Bastante tendría que ir OSG.

Multiplataforma

No puedo hablar por el lado de Linux de Ogre3D. Pero, el desarrollador principal (Robert Osfield) usa Linux / Mac para todas sus cosas. CMake es lo que se usa para compilar el código. O simplemente use apt-get para probar ambos.

Actuación

Apostaría a que ambos obtendrían un buen rendimiento dados los ajustes adecuados (de nuevo, ¿qué se procesa ... archivos bsp, octtrees, high flying sim? ). Y el sistema operativo utilizado podría importar en ellos.

Miradas visuales

No puede obtener ningún motor y pensar que se verá bien sin tener buenos modelos / terreno y sombreadores. Probablemente haya un mejor soporte para diferentes técnicas entre los dos, pero tendría que ser un ejemplo específico para obtener una comparación precisa.

Gestión de escena

Cuando se trata de esta sección, OSG es muy limpio e intuitivo. Atravesar la escena, encontrar nodos, cambiar estados en subgrafos, todo muy facil de hacer.

Scripting

No mencionaste esto, pero pensé que lo tiraría. Iría a Ogre3D aquí. OSG requiere un complemento de 3rdParty o personalizado. Y, Irrlicht no lo apoya en absoluto.

Ahora que ha leído mi opinión, como si necesitara otro de esos, este sitio ( Devmaster ) es ideal para otros Devmaster . Aunque, es corto en detalles.

ps - Hay algo parecido a un híbrido (basado en OSG): es Delta3D. También está bien soportado y actualizado. Y probablemente hay un derivado de Ogre3D que es más simulación como :).


Si desea seleccionar un motor o cualquier software intermedio, debe definir claramente lo que desea poder hacer. Usted dice que no está haciendo un juego y necesita soporte para codec de video. Por lo tanto, parece que desea que la reproducción de 2D / 3D, audio y video se escriba con C ++.

Para 2D / 3D ogre es una excelente biblioteca. Ha existido por mucho tiempo y está bien probado, pero orge es un motor de procesamiento de gráficos y no un motor de juegos, aunque hay bibliotecas de terceros para agregar otro soporte. Esta es una licencia MIT, muy abierta incluye comercial.

Para la reproducción de video (y mucho más) puede buscar bibliotecas como FFmpeg Tiene una licencia LGPL, por lo que no hay enlaces estáticos en aplicaciones comerciales.

Irrlicht es un motor de juego completo. Esto puede ser útil, pero puede que no. Es posible que tenga que cambiar su proyecto para que coincida con los trabajos del motor. Esto utiliza una copia de la licencia zlib, que está abierta para uso comercial.

Cuanta más información sobre tu proyecto es difícil dar una buena recomendación. Espero que esto ayude.



Torque 3D parece mucho más maduro que Ogre3D, básicamente es un motor de juego completo (licencia MIT). El desarrollo en C ++ / Visual Studio es posible (probado hace algunos meses), pero también tiene un lenguaje de scripting incorporado.