Set up infrastructure for using a template "ass" file and usage of "kick" if specified as part of build options or via an environment variable.
"template" parameters which can be set via "kick" include:
geometry ("ass") file to reference by the procedural to allow for different shaderball geometry
Lat-long IBL environment file (used by skydome)
MaterialX file to used for Arnold operator. Has a "surfacematerial" to assign to the shaderball geometry
Camera to use (to add more, only a perspective camera which fits a unit size geometry is allowed.
Template file uses an Arnold MaterialX shader operator (not a look assignment).
Caveats / Workarounds:
Set the "selection" on the Arnold operator to a fix known expression and make sure that both the procedural and the geometry referenced by the procedural match the expression. ("/*" and "*") are not supported for selection
Make a copy of the original MaterialX file and pre-process it:
To handle lack of support for non-surface material roots, a unlit_surface + surfacematerial are created on the fly and connected to the root.
All image file names are pre-resolved as best as possible to absolute paths and only posix separators (windows separators are not allowed)
Add xml includes to all dependent files loaded in the document in hopes of adding in all definitions
Set the ARNOLD_MATERIALX_DEFINITIONS_PATH on the fly as best as possible before running kick
Set the texture path as best as possible.
Only use "collection" references for "materialassigns" as "geom" references are not supported\
set render option error_color_bad_texture to some color for failed textures. Works around support for missing
texture if unsupported arnold image for skydeom but will handle unsupported / errors on MaterialX image nodes.
More to come...
Left Unresolved (for initial check-in)
Top level "output" support. (unsupported)
nodegraphs with "surfacematerial" nodes (unsupported)
crashes occuring in archviz materials
real world unit handling
colorspace handling
geometry streams (primvars)
geompropvalue (unsupported ?)
color per vertex (need to modify shader ball reference ?)
multiple colorsets and texcoord sets
image nodes (mtlx not arnold) which fail to load will stop rendering (image node found, unsupported codec, colorspace etc)
MaterialX files which appear to render but show up "white" with no error messages so not possible to debug.
Initial results (blue image means render failure). While shader balls mean some kind of failure but there are no errors reported.
Update #980
Setup
Caveats / Workarounds:
error_color_bad_texture
to some color for failed textures. Works around support for missing texture if unsupported arnold image for skydeom but will handle unsupported / errors on MaterialX image nodes.More to come...
Left Unresolved (for initial check-in)
Initial results (blue image means render failure). While shader balls mean some kind of failure but there are no errors reported.
may-18_tests.pdf
Generic OSL baseline results for comparison:
may13_osl_baseline.pdf