MaterialXMaterials 0.0.1
Utilities for retrieving materials from remote servers
Loading...
Searching...
No Matches
MaterialXMaterials

MaterialX Materials

Introduction

Welcome to MaterialX Materials.
This site hosts a set of libraries and command line utilities to query remote databases for MaterialX materials.

‍Visit the Home Page

Related utilities and libraries can be found at the: <button class="btn btn-outline-secondary"> MaterialXLab </button> home page.

The current utilities support:
PhysicallyBased database Material descriptions can be downloaded with additional utilities to create materials using either: Autodesk Standard Surface, OpenPBR, or glTF PBR shading model shaders.


AMD GPUOpen database MaterialX packages can be downloaded (as zip files). Images and MaterialX documents can be extracted for any of the posted materials in the database.

Each currently has Python implementations.

An interactive page for extracting PhysicallyBased uses a Javascript implementation found here

Dependencies

The Python utilities require:
  1. The MaterialX 1.39 or greater package for PhysicallyBased OpenPBR shader creation
  2. The requests package.
  3. The pillow package for image handling for GPUOpen package handling

Building

The GitHub repository can be cloned and the package built using:
pip install .
This will pull down the dependent packages as needed.

Usage

Commands

  • Query all materials fom PhysicallyBased and convert them to all support shading models. Save the material list and corresponding MaterialX files in the default output location. The build will include this information Python package under the data folder.

    python physicallyBasedMaterialXCmd.py

    or

    python -m materialxMaterials physbased
  • Query all materials fom GPUOpen. Extract out a few material packages (zip). Save the material lists, material names and unzipped packages (MaterialX and images) in the default output location. The build will include this information Python package under the data folder.

    python GPUOpenLoaderCmd.py --materialNames=1 --saveMaterials=1

    or

    python -m materialxMaterials gpuopen --materialNames=1 --saveMaterials=1

Library

A Jupyter notebook demonstrates the direct usage of the Python library. The output of the notebook can be found here. The notebook can found in the Github repository under the examples folder.

Results

The following are some samples which have been rendered using the MaterialXView utility which is part of the MaterialX binary distribution.
Details about some examples can be found in the Examples pages
Emerald Peaks Wallpaper Indigo Palm Wallpaper Oliana Blue Painted Wood
Ketchup Cooking Oil Brass

API Reference

The API reference can be found here