[][src]Module tray_rust::material

Defines the trait implemented by all materials and exports various supported material types. Materials are used to define how BxDFs are composed to create the desired appearance

Scene Usage Example

The material will be specified within the materials list of the scene object. A type and name for the material along with any additional parameters is required to specify one. The name is used when specifying which material should be used by an object in the scene.

"materials": [
    {
        "name": "my_material",
        "type": "The_Material_Type",
         ...
    }
    ...
]

Re-exports

pub use self::matte::Matte;
pub use self::specular_metal::SpecularMetal;
pub use self::glass::Glass;
pub use self::merl::Merl;
pub use self::plastic::Plastic;
pub use self::metal::Metal;
pub use self::rough_glass::RoughGlass;

Modules

glass

Defines a specular glass material

matte

Defines a matte material used to describe diffuse materials

merl

The MERL Material represents the surface's properties through data loaded from a MERL BRDF Database file. The material loads and parses the data then hands it off to its BRDF which will be used to actually compute the surface properties

metal

Provides a material for modelling metal surfaces of varying roughness using the Torrance Sparrow BRDF and a Blinn microfacet distribution TODO: Add Ashikman-Shirley (spelling?) anisotropic microfacet model

plastic

A material that models plastic of varying roughness using the Torrance Sparrow BRDF and a Blinn microfacet distribution TODO: Add Ashikman-Shirley (spelling?) anisotropic microfacet model

rough_glass

Defines a rough glass material

specular_metal

Defines a specular metal material

Traits

Material

Trait implemented by materials. Provides method to get the BSDF describing the material properties at the intersection