UNPKG

nanogl-gltf

Version:
35 lines (34 loc) 1.11 kB
import GltfTypes from "../../types/GltfTypes"; import UnlitMaterial from "./UnlitMaterial"; const EXT_ID = 'KHR_materials_unlit'; class Instance { constructor(gltfLoader) { this.name = EXT_ID; this.priority = 1; this.loader = gltfLoader; } acceptElement(data, element) { return null; } loadElement(data) { if (data.gltftype === GltfTypes.MATERIAL && data.extensions && data.extensions[EXT_ID]) { const unlitMaterial = new UnlitMaterial(); return unlitMaterial.parse(this.loader, data) .then(() => unlitMaterial); } return null; } } /** * This extension defines an unlint shading model for use in glTF 2.0 materials, as an alternative to PBR shading. * The Unlit material is a constantly shaded surface that is independent of lighting. * It could be useful for performance issues or for a cartoonish look. */ export default class KHR_materials_unlit { constructor() { this.name = EXT_ID; } createInstance(gltfLoader) { return new Instance(gltfLoader); } }