The material appearance of a primitive

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

Hierarchy (view full)

Properties

extensions?: Record<string, unknown>

Dictionary object with extension-specific objects

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