The material appearance of a primitive

interface IMaterial {
    extras?: Record<string, unknown>;
    name?: string;
    pbrMetallicRoughness?: IMaterialPbrMetallicRoughness;
    normalTexture?: IMaterialNormalTextureInfo;
    occlusionTexture?: IMaterialOcclusionTextureInfo;
    emissiveTexture?: ITextureInfo;
    emissiveFactor?: number[];
    alphaMode?: MaterialAlphaMode;
    alphaCutoff?: number;
    doubleSided?: boolean;
    extensions?: GLTFMaterialsExtensions;
}

Hierarchy (View Summary)

Properties

extras?: Record<string, unknown>

Application-Specific data

name?: string

The user-defined name of this object

pbrMetallicRoughness?: IMaterialPbrMetallicRoughness

A set of parameter values that are used to define the metallic-roughness material model from Physically-Based Rendering (PBR) methodology. When not specified, all the default values of pbrMetallicRoughness apply

The normal map texture

The occlusion map texture

emissiveTexture?: ITextureInfo

The emissive map texture

emissiveFactor?: number[]

The RGB components of the emissive color of the material. These values are linear. If an emissiveTexture is specified, this value is multiplied with the texel values

alphaMode?: MaterialAlphaMode

The alpha rendering mode of the material

alphaCutoff?: number

The alpha cutoff value of the material

doubleSided?: boolean

Specifies whether the material is double sided

Dictionary object with material extension-specific objects