2008-11-10 13 views
5

Ich bin auf der Suche nach einer plattformübergreifenden Lösung zum Speichern und Anzeigen von 3D-Szenen (Visualisierungen von technischen Simulationsmodellen und Ergebnissen), aber da scheint es (noch) nicht viel zu sein.3D-Szene Dateiformat & Viewer

Ich untersuchte dies vor fast 10 Jahren und entschied mich dann für VRML (und startete das Projekt, das schließlich in OpenVRML drehte). Leider ist VRML/X3D in den letzten zehn Jahren nicht annähernd allgegenwärtig geworden.

Idealerweise würde eine Lösung eine C++ - Bibliothek bieten, die auf einer bestimmten Ebene in eine 3D-Rendering-Pipeline eingefügt werden kann, um die 3D-Szene in einer Datei zu erfassen. und ein frei verteilbarer Viewer, der Ansichtsmanipulation, Teileverbergung, Annotation, Dimensionierung usw. erlaubt. Zumindest sollten Linux, Mac und Windows unterstützt werden.

3D-PDFs scheinen die meisten Zuschaueranforderungen zu erfüllen, aber das Adobe SDK ist anscheinend nur unter Windows verfügbar.

Irgendwelche Vorschläge?

+0

Welche 3D-Rendering-Pipeline verwenden Sie? OpenGL? Direct3D? –

+0

Zumindest haben Sie nicht zuerst QuickDraw 3D als Ziel gewählt. – dlamblin

Antwort

0

Wenn Sie OpenGL verwenden, speichert GLIntercept alle OpenGL-Aufrufe (mit den Daten, mit denen sie aufgerufen wurden) in eine XML-Datei. Es ist nur die halbe Lösung, aber es sollte nicht schwer sein, es zu analysieren und die Szene selbst zu erstellen.

+0

"Ja, was Drew gesagt hat ...";) Während wir dabei sind - was ist aus dem alten .obj Format geworden? Ich benutzte das mit gutem Erfolg nicht vor vielen Jahren ... – Olie

+0

Downvote und keine Rückmeldung, warum? GLIntercept löst genau die erste Hälfte seines Problems ("Idealerweise würde eine Lösung eine C++ - Bibliothek bieten ...") –

+0

Vielen Dank für Ihr Feedback. Ich habe es nicht abgelehnt. Off topic: Die Abstimmung liest 0, während ich dies schreibe. Wie können Sie feststellen, dass es eine Abstimmungsentscheidung gab? Meine Sorge mit einem Dump von GL-Anrufen ist, dass 1. Ausführlichkeit/Größe der Datei, 2. benutzer-modifizierbaren Zustand eingebettet ist, nicht explizit, 3. Der Betrachter ist das harte Bit, nicht wahr? –

1

Das nächste, was mir bekannt ist, ist Collada. Viele 3D-Engines können es lesen, und die meisten 3D-Design-Tools können es lesen und schreiben. Ich glaube, die Ogre Engine hat ziemlich gute Unterstützung.

0

Werfen Sie einen Blick auf Ogre3d.org. Es ist nur ein Motor, Sie müssen damit programmieren. Aber OGRE ist wahrscheinlich die bessere (freie/offene) Plattform, um 3D jetzt zu entwickeln.