- Substance 3D home
- User guide
- Glossary
- Getting started
- Interface
- Interface
- Customizing your workspace
- Home screen
- Main toolbar
- Preferences
- Explorer
- Graph view
- Library
- Properties
- 2D view
- 3D view
- Dependency manager
- Resources
- Resources
- Importing, linking and new resources
- Bitmap resource
- Vector graphics (SVG) resource
- 3D scene resource
- AxF (Appearance eXchange Format)
- Font resource
- Warnings from dependencies
- Substance graphs
- Substance graphs
- Substance graph key concepts
- Creating a Substance graph
- Exposing a parameter
- Graph parameters
- Inheritance in Substance graphs
- Output size
- Values in Substance graphs
- Publishing Substance 3D asset files (SBSAR)
- Exporting bitmaps
- Exporting PSD files
- Sample Substance graphs
- Warnings in Substance graphs
- Nodes reference for Substance graphs
- Nodes reference for Substance graphs
- Atomic nodes
- Node library
- Node library
- Texture generators
- Texture generators
- Noises
- Noises
- 3D Perlin noise
- 3D Perlin noise fractal
- 3D Ridged noise fractal
- 3D Simplex noise
- 3D Voronoi
- 3D Voronoi fractal
- 3D Worley noise
- Anisotropic noise
- Blue noise fast
- BnW spots 1
- BnW spots 2
- BnW spots 3
- Cells 1
- Cells 2
- Cells 3
- Cells 4
- Clouds 1
- Clouds 2
- Clouds 3
- Creased
- Crystal 1
- Crystal 2
- Directional noise 1
- Directional noise 2
- Directional noise 3
- Directional noise 4
- Directional scratches
- Dirt 1
- Dirt 2
- Dirt 3
- Dirt 4
- Dirt 5
- Dirt gradient
- Fluid
- Fractal sum 1
- Fractal sum 2
- Fractal sum 3
- Fractal sum 4
- Fractal sum base
- Fur 1
- Fur 2
- Fur 3
- Gaussian noise
- Gaussian spots 1
- Gaussian spots 2
- Grunge concrete
- Grunge Damas
- Grunge galvanic large
- Grunge galvanic small
- Grunge leaks
- Grunge leaky paint
- Grunge map 001
- Grunge map 002
- Grunge map 003
- Grunge map 004
- Grunge map 005
- Grunge map 006
- Grunge map 007
- Grunge map 008
- Grunge map 009
- Grunge map 010
- Grunge map 011
- Grunge map 012
- Grunge map 013
- Grunge map 014
- Grunge map 015
- Grunge rough dirty
- Grunge rust fine
- Grunge scratches dirty
- Grunge scratches fine
- Grunge scratches rough
- Grunge shavings
- Grunge splashes dusty
- Grunge spots
- Grunge spots dirty
- Liquid
- Messy fibers 1
- Messy fibers 2
- Messy fibers 3
- Microscope view
- Moisture noise
- Perlin noise
- Plasma
- Caustics
- Voronoi
- Voronoi fractal
- Waveform 1
- White noise
- White noise fast
- Patterns
- Patterns
- 3D linear gradient
- 3D volume mask
- Alveolus
- Arc pavement
- Brick 1
- Brick 2
- Brick generator
- Checker 1
- Cube 3D
- Cube 3D GBuffers
- Fibers 1
- Fibers 2
- Gaussian 1
- Gaussian 2
- Gradient axial
- Gradient axial reflected
- Gradient circular
- Gradient linear 1
- Gradient linear 2
- Gradient linear 3
- Gradient radial
- Height extrude
- Mesh 1
- Mesh 2
- Panorama shape
- Polygon 1
- Polygon 2
- Scratches generator
- Shape
- Shape extrude
- Shape mapper
- Shape splatter
- Shape splatter blend
- Shape splatter data extract
- Shape splatter to mask
- Splatter
- Splatter circular
- Star
- Starburst
- Stripes
- Tile generator
- Tile random
- Tile random 2
- Tile sampler
- Triangle grid
- Weave 1
- Weave 2
- Weave generator
- Filters
- Filters
- Adjustments
- Adjustments
- Apply color palette
- Auto levels
- Channel mixer
- Chrominance extract
- Clamp
- Color match
- Color to mask
- Contrast/Luminosity
- Convert to linear
- Convert to sRGB
- Create color palette (16)
- Grayscale conversion advanced
- Hald CLUT
- HDR range viewer
- Height map frequencies mapper
- Highpass
- Histogram compute
- Histogram equalize
- Histogram range
- Histogram render
- Histogram scan
- Non-uniform histogram scan
- Histogram select
- Histogram shift
- ID to mask grayscale
- Invert
- Lighting cancel high frequencies
- Lighting cancel low frequencies
- Luminance highpass
- Min max
- Modify color palette
- Pow
- Quantize color (Simple)
- Quantize color
- Quantize grayscale
- Replace color
- Replace color range
- Threshold
- View color palette
- Blending
- Blurs
- Channels
- Effects
- Effects
- 3D texture position
- 3D texture SDF
- 3D texture surface render
- 3D texture volume render
- Ambient occlusion (HBAO)
- Ambient occlusion (RTAO)
- Anisotropic Kuwahara color
- Anisotropic Kuwahara grayscale
- Bevel
- Bevel smooth
- Cross section
- Curvature
- Curvature smooth
- Curvature sobel
- Diffusion color
- Diffusion grayscale
- Diffusion UV
- Directional distance
- Edge detect
- Emboss with gloss
- Extend shape
- Flood fill
- Flood fill mapper
- Flood fill to Bbox size
- Flood Fill to gradient
- Flood Fill to grayscale/color
- Flood Fill to index
- Flood Fill to position
- Flood Fill to random color
- Flood Fill to random grayscale
- FXAA
- Glow
- Mosaic
- Multi directional warp
- Non-uniform directional warp
- Reaction diffusion fast
- RT irradiance
- RT shadow
- Shadows
- Shape drop shadow
- Shape glow
- Shape stroke
- Summed area table
- Swirl
- Uber emboss
- Vector morph
- Vector warp
- Normal map
- Tiling
- Transforms
- Material filters
- Material filters
- 1-click
- Effects (Material)
- Transforms (Material)
- Blending (Material)
- PBR utilities
- Scan processing
- Mesh-based generators
- Mesh-based generators
- Mask generators
- Weathering
- Utilities (Mesh-based generators)
- Spline & Path tools
- Spline & Path tools
- Working with Path & Spline tools
- Path tools
- Spline tools
- Spline tools
- Paths to Spline
- Point list
- Scatter on Spline color
- Scatter on Spline grayscale
- Spline 2D transform
- Spline (Cubic)
- Spline (Poly quadratic)
- Spline append
- Spline bridge (2 Splines)
- Spline bridge (List)
- Spline bridge mapper color
- Spline bridge mapper grayscale
- Spline circle
- Spline fill
- Spline flow mapper
- Spline mapper color
- Spline mapper grayscale
- Spline merge list
- Spline render
- Spline sample height
- Spline sample thickness
- Spline select
- Spline warp
- UV mapper color
- UV mapper grayscale
- 3D view (Library)
- 3D view (Library)
- HDRI tools
- Node library
- Substance function graphs
- Substance function graphs
- What is a Substance function graph?
- Create and edit a Substance function graph
- The Substance function graph
- Variables
- FX-maps
- FX-Maps
- How it works
- The Iterate node
- The Quadrant node
- Using Substance function graphs in FX-Maps
- Warnings in Substance function graphs
- Sample Substance function graphs
- Nodes reference for Substance function graphs
- MDL graphs
- Bakers
- Best practices
- Pipeline and project configuration
- Color management
- Package metadata
- Scripting
- Scripting
- Plugin basics
- Plugin search paths
- Plugins packages
- Plugin manager
- Python editor
- Accessing graphs and selections
- Nodes and properties
- Undo and redo
- Application callbacks
- Creating user interface elements
- Adding actions to the Explorer toolbar
- Using color management
- Using spot colors
- Logging
- Using threads
- Debugging plugins using Visual Studio Code
- Porting previous plugins
- Packaging plugins
- Scripting API reference
- Technical issues
- Release notes
Learn about terms and concepts used in Designer.
A collection of objects and data involved in representing and animating a visualisation of 3D space: Popular file formats to store 3D scenes include Pixar's USD and Autodesk's FBX. All file formats do not support all these components |
The fourth channel of a color image, often used to describe opacity. |
|
The attenuation of ambient light on surfaces that are less exposed and therefore harder to reach. |
|
The property of being dependent on direction. In other words, providing a different result when measured or observed on a different axis.
Anisotropic materials have a different look depending where they are looked from, and anisotropic filters are not applied uniformally in all directions. |
|
An Application Programming Interface (API) is a collection of functions and procedures which lets users access the functions and procedures of another application of program.
An API provides a controlled and secure layer between the user and a program. It may also use another programming language to make that program easier to interact and more widely accessible.
Designer offers a Python API which provides easy access to a wide range of its capabilities for manipulating data, building custom tools and accelerating workflows. |
|
The fundamental building blocks of graphs. All instance nodes can be broken down into graphs of atomic nodes. Each graph type has its own set of atomic nodes. |
A parameter common to all nodes in a Substance graph that compute a bitmap.
These include core aspects of the bitmap, such as its resolution (Output size) and bit depth (Output format), or how the bitmap is computed such as tiling mode.
Base parameters are often inherited from other nodes upstream or the graph hosting the node. |
|
An interpolation process used in computer imaging when a texture sample is not performed exactly at the center of a pixel.
For instance, this may occur when an image is enlarged. |
|
The number of bits used to store the value of a pixel in a texture. Higher bit depths allow more values to be encoded, resulting in smoother gradients.
Different bit depths are available depending on the type of the value: - Integer values can be encoded using 8 bits (0 to 255) or 16 bits (0 to 65,535). - Floating point values can be encoded using 16 bits (+32767.9999 to -32768.0
Low dynamic range images use integer values to encode steps from 0 to 1. High dynamic range images use floating point values to encode raw numerical values.
In Substance graphs, bit depth is controlled by the Output Format parameter. |
|
A digital image. Two types of images are most common:
Bitmaps may be thought of as grids of values. Each cell of that grid is a pixel, which is short for 'picture element'. A pixel stores one value per channel. The type of that value depends on the bit depth of the bitmap. |
A collection of data – E.g. node's base parameters and output images – stored in memory to be reused.
Cache greatly speeds up graph computations by letting the Substance Engine only recompute the parts of a graph that have changed. When tweaking node connections and parameters, all the nodes that precede it are not impacted by those changes, thus do not need to be evaluated again to update the graph. Their cache is used instead.
The cache can have a significant memory footprint when working with high resolutions and bitdepths in large graphs. |
|
A definition of how a range of colors is represented. Digitally encoding and decoding a specific color requires such a definition to make sense of the numbers used.
An image file stores color values using a specified color space, so that these colors can be reproduced faithfully on a display that supports that color space. A display has specific color reproduction capabilities that allow it to fully or partially support a given color space.
Raw data – E.g. a normal map – is always encoded and decoded in a Linear color space because these colors are not meant to be visualised and no transformations should be applied to that data.
sRGB is a widely supported color space. Others popular color spaces include Adobe RGB, Rec. 2100 and ProPhoto RGB. |
|
The process of translating data into another language so it can be executed quickly and efficently. Computing the result of a Substance graph requires compiling it first. Compilation is part of the graph evaluation process.
This compilation is performed on a flattened graph, which means all instance nodes are 'replaced' by their source graphs so that one larger graph remains, and that graph is what is compiled.
A compiled graph is not editable. Exposed parameter remain available if they are dynamic, while static parameters are locked and hidden. |
A file A that is used by another file B in such a way that file B does not work as intended when file A is missing.
A dependency of a package can be another package because it references a graph inside it, an image file, a font, etc.
A package stores the path to its dependency, and a warning is raised if the dependency cannot be found at that path. Missing dependencies can also result in ghost instance nodes in a graph. |
|
A channel of a material defined using the PBR Specular Glossiness shading model. Diffuse specifies the color of a surface when lit.
It should not be confused with Base color (Albedo). |
|
A collection of APIs for handling multimedia content. Its 3D API, Direct3D, is widely used in video game development and other 3D industries.
Direct3D places the origin of a texture – I.e., its (0, 0) coordinate – at the top left, (Y-down) whereas the OpenGL API places it at the bottom left (Y-up).
This means a DirectX normal map has an inverted green channel compared to OpenGL. Indeed, the green channel hosts the normal vectors' Y-coordinate. |
|
The process of moving the vertices of a 3D model, often along their normal.
Displacement is often used in combination with tessellation and normal maps to model finer detail on a surface. |
|
A parameter which value may change. In other words, any parameter which value is not constant is dynamic.
This includes exposed parameters, any parameters impacted by an exposed parameter, and any parameter value that is impacted by sampling in a texture.
Contrarily to static parameters, the value of dynamic parameters can be adjusted on the fly after the graph is compiled into an SBSAR file. |
The process of resolving the propagation of data and parameters in the graph. Evaluation verifies the validity of a graph and its connections, applies inheritance, and cooks the graph.
In the Graph View, a connection is represented with a dotted line when it is not evaluated. Evaluation turns connection into solid lines.
Every time a parameter is adjusted in a graph, the node hosting this parameter and all nodes downstream are invalidated and need to be re-evaluated before being rendered. |
An instance node referencing a subgraph that cannot be found – I.e., a missing dependency – is loaded as a ghost instance node.
Ghost instance nodes are restored to their expected state by resolving the missing dependency and reloading the package. |
|
A channel of a material defined using the PBR Specular Glossiness shading model. Glossiness specifies the rugosity of a surface – I.e. microscopic variations of height, also called microfacets.
High glossiness results in a smooth look, while low glossiness results in a rough, matte look.
It is the inverse of Roughness. |
In the context of an image, a histogram represents the population of the values in a give range – often [0, 1].
This population is visualized using vertical bars where a value more present in the image results in a higher bar for that value. The bars are distributed horizontally from low values (dark) to high values (bright).
Histograms of color images usually overlap the histograms of each of their channels – typically R, G, B. |
In the context of Substance graphs, inheritance describes the property of nodes acquiring parameter values from their upstream nodes, or their parent graph.
Inherited parameters include resolution (Output size), bitdepth (Output format) and tiling mode.
Learn more about inheritance in this dedicated page. |
|
An instance node represents a graph A into another graph B. In that case, graph A may be called a subgraph of graph B. Any change in graph A is propagated to all instance nodes that represent it.
The instance node applies its own set of values for the input parameters of graph A in the context of graph B. In that sense, graph B can host multiple instance node that all reference graph A, but each pass different values or textures as inputs into graph A.
All nodes in Designer's Library that are not atomic nodes are instance nodes. |
|
The collection of properties and behaviours of matter in space, which includes surfaces and volumes. The appearance of an entity in 3D space is defined by its material.
Materials may be defined in various ways, and all definitions do not support all properties such as refraction, anisotropy or sheen. A shader is a particular implementation of a material definition.
Important: The term 'material' is an umbrella term used to refer to various things, including: |
|
An 3D object made of vertices connected by edges to form polygons – such as triangles – which in turn are assembled into surfaces. These surfaces may be open or closed.
The appearance of these surfaces is defined by the material assigned to them. The level of detail of a mesh is also highly dependent on its polycount. |
|
Data that provides information about the file itself, its environment or anything related to the file's data.
Common metadata include the file's author, creation and modification dates, copyright and cover art.
In Designer, the contents of a package can also have metadata. For instance, a Substance graph generating a fabric material may have metadata for the fabric's physical properties. |
|
A smaller version of a texture, often automatically-computed.
A texture can have a pyramid of smaller versions of itself, which are interchangeable at runtime so that the most appropriate size is used for optimal quality and performance.
For instance, a texture with high-frequency detail displayed at a smaller size will likely produce moiré artifacts. Additionally, a larger texture likely involves more texture samples.
The term 'mipmap' originates from the MIP mapping technique, where MIP stands for the latin 'multum in parvo', which means 'many things in a small place'. |
Object in a graph that performs computations and outputs one or more results.
The result is controlled using input parameters. These parameters can be listed as controls in the Properties dock, or as input connectors on the node itself.
There are two main categories of nodes: atomic nodes and instance nodes. |
|
A non-figurative image representing a random or pseudo-random distribution of shapes and colors. Noises are often used to add variation to surfaces or deformations.
Designer's node library includes a large collection of noise generators, such as BnW Spots, Clouds, Perlin noise or Voronoi. |
|
In 3D computing, the normal of a surface is a normalized vector perpendicular to that surface going from that surface outward.
This vector represents the orientation of a surface in 3D space and is used for shading that surface according to the scene's lights and camera perspective.
A normal map texture can be applied to a surface to modify its normals and add detail. |
|
A texture applied on a surface to modify its normals.
It is most often used to fake details that would be inefficient to include in a model's geometry. Using such a map allows to have per-texel normals in addition to per-vertex normals, resulting in more surface information and thus more surface detail.
The X, Y and Z coordinates of the normal vectors are encoded into the map's red, green and blue channels respectively. Depending on the targeted graphics API (DirectX or OpenGL), the green channel may be inverted. |
|
The process of remapping a range of values to the [0, 1] range, where the highest input value is remapped to 1.0 and the lowest input value is remapped to 0.0.
For vectors, normalization is adjusting the vector's length (or 'magnitude') to a value of 1.0. |
A 3D graphics API widely used in video game development and other 3D industries.
OpenGL places the origin of a texture – I.e., its (0, 0) coordinate – at the bottom left, (Y-up) whereas the DirectX API places it at the top left (Y-down).
This means an OpenGL normal map has an inverted green channel compared to DirectX. Indeed, the green channel hosts the normal vectors' Y-coordinate. |
|
See USD. |
|
Base parameter of nodes in a Substance graph that describes the node's bit depth. |
|
Base parameter of nodes in a Substance graph that describes the node's resolution.
Learn more about Output size in this dedicated page. |
A Substance 3D file (SBS) is called a package, in the sense that it is a container for resources: graphs, bitmaps, 3D scenes, etc.
A package also stores paths to its dependencies as well as metadata. |
|
An image which should be used as a model or reference for producing another image.
In most cases, a pattern is an image meant to be repeated (E.g., tiled, scattered randomly or arranged according to some set of rules). |
|
This base parameter controls the compensation of the image's aspect ratio at the pixel level. In other words: whether the pixel size should be compensated to conserve a square ratio in a non-square image.
The parameter is used by non-local filters – I.e., filters which use the values of neighbouring pixels to compute the value of a pixel. |
|
This base parameter defines the horizontal and vertical size of a pixel.
It acts as multiplier for non-local filters – I.e., filters which use the values of neighbouring pixels to compute the value of a pixel. |
|
The amout of polygons of a 3D mesh. Indeed, polycount is short for 'polygon count'.
More polygons can model finer detail. Meshes with a low polycount are called 'low-poly', while higher polycounts are called 'high-poly'. |
|
The chacteristic of an piece of data or artifact to be created by following a computer algorithm, rather than manually.
Designer uses a procedural workflow where the algorithm is designed as a node graph.
Procedural workflows allow for faster iterations because variations and adjustments can be quickly generated by modifying the algorithm and its parameters.
When the result is entirely produced by the algorithm, that result is colloquially referred to as being '100% procedural'. Procedural generation is sometimes shortened to 'proc-gen'.
Most generators in Designer's node library are 100% procedural in that they require no input image to produce a result. |
|
In Designer, publishing refers to exporting a package as an SBSAR archive file which includes compiled versions of the graphs, their resources (bitmaps, fonts, etc.), their presets as well as their metadata.
The resulting SBSAR file may then be distributed and used in other Substance 3D applications or third-party applications through a Substance 3D plugin. |
A program which processes 3D information such as lights, meshes, and materials to create 2D images. |
|
The process of computing an image according to input data, using a program such as a renderer. |
|
The amount of pixels horizontally and vertically that form a bitmap. More pixels allow for representing finer detail.
In Substance graphs, the resolution of a bitmap computed by a node is controlled by the node's 'Output size' base parameter. |
|
A channel of a material defined using the PBR Metallic Roughness shading model. Roughness specifies the rugosity of a surface – I.e. microscopic variations of height, also called microfacets.
High roughness results in a matte look, while low roughness results in a smooth, glossy look.
It is the inverse of Glossiness. |
Sampling (Sample) |
|
SBSAR stands for 'SuBStance 3D ARchive'. This archive file is used to store compiled Substance 3D Designer graphs and the resources they require (bitmaps, fonts, etc.).
SBSAR is the main file format used to distribute Substance graphs that are ready to be consumed by other Substance 3D applications and Substance 3D plugins.
Since the graphs stored in SBSAR files are compiled, they cannot be loaded and edited in Substance 3D Designer. SBSAR files may however be opened using 7Zip to retrieve their parameters, presets and metadata in an embedded XML file. |
|
Program that computes the appearance of a surface or volume according to its material properties, the light it receives and where it is being viewed from. A shader is a particular implementation of a material definition.
Textures may be provided to a shader to drive its behaviour. Raw values may also be used. In the 3D view, go to the 'Materials' menu to see which shader is being used by a material in the current scene. The menu also lets you access the shader properties and which textures and values are currently being used by the shader.
'Shader' is sometimes used interchangeably with 'Material'. |
|
The shine or luster aspect of a fabric.
This term is widely used in the textile industry to describe a reflective property which adds a subtle colored brightness. |
|
Generally, a curve modelled using a mathematical function, which allows for clean and smooth shapes to be drawn at any resolution. Designer uses a lossy approximation encoded in a texture using a custom data format.
Splines offer intuitive controls for length and trajectory, include other data such as thickness and height, and provide easy access to distance and direction at any point along them.
These qualities make them a powerful tool for drawing and texturing. |
|
A parameter which value may not change.
Contrarily to dynamic parameters, static parameters cannot be changed on the fly when the graph is compiled into an SBSAR file. They can be exposed and modified in Designer only as the graph is being authored.
Preview Mode will hide these parameters in some cases, since it aims to match the behaviour of published SBSAR files as closely as possible.
A list of static parameters is available here. |
|
A graph used in another graph as an instance node. |
|
A proprietary technology developed by the Substance 3D team, in charge of computing images by performing a high amount of transformations, effects and compositing of input images, very efficiently.
The Substance Engine implements and computes Designer's atomic nodes.
The engine is implemented through different backends, according to the platform it runs on: CPU, GPU and operating system. In Designer, the backends can be switched by going to Tools > Switch engine.
Some backends offer significantly better performance than others – E.g., GPU backend is much faster than CPU – and the results may be slightly different across backends. |
|
A graph that outputs one or more bitmaps.
A Substance graph may be used for various purproses: - Generate noises, patterns or raw data, as a generator. |
In computer graphics, tessellation is the process of subdividing a surface into more polygons, often triangles.
This process can be performed at runtime to dynamically increase the amount of polygons of a 3D model, often in combination with displacement and normal maps to model finer detail using the added polygons. |
|
The information unit of a texture, similarly to how a pixel is the information unit of an picture. |
|
An image used to represent graphics, describe the material properties of a surface by providing values to a shader, and encode raw data in its texels.
Textures are objects that can be decompressed and manipulated very efficiently by GPUs. In most cases, this efficiency requires textures to use power of two resolutions — E.g., 1024x1024, 4096x4096, 512x256, etc. |
|
Acquiring the value of a texture at a specific location.
Some algorithms require many samples to be performed for comparing values, averaging them, or other operations.
If a sample is not performed at exactly the center of a pixel, there are two options in Designer for the value which should be acquired:
|
|
In Substance graphs, a Usage is an attribute of an Output node used to let the application know how to connect a texture to the shader in the 3D view.
When applying a Substance graph to the 3D view, all the outputs are connected to the shader based on matching usages. I.e., 'basecolor' to 'basecolor', 'roughness' to 'roughness', and so on.
Usages are also used to match connectors when using the 'Material' and 'Compact Material' link creation modes. |
|
A standard for splitting the UV space into tiles with a unique numeric identifier, which lets one assign a different texture to each tile.
UDIM workflows are commonplace in VFX pipelines, where high-fidelity assets require so much detail that multiple high-resolution textures are required. In that case, the asset's UVs are arranged across multiple UDIM (or UV tiles).
Designer supports UDIM workflows and can assign a different Substance graph per UDIM. |
|
The Universal Scene Description (USD) is 3D scene description format built by Pixar, built for interoperability and data exchange across applications and platforms.
USD files include the definition of data used in a scene, as well as the composition of that scene and all it involves: models, materials, cameras, animations, simulations, etc.
A USD file may include any type of data, provided that the application has access to the USD plugin which lets it read and use that data correctly.
Adobe is involved in the Alliance for OpenUSD, a consortium of 3D industry actors which actively contribute to the development and standardization of the format. |
|
UVs are a representation of a 3D model in 2D space. They are used to map 2D images from 2D space onto the surface of the model in 3D space.
The process of creating UVs is often described as cutting seams into the model to unfold and flatten it. |
The eXtensible Markup Language (XML) is a format for storing data in a human-readable format.
Similarly to HTML, data defined using tags (<>) and values are enclosed within tags. E.g.: <format>jpg</format>
The SBS file format uses XML to arrange and store its data. |