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:
Members
-
<readonly> id :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. -
<readonly> name :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.
Methods
-
getValue
-
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.Parameters:
Name Type Description name
String The name of the parameter. Returns:
Object The value of the parameter orundefined
if the parameter does not exist. -
setValue
-
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.Parameters:
Name Type Argument 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