omni.flux.material_api#
API modules for reading material properties defined in MDL (Material Definition Language) files.
Responsibilities#
Initialize the MDL backend during extension startup, before dependent extensions resolve MDL assets or query metadata.
Expose shader property metadata and defaults through
ShaderInfoAPI.Provide placeholder attributes for displaying material properties before they are authored in USD.
Non-Responsibilities#
Application configuration owns MDL search paths and material content locations.
Material property widgets own selection, presentation, and editing interactions.
Architecture#
MaterialApiExtension calls omni.mdl.neuraylib.ensure_running() synchronously during startup. Consumers rely on the
extension dependency to initialize the backend; see the
MDL startup contract.
ShaderInfoAPI reads shader properties, while PlaceholderAttribute and UsdShadePropertyPlaceholder represent
properties that have not been authored in USD.
ShaderInfoAPI(..., property_metadata_cache=...) accepts a caller-owned dictionary for one refresh; discard it afterward.
Per-prim metadata and defaults remain isolated.