ModelMaterial

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:

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.

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.

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 or undefined if the parameter does not exist.

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