1 / 52

3D Diff: An Interactive Approach to Mesh Differencing and Conflict Resolution

3D Diff: An Interactive Approach to Mesh Differencing and Conflict Resolution. Jozef Dobo š & Anthony Steed University College London. Case Study. Case Study. Case Study. Case Study. Case Study. Case Study. Case Study. Case Study. Case Study. ?. Case Study.

maya
Download Presentation

3D Diff: An Interactive Approach to Mesh Differencing and Conflict Resolution

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 Diff: An Interactive Approach to Mesh Differencing and Conflict Resolution JozefDoboš & Anthony Steed University College London

  2. Case Study

  3. Case Study

  4. Case Study

  5. Case Study

  6. Case Study

  7. Case Study

  8. Case Study

  9. Case Study

  10. Case Study ?

  11. Case Study

  12. Comparing and merging 3D models is complex and time consuming Popular editing software (Max, Blender) do not aid the merging process Most of the time simply take entire edits Motivation

  13. Connecting software engineering and computer graphics Novel approach to 3D differencing 3D Diff: Automated conflict detection Interactive conflict resolution Contribution

  14. Version Control and Asset Management VisTrails Provenance Explorer for Maya Art Diff for Subversion (abandoned project) CompareVidia WinDiff (text) … Merging surveys [Mens 2002;Altmanninger et al. 2009] Naive as how these represent files and not structure Previous Work

  15. Edit Logging Nonlinear Revision Control for Images [Chen et al. 2011] MeshFlow: Interactive Visualization of Mesh Construction Sequences [Denning et al. 2011] Model Composition Part-Based Representation and Editing of 3D Surface Models [Schmidt 2010] Contextual Part Analogies in 3D Objects [Shapira et al. 2010] Exploring Shape Variations by 3D-Model Decomposition and Part-based Recombination [Jain et al. 2012] Previous Work

  16. Versioning Pessimistic: locking Optimistic: merging Merging support State-based (our focus) Change-based Operation-based Visualization Juxtaposition Superposition Explicit encodings Issues Process of merging changes the problem dynamically Changes have wide spread consequences Observations from Previous Work

  17. Input Two 3D models Optional ancestor Helps to resolved ambiguities Stages 3D differencing 3D merging Output Merged 3D model Or export to mesh-level editor Processing Pipeline

  18. Processing Pipeline

  19. Start from a common 3D model Processing Pipeline

  20. Modify independently in 3D editor Processing Pipeline

  21. Export into files Processing Pipeline

  22. Automatically diff in our tool Processing Pipeline

  23. Optionally add common ancestor Processing Pipeline

  24. Interactively merge Processing Pipeline

  25. Export as a 3D file in scene interchange format Processing Pipeline

  26. Scenes represented as neutral scene graph (DAG - everything a node) Nodes are: transformations, materials, textures… Scene graphs are popular: [Zeleznik et al. 2000] [Berthelot et al. 2011] Scene Graph

  27. Smallest unit of change is a scene node Corresponding nodes have matching UUIDs3D Revision Control Framework [Doboš & Steed 2012] If a node is modified all instances are affected(otherwise modeler would have split already) Graph topologies can be different Assumptions

  28. Seemingly conflicting changes Resolved automatically Direct conflicts Resolved interactively or in 3rd party vertex-level editor Conflict Detection

  29. 2-way Unmodified Added/Deleted Conflicted 3-way Unmodified Added Deleted Deleted/Modified Modified Conflicted Differencing Outcomes per Node

  30. Differencing Outcomes

  31. Differencing Outcomes

  32. Differencing Outcomes

  33. Differencing Outcomes

  34. Differencing Outcomes

  35. Differencing Outcomes

  36. Differencing Outcomes

  37. Differencing Outcomes

  38. C++ and Qt Open Asset Import Library (Assimp) – neutral generic scene graph OpenGL Library Class (GLC lib) Not tied to specific modeling tool Hybrid (juxtaposition + superposition) UI Same UI for 2- and 3-way diff Implementation

  39. GUI

  40. GUI

  41. GUI

  42. GUI

  43. GUI

  44. GUI

  45. Examples

  46. Examples

  47. Working at level of scene graph components Node-to-node correspondence assumed UUID (32 hexadecimal chars) *.blend recently increased char limit from 24 to 64 *.3ds allows 10 chars only Discussion

  48. Correspondence to be resolved Granularity of changes might not fit all projects Vertex-level merging required Infer intentions and indirect conflicts Future Work

  49. Presented novel approach to differencing and merging of 3D models Established suitable unit of change that can be tracked in a 3D version control system Developed UI and visualization strategy Project website: http://3drepo.org Conclusions

More Related