OpenSceneGraph vs Ogre3d



  • Was sind die Vor- und Nachteile von OpenSceneGraph vs Ogre3d? :schland:



  • Die beiden libraries sind so erstmal nicht miteinander vergleichbar. Grob gesagt geht die OSG-lib in den Bereich ModelViewing, CAD und Ogre3D in den Spieleengine-Bereich. Alle Vor- und Nachteile kannst du auch selber auf den entsprechenden Anbieterseiten nachlesen.



  • Ich finde die 2 Libs sind sehr gut miteinander vergleichbar. Beides sind im Kern Render-Engines mit den ueblichen Features.
    Sie haben allerdings einen unterschiedlichen Fokus. OSG zielt eher auf die Simulationsbranche ab, unterstuetzt z.B. Dateiformate die OpenFlight, die in der Simulationsbranche sehr beliebt sind. Ogre zielt eindeutig auf Spieleentwicklung ab.

    So grob wuerde ICH diese Vorzuege/Nachteile ausmachen:
    Pro OSG:
    - Sehr gut integriertes Multithreading. Ogre3D hat auch Multithreading, aber nicht in dieser Auspraegung und Reife wie OSG
    - Maechtiges SceneGraph Modell mit Tonnen von Knotentypen. In OSG baust du einen gottaehnlichen Szenengraphen auf, der im Grunde alles verwaltet. Ist zwar sehr maechtig, aber meiner Meinung nach unelegant, alles in einen SG zu stopfen.
    - Loader/Exporter fuer nahezu alle Dateiformate
    Contra:
    - Doku. Entweder es gibt gar keine Doku oder sie ist grottig. Es gibt zwar eine Community, aber die ist relativ klein
    - Steile Lernkurve (vor allem wegen der miesen Doku)

    Pro Ogre3D:
    - Sehr gut strukturierter Code. Die Engine ist relativ schoen designed und mit dem Code arbeiten ist meistens angenehm
    - Starkes Materialsystem
    - Sehr gute Doku. Fuer mich eines DER Argumente
    - Viele Samples, grosse Community

    Wenn man nicht eine Simulation schreiben will, die auch auf einem Uralt-Rechner laufen soll, wuerde ich klar zu Ogre raten.



  • Kóyaánasqatsi schrieb:

    Die beiden libraries sind so erstmal nicht miteinander vergleichbar. Grob gesagt geht die OSG-lib in den Bereich ModelViewing, CAD und Ogre3D in den Spieleengine-Bereich. Alle Vor- und Nachteile kannst du auch selber auf den entsprechenden Anbieterseiten nachlesen.

    Das ist falsch.

    OSG ist nicht spezifisch auf CAD, ModelViewing usw. spezialisiert.

    Der große Unterschied zwischen OSG und Ogre ist, daß OSG nur ein Szenegraph ist, während Ogre eine Grafikengine ist.



  • this->that schrieb:

    Ich finde die 2 Libs sind sehr gut miteinander vergleichbar. Beides sind im Kern Render-Engines mit den ueblichen Features.
    Sie haben allerdings einen unterschiedlichen Fokus. OSG zielt eher auf die Simulationsbranche ab, unterstuetzt z.B. Dateiformate die OpenFlight, die in der Simulationsbranche sehr beliebt sind. Ogre zielt eindeutig auf Spieleentwicklung ab.

    So grob wuerde ICH diese Vorzuege/Nachteile ausmachen:
    Pro OSG:
    - Sehr gut integriertes Multithreading. Ogre3D hat auch Multithreading, aber nicht in dieser Auspraegung und Reife wie OSG
    - Maechtiges SceneGraph Modell mit Tonnen von Knotentypen. In OSG baust du einen gottaehnlichen Szenengraphen auf, der im Grunde alles verwaltet. Ist zwar sehr maechtig, aber meiner Meinung nach unelegant, alles in einen SG zu stopfen.
    - Loader/Exporter fuer nahezu alle Dateiformate
    Contra:
    - Doku. Entweder es gibt gar keine Doku oder sie ist grottig. Es gibt zwar eine Community, aber die ist relativ klein
    - Steile Lernkurve (vor allem wegen der miesen Doku)

    Pro Ogre3D:
    - Sehr gut strukturierter Code. Die Engine ist relativ schoen designed und mit dem Code arbeiten ist meistens angenehm
    - Starkes Materialsystem
    - Sehr gute Doku. Fuer mich eines DER Argumente
    - Viele Samples, grosse Community

    Wenn man nicht eine Simulation schreiben will, die auch auf einem Uralt-Rechner laufen soll, wuerde ich klar zu Ogre raten.

    Auch du vergleichst Äpfel mit Birnen.

    OSG braucht kein starkes Materialsystem weil es eben nur ein Szenegraph und keine Grafikengine ist.
    Ogre hat ein Materialsystem, weil es eine Grafikengine ist.

    Ogre mit OSG zu vergleichen ist so, als würde man Fragen wo der Unterschied zwischen der CryEngine und Crysis ist. Das erste ist eine Spieleengine, das zweite ein fertiges Spiel.



  • sdf_ausgeloggt schrieb:

    this->that schrieb:

    Ich finde die 2 Libs sind sehr gut miteinander vergleichbar. Beides sind im Kern Render-Engines mit den ueblichen Features.
    Sie haben allerdings einen unterschiedlichen Fokus. OSG zielt eher auf die Simulationsbranche ab, unterstuetzt z.B. Dateiformate die OpenFlight, die in der Simulationsbranche sehr beliebt sind. Ogre zielt eindeutig auf Spieleentwicklung ab.

    So grob wuerde ICH diese Vorzuege/Nachteile ausmachen:
    Pro OSG:
    - Sehr gut integriertes Multithreading. Ogre3D hat auch Multithreading, aber nicht in dieser Auspraegung und Reife wie OSG
    - Maechtiges SceneGraph Modell mit Tonnen von Knotentypen. In OSG baust du einen gottaehnlichen Szenengraphen auf, der im Grunde alles verwaltet. Ist zwar sehr maechtig, aber meiner Meinung nach unelegant, alles in einen SG zu stopfen.
    - Loader/Exporter fuer nahezu alle Dateiformate
    Contra:
    - Doku. Entweder es gibt gar keine Doku oder sie ist grottig. Es gibt zwar eine Community, aber die ist relativ klein
    - Steile Lernkurve (vor allem wegen der miesen Doku)

    Pro Ogre3D:
    - Sehr gut strukturierter Code. Die Engine ist relativ schoen designed und mit dem Code arbeiten ist meistens angenehm
    - Starkes Materialsystem
    - Sehr gute Doku. Fuer mich eines DER Argumente
    - Viele Samples, grosse Community

    Wenn man nicht eine Simulation schreiben will, die auch auf einem Uralt-Rechner laufen soll, wuerde ich klar zu Ogre raten.

    Auch du vergleichst Äpfel mit Birnen.

    OSG braucht kein starkes Materialsystem weil es eben nur ein Szenegraph und keine Grafikengine ist.
    Ogre hat ein Materialsystem, weil es eine Grafikengine ist.

    Ogre mit OSG zu vergleichen ist so, als würde man Fragen wo der Unterschied zwischen der CryEngine und Crysis ist. Das erste ist eine Spieleengine, das zweite ein fertiges Spiel.

    Sorry, aber du schreibst totalen Schwachsinn. OSG ist eine vollstaendige Render-Engine, sogar eine sehr maechtige. Selbst mehrere Render-Kanaele sind moeglich.

    Wie ich bereits sagte: Die 2 sind absolut miteinander vergleichbar, nur haben sie einen unterschiedlichen Fokus.



  • Basiert der Ogre Renderer nicht auch auf einem Scene Graph?

    Abgesehen vom Renderer bietet Ogre eben noch andere Dinge wie Audio, Input, Netzwerk etc. OpenSceneGraph hat das wohl nicht.

    Was sich besser eignet, hängt wie gesagt davon ab, was genau du tun willst...



  • dot schrieb:

    Basiert der Ogre Renderer nicht auch auf einem Scene Graph?

    Beide benutzen einen Scene Graph.

    dot schrieb:

    Abgesehen vom Renderer bietet Ogre eben noch andere Dinge wie Audio, Input, Netzwerk etc. OpenSceneGraph hat das wohl nicht.

    Ogre3D bietet weder Input, noch Audio noch Netzwerk. Allerdings bietet es Wrapper bzw. einfache Anbindungen an externe Libs, z.B. OgreAL fuer OpenAL oder OIS fuer Input.



  • Ah Ok. Ich bin kein großer Fan von Szenengraphen und hab mit beiden noch nicht gearbeitet 😉



  • dot schrieb:

    Ah Ok. Ich bin kein großer Fan von Szenengraphen und hab mit beiden noch nicht gearbeitet 😉

    Hehe, ich bin auch kein grosser Fan von ihnen - vor allem nicht, wenn es Super-Szenengraphen sind, die versuchen ALLES zu verwalten (State Sorting, Culling, Transformationshierarchien etc.). Genau deshalb mag ich OSG auch nicht sonderlich...


Anmelden zum Antworten