applyMaterialConfig.ts 655 B

1234567891011121314151617181920
  1. import { ISceneLoaderPlugin, ISceneLoaderPluginAsync, Material } from 'babylonjs';
  2. import { ViewerModel } from '../../model/viewerModel';
  3. import { ILoaderPlugin } from './loaderPlugin';
  4. /**
  5. * Force-apply material configuration right after a material was loaded.
  6. */
  7. export class ApplyMaterialConfigPlugin implements ILoaderPlugin {
  8. private _model: ViewerModel;
  9. public onInit(loader: ISceneLoaderPlugin | ISceneLoaderPluginAsync, model: ViewerModel) {
  10. this._model = model;
  11. }
  12. public onMaterialLoaded(material: Material) {
  13. this._model && this._model._applyModelMaterialConfiguration(material);
  14. }
  15. }