In some cases, xR experiences may be stored in digital files in various formats. For example, the GL Transmission Format (GLTF) or universal scene descriptor (USD) formats can be used. GLTF is an extensible, common publishing format for 3D content tools and services that streamlines authoring workflows and enables interoperable use of content. USD is an example of a zero-compression, non-encrypted file that stores assets such as textures that enable rendering of objects. The lack of compression allows for “direct” consumption of a file. However, file formats may also provide some mechanism for internal compression.
Pipelines capable of producing computer graphics films and games may generate, store, and transmit great quantities of 3D data, which may be referred to as a “scene description”. Each of many cooperating applications in the pipeline (e.g., modeling, shading, animation, lighting, effects, rendering) may have its own form of scene description tailored to the specific needs and workflows of the application. In some examples, these formats may be unreadable and un-editable by other applications. In other examples, a same format may be used by multiple stages in the pipeline.
In some cases, an xR file may organize data into hierarchical namespaces of primitives (or “prims” for short). In addition to child prims, each prim can contain attributes and relationships, collectively known as properties. Attributes have typed values that can vary over time; Relationships are multi-target “pointers” to other objects in a hierarchy. Targets may be remapped automatically when referencing causes namespaces to change. Both prims and properties can also have (non-time-varying) metadata. Prims and their contents may be organized into a file abstraction known as a layer.