By Adam Martinez & Derek Haase
Because MX shaders come in a huge variety of flavors for every type, the
bulk of the shader logic is in "template" files such as
src/shaders/MaterialX/mx_add.mx.
The build system will compile this several times, once for each type,
using preprocessor tricks to specialize the types, resulting in a
collection of type-specific shaders:
dist/macosx/shaders/MaterialX/mx_add_color.oso
dist/macosx/shaders/MaterialX/mx_add_color2.oso
dist/macosx/shaders/MaterialX/mx_add_color4.oso
dist/macosx/shaders/MaterialX/mx_add_float.oso
dist/macosx/shaders/MaterialX/mx_add_vector.oso
dist/macosx/shaders/MaterialX/mx_add_vector2.oso
dist/macosx/shaders/MaterialX/mx_add_vector4.oso
The testsuite additions to thoroughly unit test everything is still
a work in progress and will be submitted as separate PRs soon.