#include <materialparameter.h>
Defines a collection of material parameters. The data independent of an embedding into a BaseMaterial or BaseDocument and can be freely passed around.
Public Attributes | |
Id | _materialTypeId |
DataDictionary | _parameters |
HashMap< Id, Data > | _textures |
Id _materialTypeId |
Defines the type of material. Each material type is associated with a set of parameters. These types are usually defined by, but not limited to, port bundles in the resource editor. Common types include: maxon::MATERIAL::PORTBUNDLE::FBXSURFACELAMBERT (older material type in FBX files), maxon::MATERIAL::PORTBUNDLE::FBXSURFACEPHONG (older material type FBX files), maxon::MATERIAL::PORTBUNDLE::GLTF, maxon::MATERIAL::PORTBUNDLE::STANDARDSURFACE (modeled after open standard, WIP w.r.t. constituents of shading normal, e.g. bump and displacement), maxon::NODESPACE::EXCHANGE::BUNDLE::USDPREVIEWSURFACE (currently unused), maxon::NODESPACE::EXCHANGE::BUNDLE::VIEWPORTMATERIAL (connects node materials with the viewport).
DataDictionary _parameters |
Contains the constant values for the material. It is expected that every entry is defined as a (key = maxon::InternedId, value = maxon::material::PackedConstantParameter) tuple. We refer to the methods Insert() and Extract() of maxon::material::ParameterStorageInterface for convenient access.
Contains the non-constant values for the material. In addition to the constant value, every parameter maybe driven by a more complex data set, such as a texture buffer or a reference to an image or a substance, i.e. maxon::material::TextureBuffer, maxon::material::ImageReference, maxon::material::SubstanceReference.