pub struct Material {
Show 15 fields pub name: String, pub ambient: [f32; 3], pub diffuse: [f32; 3], pub specular: [f32; 3], pub shininess: f32, pub dissolve: f32, pub optical_density: f32, pub ambient_texture: String, pub diffuse_texture: String, pub specular_texture: String, pub normal_texture: String, pub shininess_texture: String, pub dissolve_texture: String, pub illumination_model: Option<u8>, pub unknown_param: AHashMap<String, String>,
}
Expand description

A material that may be referenced by one or more Meshes.

Standard MTL attributes are supported. Any unrecognized parameters will be stored as key-value pairs in the unknown_param HashMap, which maps the unknown parameter to the value set for it.

No path is pre-pended to the texture file names specified in the MTL file.

Fields

name: String

Material name as specified in the MTL file.

ambient: [f32; 3]

Ambient color of the material.

diffuse: [f32; 3]

Diffuse color of the material.

specular: [f32; 3]

Specular color of the material.

shininess: f32

Material shininess attribute. Also called glossiness.

dissolve: f32

Dissolve attribute is the alpha term for the material. Referred to as dissolve since that’s what the MTL file format docs refer to it as.

optical_density: f32

Optical density also known as index of refraction. Called optical_density in the MTL specc. Takes on a value between 0.001 and 10.0. 1.0 means light does not bend as it passes through the object.

ambient_texture: String

Name of the ambient texture file for the material.

diffuse_texture: String

Name of the diffuse texture file for the material.

specular_texture: String

Name of the specular texture file for the material.

normal_texture: String

Name of the normal map texture file for the material.

shininess_texture: String

Name of the shininess map texture file for the material.

dissolve_texture: String

Name of the alpha/opacity map texture file for the material.

Referred to as dissolve to match the MTL file format specification.

illumination_model: Option<u8>

The illumnination model to use for this material. The different illumnination models are specified in the MTL spec.

unknown_param: AHashMap<String, String>

Key value pairs of any unrecognized parameters encountered while parsing the material.

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Returns the “default value” for a type. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

Uses borrowed data to replace owned data, usually by cloning. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.