new ModelMaterial()
A model's material with modifiable parameters. A glTF material
contains parameters defined by the material's technique with values
defined by the technique and potentially overridden by the material.
This class allows changing these values at runtime.
Use Model#getMaterial
to create an instance.
See:
Source:
Scene/ModelMaterial.js, line 26
Members
-
readonlyid :String
-
The name of the glTF JSON property for this material. This is guaranteed to be unique among all materials. It may not match the material's
name
property (@link ModelMaterial#name), which is assigned by the artist when the asset is created.Source: Scene/ModelMaterial.js, line 61 -
readonlyname :String
-
The value of the
name
property of this material. This is the name assigned by the artist when the asset is created. This can be different than the name of the material property (ModelMaterial#id
), which is internal to glTF.Source: Scene/ModelMaterial.js, line 44
Methods
-
getValue(name) → Object
-
Returns the value of the parameter with the given
name
. The type of the returned object depends on the glTF type of the parameter. It will be a floating-point number, Cartesian, or matrix.Name Type Description name
String The name of the parameter. Returns:
The value of the parameter orundefined
if the parameter does not exist.Source: Scene/ModelMaterial.js, line 113 -
setValue(name, value)
-
Assigns a value to a material parameter. The type for
value
depends on the glTF type of the parameter. It will be a floating-point number, Cartesian, or matrix.Name Type Description name
String The name of the parameter. value
Object optional The value to assign to the parameter. Throws:
-
DeveloperError : name must match a parameter name in the material's technique that is targetable and not optimized out.
Example:
material.setValue('diffuse', new Cartesian4(1.0, 0.0, 0.0, 1.0)); // vec4 material.setValue('shininess', 256.0); // scalar
Source: Scene/ModelMaterial.js, line 84 -