PBR Maps

Technical specification of the maps generated by the colormass Scanner.

To better understand the final quality of the maps, download one of the example scans:

Below, you can see the technical specifications demonstrated on the Fabric - Jacquard Woven scan.

Cover
Name

Diffuse

Type

RGB

Colorspace

sRGB (except EXR: linear)

Description

RGB map that can contain two types of data: diffuse reflected color for dielectrics and reflectance values for metals. It is devoid of any lighting information such as ambient occlusion.

Cover
Name

Normal

Type

RGB

Colorspace

linear

Description

A map describing the surface orientation by an RGB encoding. It uses the standard tangent space format, identified by the dominant purple color, corresponding to a vector facing directly away from the surface. Rendering engines differentiate between 2 types of formats: OpenGL (Y+ up) and DirectX (-Y down). We normally provide the OpenGL (Y+ up) format. It can be transformed to DirectX (-Y down) by simply inverting / flipping the green color channel if required.

Cover
Name

Roughness

Type

Grayscale

Colorspace

linear

Description

Describes the surface irregularities that cause light diffusion. Black represents a completely smooth / shiny surface and white represents a completely rough / diffuse surface. In-between grayscale values allow for different roughness values.

Cover
Name

Specular

Type

Grayscale

Colorspace

linear

Description

Describes Fresnel reflectance for dielectric materials. Black represents 0% reflectance and white represents 8% reflectance. Most real-world dielectrics have around 4% reflectance, so the values of this map will mostly be around mid-gray.

Cover
Name

Metalness

Type

Grayscale

Colorspace

linear

Description

Describes which parts of the surface are metallic (represented as white) or non-metallic/dielectric (represented as black). Also grayscale values in-between are possible, representing mixtures of metallic and dielectric surfaces.

Cover
Name

Anisotropy Strength

Type

Grayscale

Colorspace

linear

Description

Describes the strength of the anisotropic highlight. Black represents a completely isotropic surface (circular, directionally independent highlight), white represents a completely anisotropic surface (elongated, directionally dependent highlight). In-between values define different levels of anisotropy.

Cover
Name

Anisotropy Rotation

Type

Grayscale

Colorspace

linear

Description

Describes the orientation of the anisotropic highlight. It uses a clockwise encoding where black represents a 0°, mid-gray represents a 180° and white represents a 360° rotation of the anisotropic highlight.

Cover
Name

Displacement

Type

Grayscale

Colorspace

linear

Description

Describes small-scale geometric detail of the surface. Black represents zero modification, white represents the surface being fully pulled "outwards". In-between values allows different levels of displacement. The (metric) value of how far the surface should be displaced outwards for a white color value is currently not made available and up to artistic control.

Name

Mask/Alpha (optional)

Type

Grayscale

Colorspace

linear

Description

Describes a simplified version of transparency. Black represents a completely transparent region of the surface, where light passes through unperturbed. White represents a (usually opaque) region where the rest of the maps have full influence over the behavior, and no blending occurs. Intermediate values result in a blending between the shaded surface and full transparency.

Name

Transmission (optional)

Type

RGB

Colorspace

sRGB (except EXR: linear)

Description

Describes the amount and color of light transmitted through the surface of a material. When this originates from the colormass scanner, this is assumed to represent diffuse (scattering) transmission. (Since the scanner cannot distinguish between areas that are fully transparent and areas that have very high scattering transmission, this usually needs to be combined with a mask. The mask may be derived from the transmission map by picking a threshold which identifies high-transmission areas as fully transparent.)

Frequently Asked Questions (FAQ)

What is the maximum scan area and resolution?

Please find the scanner specifications here.

Why is there value in the metalness? This looks like a fabric sample.

The maps we provide are parameters according to the standard Disney principled BSDF model that were fitted to the observed images captured under different illumination directions. We optimize for all the channels, even though some samples (materials) do not contain metal or are isotropic in a physical sense. However, the fitted model gets closer to what is being observed in the captured images when these maps are also optimized, as the algorithm has more degrees of freedom to tweak its appearance. Depending on the specific material we could also easily constrain these maps to be zero. However, this would yield a slightly larger fitting error (it is never possible to fit the model to the observations 100%). Our goal is to get as close as possible to the visible/observed appearance of the captured sample.

Normally the primary goal is to obtain the most realistic and accurate scans of real-world materials. This aligns perfectly with our approach. Our fitting process employs all available degrees of freedom (PBR maps) to capture the true essence of each sample.

While we provide individual PBR maps for convenience (easy use in different rendering tools), analyzing them in isolation within a traditional 3D workflow might be misleading. Instead, consider the entire set of maps as a unified entity. You should assess the final, rendered results for a comprehensive understanding of the material's appearance by directly plugging the fitted maps into your shader.

Color accuracy is very important for us. Why do you have lighting/shadows/specular components baked into the diffuse map?

Color accuracy is also one of our top concerns, and we take great care to ensure that we get the best possible data from our scanning system. This is a very deep topic, and there are a huge number of factors to consider when discussing how accuracy is measured and evaluated. Ultimately, what should be judged is the final render, rather than the isolated maps, since there are numerous shading effects that can influence color perception.

Shadows can occur in the diffuse map due to self-occlusions within the 3D structure of the surface. While it may seem strange that these are present in the diffuse/albedo map, they must be accounted for by some parameter in order for the rendered results to match the original sample. In a typical top-down 3D workflow, an artist would have these separated out into different maps for ease of editing, but the final rendered result would be very similar once all the maps are combined in a shader.

Why do you have anisotropy maps for isotropic materials?

Many seemingly isotropic materials are actually anisotropic when viewed at a small enough scale, and our scanner is able to resolve this. When viewed at a distance, the various anisotropies will average out to give the appearance of isotropy. Rather than have special cases for different types of surfaces, we always calculate anisotropy-related parameters, since their inclusion almost always increases the accuracy of the final render. (It should be noted that if a sample has particularly high roughness or low specularity, then high anisotropy values will contribute less of an effect towards the end result. Therefore, a high anisotropy value should not immediately imply that the material is highly anisotropic—it needs to be taken in context with the other parameters.)

Last updated