The following are a set of plugins available for usage with the editor.
The currently supported MaterialX version for QuiltiX v0.6.1
is 1.38.9
. When 1.39
support is available no changes should be required except that a different version of the dependent packages will be required.
In the documentation, we will show installation of the PyPi packages for 1.38.9
.
The following is a sample video showing the JSON and glTF plugins (described below) running in QuiltiX v0.6.1
:
API documentation for all plug-ins can be found here
QuiltiX will search for any plugins as defined by the paths in the QUILTIX_PLUGIN_PATH
environment variable.
For each plugin an additional path should be added to the folder containing
the plugin.py
which is the main entry point for the plugin.
export QUILTIX_PLUGIN_PATH=$QUILTIX_PLUGIN_PATH:/path/to/<plugin folder>
This plugin allows for serialization of any MaterialX document to and from
JSON
format for those that wish to interchange using that format as
opposed the default XML
format
Below shows the JSON representation of the Emerald Peaks Wallpaper from the AMD GPUOpen materials library:
Download the plugin and place it in the uniquely named plugin folder using the filename plugin.py
Update the QUILTIX_PLUGIN_PATH
to point to that folder.
Install the dependent package
from PyPi
as follows:
bash
pip install materialxjson==1.38.9
Note that a version of this this is included as a sample plugin under the sample_plugins folder.
This plugin allows for serialization of node graphs to and from glTF.
The current supported MaterialX version for QuiltiX
which is 1.38.9
. When 1.39
support is available no changes should be required.
The supported glTF version is 2.0
.
Download the plugin and place it in the uniquely named plugin folder using the filename plugin.py
Update the QUILTIX_PLUGIN_PATH
to point to that folder.
Install the dependent package
from PyPi
as follows:
bash
pip install materialxgltf==1.38.9.1
The following functionality is supported - Translations of non-glTF MaterialX shaders to glTF shaders - Baking of upstream graph channels - Creation of glb (binary) or glTF (json) files - glb files embed default geometry and any baked textures - glTF file reference external geometry and textures
The folowing is not currently supported: - Saving of material assignments made in QuiltiX, as the application does not same this information when saving to MaterialX. - Saving without baking upstream graph channels when shader translation is required. (glTF 2.0 does not support procedural graphs at time of writing)
The following functionality is supported: - Import of ASCII glTF files to MaterialX.
The following functionality is supported: - Preview of node graph as glTF text (JSON) - Preview of a glTF file in a glTF Viewer panel which is included with the plugin.
Below is a simple graph with a procedural checker which has been baked and
embedded into a glTF binary file (glb
) and loaded into the glTF Viewer (on the left0). The contents of the ASCII version of
the result is shown (on the right).
The following are some examples of loading in some files
from the glTF Sample Models repository. The "Damaged Helmet" model (after conversion to MaterialX) is is shown in the MaterialXView
viewer for comparison.