Sharing code with USD export, as a step towards making Hydra and USD more consistent. Upcoming USD hooks will provide more control over material export rather than always using preview surface. Ref #110765 Pull Request: https://projects.blender.org/blender/blender/pulls/110836