Registriert: Do Sep 02, 2004 19:42 Beiträge: 4158
Programmiersprache: FreePascal, C++
Beim klicken durch die github-Repositories von Khronos bin ich auf glTF gestoßen. Das ist ein Modellformat welches analog zu den GPU-Nahen Texturformaten ebenfalls GPU-Nah sein soll. Hat damit schonmal jemand was gemacht? Hat sich jemand die Spec schonmal reingezogen?
Ich seh da auf dem ersten Blick JSON, was mir schonmal weh tut. Und ich bin mir nicht sicher, wie sinnvoll der Approach ist. Ich meine, gerade sowas wie Materialien behandelt man ja in Engines durchaus unterschiedlich.
viele Grüße, Horazont
_________________ If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung. current projects: ManiacLab; aioxmpp zombofant network • my photostream „Writing code is like writing poetry“ - source unknown
„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb
Registriert: Mo Sep 23, 2002 19:27 Beiträge: 5812
Programmiersprache: C++
Ich hab damit schonmal rumgespielt. Das Format kommt aus der OpenGL ES Ecke (ich glaub die Leute von Cesium entwickeln da federführend), deshalb wohl auch JSON.
Aber die eigentlichen Daten liegen ja binär vor, der JSON-Teil beschreibt dann ja nur die Szene, ist also relativ knapp gehalten.
Daneben beinhaltet es auch die Shader, wobei das (wie du sagts) i.d.R. eh keinen Sinn macht weil die ja aus der Engine gesetzt werden.
Für mich ist das Format aber bisher nur im Zusammenhang mit WebGL interessant, ansonsten bleib ich bei .X. Aber mal sehen, wenn ASSIMP Support für glTF bekommt, und die DCC Tools die ich benutz ordentliche Im- und Exporter überleg ich mirs nochmal
Registriert: Do Sep 02, 2004 19:42 Beiträge: 4158
Programmiersprache: FreePascal, C++
Sascha Willems hat geschrieben:
Aber die eigentlichen Daten liegen ja binär vor, der JSON-Teil beschreibt dann ja nur die Szene, ist also relativ knapp gehalten.
Mit gzip/xz/lzma/whatever ist danach auch nicht mehr viel von übrig, darum mache ich mir keine Sorgen eigentlich. Wahrscheinlich ist JSON sogar das richtige Tool, ich seh’s nur immer mit einem weinenenden Auge, wenn Leute auf JSON XML-Features drauftackern (namespaces, schemata…). Aber ich will hier jetzt bloß keinen XML-JSON-War lostreten.
Sascha Willems hat geschrieben:
Daneben beinhaltet es auch die Shader, wobei das (wie du sagts) i.d.R. eh keinen Sinn macht weil die ja aus der Engine gesetzt werden.
Eben! Das verwirrt mich. Ich meine, gerade im WebGL oder Embedded-Kontext will man doch Resourcen schonen. Und zumindest ich hab bei meinen Anwendungen sehr oft sehr ähnliche wenn nicht gar gleiche Shader (v.a. seit ich dieses One-Shader-To-Rule-Them-All-Unreal-Zeug (linktrenner) von diesem Physically Based Shading course hier kenne). Da hat es keinen Sinn, die im Material mitzuführen, eher will ich ein Material was mir genau die Properties vom Unreal Shader angibt.
Sascha Willems hat geschrieben:
Für mich ist das Format aber bisher nur im Zusammenhang mit WebGL interessant, ansonsten bleib ich bei .X
Wenn man sowieso schon ASSIMP verwendet ist man sowieso sehr flexibel.
viele Grüße, Horazont
_________________ If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung. current projects: ManiacLab; aioxmpp zombofant network • my photostream „Writing code is like writing poetry“ - source unknown
„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb
Registriert: Di Mai 18, 2004 16:45 Beiträge: 2621 Wohnort: Berlin
Programmiersprache: Go, C/C++
Bei WebGL ist es ein natives Format, weil json ist native in Javascript supported und der binäre Datenblob wird direkt an WebGL weiter gegeben. Für nicht WebGL ist es eher ein hantliches Intermediate Format. Json ist schneller und mit weniger Code zu parsen als XML und für Objekte ist es übersichtlicher. Es erinnert mich ein bisschen an Collada.
Ich hab allerdings auch schon mit einem eigenen Format gearbeitet, was auch mit Json als Logik und Binary Streams im zip Archive kommt und ein parser dafür ist super schnell und einfach programmiert. Das ist für Intermediate Formate wichtig.
Collada tut glaube ich die Binary Streams mit Base85 kodieren, damit es im XML liegen kann.
Für Intermediate benutzt ich FBX und Collada, weil FBX SDK von Autodesk ziemlich hantlich ist, beide Formate kann und die von vielen Tools unterstützt wird. Das Format selber ist aber super gruselig.
_________________ "Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren" Benjamin Franklin
Und aus der COLLADA-Scene mit ~12 MByte ist ein glTF -File mit nur noch 1,4 MByte geworden. Klar, unfairer Vergleich, aber endlich auch mal Kompression für 3D Modelle und nicht nur Texturen.
Mal schauen wie sich das aufs Modell auswirkt. Ohne Open3DGC waren es als glTF (binär) circa 8 MByte. Grade im Web spielt die Downloadgröße ja eine Rolle. Wenn der Download also länger dauert als das Entpacken der Daten dürfte das was bringen.
Mitglieder in diesem Forum: 0 Mitglieder und 22 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.