AxF (Appearance eXchange Format)
In simple terms, AxF files host a number of textures extracted by X-Rite’s TAC7 scanner hardware, coupled with metadata that describe additional properties of the material. That means an AxF is more than just texture data: it also carries shading properties.
AxF files are not imported as a package resource. Rather, the import process involves extracting textures and metadata from the AxF file then using those to prepare graphs created from dedicated templates.
The available templates are aimed at two AxF workflows:
- Converting an SVBRDF material in an AxF file into a PBR material;
- Editing an SVBRDF material in place and exporting it to an existing AxF file as a new layer.
Importing AxF files
The AxF files import workflow may be started from on of the two methods below:
Click on the Import AxF… button in the Home screen’s left section.
Click RMB on a package in the Explorer, and go to Import > AxF in the package’s contextual menu.
Import dialog
The AxF import dialog lets you review the data loaded from the selected AxF file, and setup the graph templates required for performing the intended edits or conversions.
It features four sections:
The Header displays the name of the material detected in the AxF file, as well as its representation (currently, always SVBRDF). The preview thumbnail embedded into the file is also displayed.
The Templates section lets you set up the Substance graph and MDL graph templates to get started with working on the material. See the Graph templates section below to learn more about these templates and setting them up.
Textures lists all textures extracted from the AxF file involved in the detected material. For each texture, their name, native resolution, data format and physical size are displayed.
Metadata and Properties list data extracted from the material in the AxF file. These have an impact on how some Substance graph templates properties are configured (see Graph templates section below).
Result
After clicking the OK button, a package is created in the Explorer. The package includes the following resources:
Graph templates
Exporting AxF files
Existing AxF files can be edited in place from Designer, their resources are updated using the outputs of a Substance graph.
With the ability to export graph outputs to AxF files, a typical AxF workflow in Designer may look like this:
- Import AxF file
- Use ‘AxF to AxF’ Substance graph template
- Edit the extracted textures using the features and nodes available in Substance graphs
- Export the graph outputs to the same AxF file
The graph’s Physical Size property is used to set the Physical Size attribute of the updated textures in the edited AxF file.
The dialog features three main sections:
The File input field lets you select the target AxF file which should be edited. That file is loaded and checked, then if valid its data is used to populate the ‘AxF resource’ columns below.
Mapped outputs lists the graph outputs in the Output column, and matches their usage with an AxF resource in the target file that shares the same identifier. If any issues are detected, they are displayed as a warning (yellow) or error (ref) in the Notes column.
Unmapped outputs lists graph outputs and AxF resources in the target file that could not be mapped. These outputs are ignored and these AxF resources are unchanged.
Click Start export to edit the target AxF file with the new layer containing the changes in the mapped outputs.
The result is displayed as a message next to the progress bar in the dialog’s status bar.
Mapping outputs to AxF resources
When exporting to an existing AxF file, its resources are updated using the graph outputs. Designer matches the resource identifier to the Output nodes which have that same identifier as a Usage.
Additionally, the Output’s Group property must be set to ‘AxF’ for it to be listed in the AxF export dialog (see above).
Resources can be textures (I.e. bitmaps) or uniforms (I.e. values) with a specific number of channels. It is compulsory that the graph output matches that number of channels exactly. If that is not the case, an error will be raised for that resource during the export, and the resource will be unchanged.
The number of channels is specified differently depending on the type of data supplied to the Output node:
- Bitmap (Texture): The Components property is used to specify the number of channels, where R is one channel, RG is two channels, and so on. The property is used to let Designer know which of the color bitmap’s RGBA channels should be encoded into the resource.
- Value (Uniform): The number of components of the vector value is used to specify the number of channels, where Float is one channel, Float2 is two channels, and so on.
If the imported AxF file uses more than one channel in its Specular Lobe resource, please set the Output’s Components property accordingly.
Viewing AxF files in the 3D View
The method to render AxF SVBRDF materials in the 3D View depends on the import setup.
If you wish to convert an SVBRDF material in an AxF file into a standard PBR material, then your import setup will likely involve MDL graph and Substance graph conversion templates (see Graph templates section above).
In that case, the MDL graph should be dragged and dropped into the 3D View before any other operation, in order to automatically switch to the Iray renderer and use that MDL graph as material definition.
Then, you may drag and drop the Substance graph that you set up in the import dialog, in order to connect its outputs to the MDL shader.
If no MDL graph templates were used and only the AxF to AxF Substance graph template was required because your goal is to perform edits on an existing AxF file, then follow the instructions below to visualise its SVBRDF material according to the selected renderer:
A dedicated GLSLFX shader is available for visualizing materials using an SVBRDF representation from an AxF file: AxF SVBRDF.
The shader is available in the Materials menu : open the submenu for the scene’s material (‘Default’ by default) and select any technique under the AxF SVBRDF entry.
Use the Edit option in the same submenu to display the shader’s properties in the Properties dock.
In particular, the Tiling property lets you adjust the tiling of textures on the model, so you can visualize the material at an appropriate scale.
After selecting the shader, click RMB in empty space in the graph and select the View outputs in 3D View option to visualise its outputs in the 3D View.
This shader is less accurate than its Iray counterpart, and is currently a work in progress and some features are still unsupported. Therefore, while it can provide an overview of the materials’ characteristics, it should not be used for fine adjustments .
Please switch to the Iray renderer and use the svbrdf MDL shader for a more accurate visualization.
A dedicated MDL shader is available for visualizing materials using an SVBRDF representation from an AxF file: svbrdf.
The shader is available in the Materials menu : open the submenu for the scene’s material (‘Default’ by default) and select the svbrdf MDL shader under the mdl::materials entry.
Use the Edit option in the same submenu to display the shader’s properties in the Properties dock.
In particular, the Tiling property lets you adjust the tiling of textures on the model, so you can visualize the material at an appropriate scale.
After selecting the shader, click RMB in empty space in the graph and select the View outputs in 3D View option to visualise its outputs in the 3D View.
This shader is more accurate than its OpenGL counterpart. It uses the Iray renderer, thus you need to switch to this renderer by going to Renderer > Iray, before the shader can be accessed in the Materials menu.
Supported model variants
The shaders used in the 3D View support the following variants for specular, Fresnel and clear coat transmission models: