nanogl-gltf
Version:
35 lines (34 loc) • 1.11 kB
JavaScript
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);
}
}