1 / 41

3DFC

A new container model for 3D file formats. 3DFC. Rozenn Bouville Berthelot ( Orange Labs/IRISA Rennes, France ) Jérôme Royan ( Orange Labs Rennes, France ) Thierry Duval ( Université Rennes 1/ IRISA Rennes, France ) Bruno Arnaldi (INSA/ IRISA Rennes, France ). Purpose. Goal :

denver
Download Presentation

3DFC

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. A new container model for 3D file formats 3DFC Rozenn Bouville Berthelot (Orange Labs/IRISA Rennes, France) Jérôme Royan (Orange Labs Rennes, France) Thierry Duval (Université Rennes 1/IRISA Rennes, France) Bruno Arnaldi (INSA/IRISA Rennes, France)

  2. Purpose • Goal : • enable composing of 3D files in a single 3D application • Solution requirements : • preventive of functionalities loss • extensible to most 3D formats • operable with most rendering components 3D application Rendering engine Physics engine

  3. Issues and solutions • More than 140 3D file formats … • visualize • exchange • reuse

  4. Issues and solutions • More than 140 3D file formats … • visualize : • no universal viewer • exchange • reuse

  5. Issues and solutions • More than 140 3D file formats … • visualize • exchange : • production pipelines : a different format at each step • reuse Tool B In Tool C In Tool A In Out Out Out

  6. Issues and solutions • More than 140 3D file formats … • visualize • exchange • reuse : • save time and money • ease importation

  7. Issues and solutions • More than 140 3D file formats … • visualize • exchange • reuse • Solutions • standard

  8. Issues and solutions • More than 140 3D file formats … • visualize • exchange • reuse • Solutions • standard • conversion

  9. Issues and solutions • More than 140 3D file formats … • visualize • exchange • reuse • Solutions • standard • conversion • interoperability

  10. Interoperability for 3D data • Two aspects : • between input files and 3D application →Iapp 3D application Rendering engine Physics engine Iapp

  11. Interoperability for 3D data • Two aspects : • between input files and 3D application →Iapp • between input files of the 3D application →Iformat Iformat 3D application Rendering engine Physics engine Iapp

  12. Interoperability for 3D data • Iapp→ Scene Graph Adapter (SGA) architecture • enables interoperability between 3D file formats and 3D application

  13. Interoperability for 3D data • Iapp→ Scene Graph Adapter (SGA) architecture • enables interoperability between 3D file formats and 3D application • Iformat→ 3DFC container model • enables interoperability between 3D file formats of 3D application

  14. Iapp→ Scene Graph Adapter 3D Application Format1 decoder Engine1 Engine1 API . . . . . . Enginen Enginen API Formatn decoder

  15. Iapp→ Scene Graph Adapter 3D Application format scene graphs Format1 decoder Rendering engine Renderer API engine scene graph . . . Formatn decoder

  16. Iapp→ Scene Graph Adapter Scene Graph Adapter 3D Application Format adapter API Format1 decoder Format1 Wrapper Engine adapter API Rendering engine Renderer API Renderer Wrapper . . . . . . Node Indexer FormatnWrapper Formatn decoder ( Bouville Berthelot et al., 2011 )

  17. Iapp→ Scene Graph Adapter SGA Kernel API • 2012 version : Scene Graph Adapter 3D Application Format1 decoder Format1 Wrapper Format adapter API Engine adapter API Renderer adapter API Engine1 Engine1 API Engine1 Wrapper . . . . . . Physics adapter API . . . . . . Node Indexer FormatnWrapper Enginen Enginen API EnginenWrapper Formatn decoder

  18. Iapp→ Scene Graph Adapter SGA Kernel API Scene Graph Adapter 3D Application Format1 decoder Format1 Wrapper Format adapter API Engine adapter API Renderer adapter API Engine1 Engine1 API Engine1 Wrapper . . . . . . Physics adapter API . . . . . . Node Indexer FormatnWrapper Formatn decoder Enginen Enginen API EnginenWrapper

  19. Iformat→ Container Files • To aggregate contents of different types • For digital media files • storage (AVI) • transport (DIVX) • For software architecture • Salomé Project (Bergeaud and Tajchman, 2007) • For 3D files • 3DMLW (3D Technologies R&D, 2009)

  20. A 3D files container ? • Requirements for a 3D files container : • encapsulate most 3D file formats • spatially organize models within a scene • enable interactions between models of different formats • enable annotations Container

  21. A 3D files container ? • Requirements for a 3D files container : • encapsulate most 3D file formats • spatially organize models within a scene • enable interactions between models of different formats • enable annotations Container

  22. A 3D files container ? • Requirements for a 3D files container : • encapsulate most 3D file formats • spatially organize models within a scene • enable interactions between models of different formats • enable annotations Container

  23. A 3D files container ? • Requirements for a 3D files container : • encapsulate most 3D file formats • spatially organize models within a scene • enable interactions between models of different formats • enable annotations a… b… c… d… Container

  24. Existing solutions • 3D graphics API : loading functionalities • Java3D, OpenSG, … → problem : conversion • Interchange formats • OFF (Rost,1989), P3D (Welling et al.,1990), FBX (Autodesk), Collada(Khronos Group),… →problem : encapsulation not provided

  25. 3DFC • 3DFC = 3D File Container

  26. 3DFC • 3DFC = 3D File Container • Answers our 4 requirements • most 3D file formats • spatial organization • enable interactions • annotations

  27. 3DFC • 3DFC = 3D File Container • Answers our 4 requirements • Not a new format, just a model !

  28. 3DFC • 3DFC = 3D File Container • Answers our 4 requirements • Not a new format, just a model ! • Relies on the Scene Graph Adapter architecture

  29. 3DFC and Scene Graph Adapter 3D Application 3DFC Decoder 3DFCWrapper SGA Engine1 Engine1 Wrapper Format1 Decoder Format1 Wrapper . . . . . . 3DFC F1 Fn . . . . . . Enginen Enginen Wrapper FormatnDecoder Format2 Wrapper

  30. 3DFC Nodes • As few as possible • Structuring nodes : • GROUP • TRANSFORM • CONTENT • Interaction/communication nodes : • ROUTE • MATCH • CONVERTER • Other functionalities provided by input formats

  31. Instantiation 3DFC X3D 3D Application SGA 3DFC Ogre X3D DAE Bullet COLLADA Input : X3D, COLLADA and 3DFC Output : Ogre and Bullet

  32. X3D input file sample X3D

  33. COLLADA input file sample DAE

  34. 3DFC file sample Ogre 3DFC 3D Application SGA 3DFC Decoder X3D Bullet X3D Decoder + Collada Decoder DAE +

  35. 3DFC file sample 3DFC file <SGA_3DContainer> <Group DEF="MyGroupNode"> <Content DEF="X3DFile" type="x3d" decoder_url="" wrapper_url="" url="../x3d/RedCube.x3d" /> <Transform DEF="TRANS" translation="-80 60 50" scale="2 2 2" > <Content DEF="DAEFile" type="dae" decoder_url="" wrapper_url="" url="..\collada\plane.dae" /> </Transform> </Group> </SGA_3DContainer> Ogre 3DFC 3D Application SGA 3DFC Decoder X3D Bullet X3D Decoder + Collada Decoder DAE +

  36. Rotate plane’s propeller <Route fromFile="X3DFile" toFile="DAEFile" fromNode="AnimationOI" toNode="prop" fromField="value_changed" toField="rotate" conversion="convertor_1" /> <Converter DEF="convertor_1" type="VectRotToQuaternion" /> Collada Decoder X3D Decoder R C Add a path between X3D’s Interpolator and Collada’s propeller M

  37. Assign a mass to the cube Collada Decoder <MatchfromFile="DAEFile" toFile="X3DFile" fromNode="plane" toNode="cube_RED" field="mass"/> X3D Decoder M Match the mass of Collada’s plane to X3D’s cube

  38. Summary Ogre 3DFC 3D Application SGA 3DFC Decoder X3D Decoder X3D + Bullet Collada Decoder + DAE

  39. Discussion • Benefits : • enables interaction between 3D models of different formats • easy integration of 3DFC model in any existing scene-graph-based file format • relies on the flexible Scene Graph Adapter framework • Limitations: • matching nodes implies search in Node Indexer →reasonable impact on performance • updates implies additional call of methods →low impact on performance • several representation of the same scene graphs (commonly used in rendering engines) →require cache management for huge scenes

  40. Future work • Add a network engine • to assess the usability of our framework for online virtual platforms • Extend 3DFC model • to add specific attributes to a node • rights, user interaction properties, …

  41. Thanks for your attention. Questions ? Contact : rozennb@gmail.com

More Related