In a Nutshell

3D Repo is essentially a database schema, a layout and a definition of how a scene graph is organised and queried for individual revisions. The framework consists of several distinct client applications written in multitude of languages that implement the schema and enable version control on many common 3D assets including meshes, materials, textures and the like. The core library, written in C++, supports our cross-platform Qt-based GUI. This currently serves as a testbed for new features and future plug-in development. In addition, we provide Java and JavaScript ports for the purposes of online repository viewers. Finally, a REST API abstracts the underlying encoding from delivery formats and exploits standard HTTP methods.

Completion to RC1

3D Repo Core


3D Repo GUI




3D Repo Java Core


3D Repo Android App


3D Repo Core

A centralised open source 3D repository is built directly atop of a plain vanilla NoSQL database MongoDB. Complex 3D models are decomposed into their constituent parts that act as binary delta changes stored in a non-linear version control system. Unlike the common Undo functionality, with this system it is possible to create branches and merge revisions. Hence, modifications by multiple editors can be applied to the same part of a 3D scene concurrently. Thanks to the full querying potential of a database, it is further possible to retrieve any sub-graphs as well as collections of components by type, date, author and so on. Actually, the repository is oblivious to the data formats, so not only 3D assets but any associated properties can all be stored alongside of geometry. As long as the data is organised in a graph structure the repository can handle it!

Read More

Handcrafted in the United Kingdom

3D Repo GUI

3D Repo GUI is a cross-platform desktop application providing user interface to the 3D Repo Core library. Built-in 3D Diff™ is a visual differencing and merging tool that enables automatic detection and resolution of conflicting edits. In a standard 2-way diff, the differences are detected automatically by noting correspondences and discrepancies between two input models. When the common origin of the models is known, a 3-way diff, further unresolved ambiguities can be fixed automatically. Whatever the scenario, the remaining conflicts are highlighted for manual intervention and are resolved by accepting or rejecting scene graph components internally, or externally in a vertex-level editor. The tool can even distinguish implicit and explicit conflicts depending on whether they are the side effects of the merging process itself. Apart from the 3D Repo framework, the 3D Diff can be also used in conjunction with other version control systems such as SVN and Git.