1 / 39

3D Revision Control Framework

3D Revision Control Framework. Jozef Dobo š & Anthony Steed Department of Computer Science University College London August 5, 2012. Introduction. 3D models grow in complexity Artists and engineers collaborate asynchronously File systems pose serious drawbacks. Contributions.

akiva
Download Presentation

3D Revision Control Framework

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. 3D Revision Control Framework JozefDoboš & Anthony Steed Department of Computer ScienceUniversity College London August 5, 2012

  2. Introduction • 3D models grow in complexity • Artists and engineers collaborate asynchronously • File systems poseserious drawbacks

  3. Contributions • How to maintain distributed open repository for revising 3D models • How scene graph of 3D assets can be stored in NoSQL DB (MongoDB) • How to extend the DB to store revision history • Tier 1: A stand-alone GUI with conflict detection and resolution • Tier 2: A secondary read-only GUI via WebGL and Java

  4. Previous Work Asset management and version control • High-end CAD modeling packages: • Bentley Assetvise • DassaultCatia • Software engineering: • SVN, Git, Perforce... • 3ds Max, Blender... + filesystems • Locking

  5. Previous Work Edit logging • Nonlinear Revision Control for Images [Chen et al. 2011] • MeshFlow: Interactive Visualization of Mesh Construction Sequences [Denning et al. 2011] • VisTrails Provenance Explorer for Maya Network distribution • XML3D – Interactive 3D Graphics for the Web [Sons et al. 2010] • A scalable architecture for the HTML5/X3D integration model X3DOM [Behr et al. 2010] • SceneJS

  6. Aim • Support non-linear concurrent modeling • Become agnostic to any specific modeling software • Make one DB store the scene and its revision history • Hence separate modeling from its long-term storage

  7. Framework Overview

  8. Framework Overview • 3rd party modeling software saves 3D scene locally

  9. Framework Overview • Tier 1 GUI imports/exports various 3D file formats • Visualizes revisions and differences • Saves scene components in remote 3D repository

  10. Framework Overview • Domain specific database • Tracks revision history on individual scene nodes • Supports sub-scene retrieval

  11. Framework Overview • Tier 2 GUI (subset of Tier 1 functionality) • Inspects repository, retrieves and visualizes revisions • Does not modify the models nor their history

  12. Framework Features • Support for wide range of assets • Delta changes stored alongside non-linear history • Easy access control and sub-object retrieval • Interactive 3D diff tool • Web interface for repository inspection

  13. 3D Repository (DB) Scene Graph (SG) • Directed Acyclic Graph • SG Node: scene component (binary blob) • Metadata = (ID, R#) • Used by: • [Zeleznik et al. 2000] • [Berthelot et al. 2011] Revision History (RH) • Directed Acyclic Graph • RH Node: revision • Used by: • Git, SVN, Mercurial, ... • [Chen et al. 2011]

  14. Revision History Branch Trunk Rev 0 Rev 8

  15. Revision Management Revision Retrieval • Return all the newest SG nodes for a given revision number Revision Commit • Delta changes as new revisions • Potential conflicts → need conflict resolution Node deletion • Store NULL in the next revision • Recursively check children

  16. 3D Diff and Merge

  17. 3D Diff and Merge • Find corresponding nodes in A, B based on ID • Binary compare for differences

  18. 3D Diff and Merge • Identical nodes → no modification

  19. 3D Diff and Merge • Discrepancies in nodes → conflict • Select A or B or export into 3rd party editor

  20. 3D Diff and Merge • Given AncestorABmore states can be detected

  21. 3D Diff and Merge • Identical nodes → no modification (as before)

  22. 3D Diff and Merge • Some conflicts can now be automatically resolved

  23. Prototype Implementation MongoDB • NoSQL (schemaless) • Geospatial indexing • Data as Binary JSON (BSON) – little-endian serialized C types • UUID as node identifiers • Two collections (one for each DAG – SG and RH)

  24. DAG as Flat Collection •  is a parent-child relationship • V is a logical disjunction

  25. Tier 1 - 3D Revision Control Viewer • Written in C++ and Qt • Open Asset Import Library (Assimp) to handle models • Converts unified scene graph into collection of BSON • Handles all version control logic • Performs visual 3D diff • Exports to common file formats

  26. Tier 1 - 3D Revision Control Viewer

  27. 3D Diff Tool

  28. Tier 2 - 3D Web Client • Driven by JavaScript • MongoDB Java driver loads BSON from DB • WebGL renderer displays in web browsers

  29. Tier 2 - 3D Web Client

  30. Discussion • Interaction via import/export of 3D files • Files now considered only temporary representation • Smallest unit of change is SG node (BSON document) • Each SG node can be 16MB max (automated multiple documents workaround) • Assume the 3D file to preserve metadata • Lack of data validation on insertion

  31. Future Work • Android and Java Webstart Tier 2 viewers • Store other types of data • Locking and hybrid locks with geometric constrains • Search via spatial queries • Integrate into existing industrial pipelines • Open crowd-sourcing of 3D models

  32. Future Work • Possible direct connection from editing software • Hides the revision control layer from the user

  33. Conclusions • Novel approach to storage and revision control of 3D assets • Represented hierarchical scene graphs in DB • Preserved associated revision history • Successfully decoupled modeling from long term storage

  34. Sponsors Arup Foresight • http://driversofchange.com UK Engineering and Physical Sciences Research Council • http://www.epsrc.ac.uk UCL Engineering Doctorate Centre in Virtual Environments, Imaging & Visualisation • http://engdveiv.cs.ucl.ac.uk

  35. http://3DRepo.org

  36. Talk Invitation 3D Diff: An Interactive Approach to Mesh Differencing and Conflict Resolution • Session: Model Stories • Date: Tuesday, 7 August • Time: 2:00PM – 3:30PM • Location: Room 406AB http://3drepo.org

  37. Google Chrome

  38. Materials

  39. King’s Cross

More Related