3D Revision Control Framework

39
Edit this text to create a Heading This subtitle is 20 points Bullets are blue They have 110% line spacing, 2 points before & after Longer bullets in the form of a paragraph are harder to read if there is insufficient line spacing. This is the maximum recommended number of lines per slide (seven). Sub bullets look like this 3D Revision Control Framework Jozef Doboš & Anthony Steed Department of Computer Science University College London August 5, 2012

description

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. - PowerPoint PPT Presentation

Transcript of 3D Revision Control Framework

Page 1: 3D Revision Control Framework

Edit this text to create a Heading

This subtitle is 20 points Bullets are blue They have 110% line spacing, 2 points before & after Longer bullets in the form of a paragraph are harder to

read if there is insufficient line spacing. This is the maximum recommended number of lines per slide (seven). Sub bullets look like this

3D Revision Control FrameworkJozef Doboš & Anthony Steed

Department of Computer ScienceUniversity College London

August 5, 2012

Page 2: 3D Revision Control Framework

Edit this text to create a Heading

This subtitle is 20 points Bullets are blue They have 110% line spacing, 2 points before & after Longer bullets in the form of a paragraph are harder to

read if there is insufficient line spacing. This is the maximum recommended number of lines per slide (seven). Sub bullets look like this

Introduction

3D models grow in complexity

Artists and engineers collaborate asynchronously

File systems poseserious drawbacks

Page 3: 3D Revision Control Framework

Edit this text to create a Heading

This subtitle is 20 points Bullets are blue They have 110% line spacing, 2 points before & after Longer bullets in the form of a paragraph are harder to

read if there is insufficient line spacing. This is the maximum recommended number of lines per slide (seven). Sub bullets look like this

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

Page 4: 3D Revision Control Framework

Edit this text to create a Heading

This subtitle is 20 points Bullets are blue They have 110% line spacing, 2 points before & after Longer bullets in the form of a paragraph are harder to

read if there is insufficient line spacing. This is the maximum recommended number of lines per slide (seven). Sub bullets look like this

Previous Work

Asset management and version control High-end CAD modeling packages:

Bentley Assetvise Dassault Catia

Software engineering: SVN, Git, Perforce... 3ds Max, Blender... + filesystems Locking

Page 5: 3D Revision Control Framework

Edit this text to create a Heading

This subtitle is 20 points Bullets are blue They have 110% line spacing, 2 points before & after Longer bullets in the form of a paragraph are harder to

read if there is insufficient line spacing. This is the maximum recommended number of lines per slide (seven). Sub bullets look like this

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

Page 6: 3D Revision Control Framework

Edit this text to create a Heading

This subtitle is 20 points Bullets are blue They have 110% line spacing, 2 points before & after Longer bullets in the form of a paragraph are harder to

read if there is insufficient line spacing. This is the maximum recommended number of lines per slide (seven). Sub bullets look like this

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

Page 7: 3D Revision Control Framework

Edit this text to create a Heading

This subtitle is 20 points Bullets are blue They have 110% line spacing, 2 points before & after Longer bullets in the form of a paragraph are harder to

read if there is insufficient line spacing. This is the maximum recommended number of lines per slide (seven). Sub bullets look like this

Framework Overview

Page 8: 3D Revision Control Framework

Edit this text to create a Heading

This subtitle is 20 points Bullets are blue They have 110% line spacing, 2 points before & after Longer bullets in the form of a paragraph are harder to

read if there is insufficient line spacing. This is the maximum recommended number of lines per slide (seven). Sub bullets look like this

Framework Overview

3rd party modeling software saves 3D scene locally

Page 9: 3D Revision Control Framework

Edit this text to create a Heading

This subtitle is 20 points Bullets are blue They have 110% line spacing, 2 points before & after Longer bullets in the form of a paragraph are harder to

read if there is insufficient line spacing. This is the maximum recommended number of lines per slide (seven). Sub bullets look like this

Framework Overview

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

Page 10: 3D Revision Control Framework

Edit this text to create a Heading

This subtitle is 20 points Bullets are blue They have 110% line spacing, 2 points before & after Longer bullets in the form of a paragraph are harder to

read if there is insufficient line spacing. This is the maximum recommended number of lines per slide (seven). Sub bullets look like this

Framework Overview

Domain specific database Tracks revision history on individual scene nodes Supports sub-scene retrieval

Page 11: 3D Revision Control Framework

Edit this text to create a Heading

This subtitle is 20 points Bullets are blue They have 110% line spacing, 2 points before & after Longer bullets in the form of a paragraph are harder to

read if there is insufficient line spacing. This is the maximum recommended number of lines per slide (seven). Sub bullets look like this

Framework Overview

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

Page 12: 3D Revision Control Framework

Edit this text to create a Heading

This subtitle is 20 points Bullets are blue They have 110% line spacing, 2 points before & after Longer bullets in the form of a paragraph are harder to

read if there is insufficient line spacing. This is the maximum recommended number of lines per slide (seven). Sub bullets look like this

Framework Features

1. Support for wide range of assets2. Delta changes stored alongside non-linear history3. Easy access control and sub-object retrieval4. Interactive 3D diff tool5. Web interface for repository inspection

Page 13: 3D Revision Control Framework

Edit this text to create a Heading

This subtitle is 20 points Bullets are blue They have 110% line spacing, 2 points before & after Longer bullets in the form of a paragraph are harder to

read if there is insufficient line spacing. This is the maximum recommended number of lines per slide (seven). Sub bullets look like this

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]

Page 14: 3D Revision Control Framework

Edit this text to create a Heading

This subtitle is 20 points Bullets are blue They have 110% line spacing, 2 points before & after Longer bullets in the form of a paragraph are harder to

read if there is insufficient line spacing. This is the maximum recommended number of lines per slide (seven). Sub bullets look like this

Revision History

Rev 0

Branch

Trunk

Rev 8

Page 15: 3D Revision Control Framework

Edit this text to create a Heading

This subtitle is 20 points Bullets are blue They have 110% line spacing, 2 points before & after Longer bullets in the form of a paragraph are harder to

read if there is insufficient line spacing. This is the maximum recommended number of lines per slide (seven). Sub bullets look like this

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

Page 16: 3D Revision Control Framework

Edit this text to create a Heading

This subtitle is 20 points Bullets are blue They have 110% line spacing, 2 points before & after Longer bullets in the form of a paragraph are harder to

read if there is insufficient line spacing. This is the maximum recommended number of lines per slide (seven). Sub bullets look like this

3D Diff and Merge

Page 17: 3D Revision Control Framework

Edit this text to create a Heading

This subtitle is 20 points Bullets are blue They have 110% line spacing, 2 points before & after Longer bullets in the form of a paragraph are harder to

read if there is insufficient line spacing. This is the maximum recommended number of lines per slide (seven). Sub bullets look like this

3D Diff and Merge

Find corresponding nodes in A, B based on ID Binary compare for differences

Page 18: 3D Revision Control Framework

Edit this text to create a Heading

This subtitle is 20 points Bullets are blue They have 110% line spacing, 2 points before & after Longer bullets in the form of a paragraph are harder to

read if there is insufficient line spacing. This is the maximum recommended number of lines per slide (seven). Sub bullets look like this

3D Diff and Merge

Identical nodes → no modification

Page 19: 3D Revision Control Framework

Edit this text to create a Heading

This subtitle is 20 points Bullets are blue They have 110% line spacing, 2 points before & after Longer bullets in the form of a paragraph are harder to

read if there is insufficient line spacing. This is the maximum recommended number of lines per slide (seven). Sub bullets look like this

3D Diff and Merge

Discrepancies in nodes → conflict Select A or B or export into 3rd party editor

Page 20: 3D Revision Control Framework

Edit this text to create a Heading

This subtitle is 20 points Bullets are blue They have 110% line spacing, 2 points before & after Longer bullets in the form of a paragraph are harder to

read if there is insufficient line spacing. This is the maximum recommended number of lines per slide (seven). Sub bullets look like this

3D Diff and Merge

Given AncestorAB more states can be detected

Page 21: 3D Revision Control Framework

Edit this text to create a Heading

This subtitle is 20 points Bullets are blue They have 110% line spacing, 2 points before & after Longer bullets in the form of a paragraph are harder to

read if there is insufficient line spacing. This is the maximum recommended number of lines per slide (seven). Sub bullets look like this

3D Diff and Merge

Identical nodes → no modification (as before)

Page 22: 3D Revision Control Framework

Edit this text to create a Heading

This subtitle is 20 points Bullets are blue They have 110% line spacing, 2 points before & after Longer bullets in the form of a paragraph are harder to

read if there is insufficient line spacing. This is the maximum recommended number of lines per slide (seven). Sub bullets look like this

3D Diff and Merge

Some conflicts can now be automatically resolved

Page 23: 3D Revision Control Framework

Edit this text to create a Heading

This subtitle is 20 points Bullets are blue They have 110% line spacing, 2 points before & after Longer bullets in the form of a paragraph are harder to

read if there is insufficient line spacing. This is the maximum recommended number of lines per slide (seven). Sub bullets look like this

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)

Page 24: 3D Revision Control Framework

Edit this text to create a Heading

This subtitle is 20 points Bullets are blue They have 110% line spacing, 2 points before & after Longer bullets in the form of a paragraph are harder to

read if there is insufficient line spacing. This is the maximum recommended number of lines per slide (seven). Sub bullets look like this

DAG as Flat Collection

is a parent-child relationship V is a logical disjunction

Page 25: 3D Revision Control Framework

Edit this text to create a Heading

This subtitle is 20 points Bullets are blue They have 110% line spacing, 2 points before & after Longer bullets in the form of a paragraph are harder to

read if there is insufficient line spacing. This is the maximum recommended number of lines per slide (seven). Sub bullets look like this

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

Page 26: 3D Revision Control Framework

Edit this text to create a Heading

This subtitle is 20 points Bullets are blue They have 110% line spacing, 2 points before & after Longer bullets in the form of a paragraph are harder to

read if there is insufficient line spacing. This is the maximum recommended number of lines per slide (seven). Sub bullets look like this

Tier 1 - 3D Revision Control Viewer

Page 27: 3D Revision Control Framework

Edit this text to create a Heading

This subtitle is 20 points Bullets are blue They have 110% line spacing, 2 points before & after Longer bullets in the form of a paragraph are harder to

read if there is insufficient line spacing. This is the maximum recommended number of lines per slide (seven). Sub bullets look like this

3D Diff Tool

Page 28: 3D Revision Control Framework

Edit this text to create a Heading

This subtitle is 20 points Bullets are blue They have 110% line spacing, 2 points before & after Longer bullets in the form of a paragraph are harder to

read if there is insufficient line spacing. This is the maximum recommended number of lines per slide (seven). Sub bullets look like this

Tier 2 - 3D Web Client

Driven by JavaScript MongoDB Java driver loads BSON from DB WebGL renderer displays in web browsers

Page 29: 3D Revision Control Framework

Edit this text to create a Heading

This subtitle is 20 points Bullets are blue They have 110% line spacing, 2 points before & after Longer bullets in the form of a paragraph are harder to

read if there is insufficient line spacing. This is the maximum recommended number of lines per slide (seven). Sub bullets look like this

Tier 2 - 3D Web Client

Page 30: 3D Revision Control Framework

Edit this text to create a Heading

This subtitle is 20 points Bullets are blue They have 110% line spacing, 2 points before & after Longer bullets in the form of a paragraph are harder to

read if there is insufficient line spacing. This is the maximum recommended number of lines per slide (seven). Sub bullets look like this

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

Page 31: 3D Revision Control Framework

Edit this text to create a Heading

This subtitle is 20 points Bullets are blue They have 110% line spacing, 2 points before & after Longer bullets in the form of a paragraph are harder to

read if there is insufficient line spacing. This is the maximum recommended number of lines per slide (seven). Sub bullets look like this

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

Page 32: 3D Revision Control Framework

Edit this text to create a Heading

This subtitle is 20 points Bullets are blue They have 110% line spacing, 2 points before & after Longer bullets in the form of a paragraph are harder to

read if there is insufficient line spacing. This is the maximum recommended number of lines per slide (seven). Sub bullets look like this

Future Work

Possible direct connection from editing software Hides the revision control layer from the user

Page 33: 3D Revision Control Framework

Edit this text to create a Heading

This subtitle is 20 points Bullets are blue They have 110% line spacing, 2 points before & after Longer bullets in the form of a paragraph are harder to

read if there is insufficient line spacing. This is the maximum recommended number of lines per slide (seven). Sub bullets look like this

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

Page 34: 3D Revision Control Framework

Edit this text to create a Heading

This subtitle is 20 points Bullets are blue They have 110% line spacing, 2 points before & after Longer bullets in the form of a paragraph are harder to

read if there is insufficient line spacing. This is the maximum recommended number of lines per slide (seven). Sub bullets look like this

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

Page 35: 3D Revision Control Framework

Edit this text to create a Heading

This subtitle is 20 points Bullets are blue They have 110% line spacing, 2 points before & after Longer bullets in the form of a paragraph are harder to

read if there is insufficient line spacing. This is the maximum recommended number of lines per slide (seven). Sub bullets look like this

http://3DRepo.org

Page 36: 3D Revision Control Framework

Edit this text to create a Heading

This subtitle is 20 points Bullets are blue They have 110% line spacing, 2 points before & after Longer bullets in the form of a paragraph are harder to

read if there is insufficient line spacing. This is the maximum recommended number of lines per slide (seven). Sub bullets look like this

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

Page 37: 3D Revision Control Framework

Edit this text to create a Heading

This subtitle is 20 points Bullets are blue They have 110% line spacing, 2 points before & after Longer bullets in the form of a paragraph are harder to

read if there is insufficient line spacing. This is the maximum recommended number of lines per slide (seven). Sub bullets look like this

Google Chrome

Page 38: 3D Revision Control Framework

Edit this text to create a Heading

This subtitle is 20 points Bullets are blue They have 110% line spacing, 2 points before & after Longer bullets in the form of a paragraph are harder to

read if there is insufficient line spacing. This is the maximum recommended number of lines per slide (seven). Sub bullets look like this

Materials

Page 39: 3D Revision Control Framework

Edit this text to create a Heading

This subtitle is 20 points Bullets are blue They have 110% line spacing, 2 points before & after Longer bullets in the form of a paragraph are harder to

read if there is insufficient line spacing. This is the maximum recommended number of lines per slide (seven). Sub bullets look like this

King’s Cross