MCPcopy Create free account
hub / github.com/BabylonJS/BabylonNative / _loop_4

Function _loop_4

Apps/BabylonScripts/babylon.glTF2FileLoader.js:1627–1658  ·  view source on GitHub ↗
(indexLOD)

Source from the content-addressed store, hash-verified

1625 var materialLODs = _this._getLODs(extensionContext, material, _this._loader.gltf.materials, extension.ids);
1626 _this._loader.logOpen("" + extensionContext);
1627 var _loop_4 = function (indexLOD) {
1628 var materialLOD = materialLODs[indexLOD];
1629 _this._indexLOD = indexLOD;
1630 if (indexLOD !== 0) {
1631 _this._materialIndexLOD = indexLOD;
1632 }
1633 var promise = _this._loader._loadMaterialAsync("#/materials/" + materialLOD.index, materialLOD, babylonMesh, babylonDrawMode, function (babylonMaterial) {
1634 if (indexLOD === 0) {
1635 assign(babylonMaterial);
1636 }
1637 }).then(function (babylonMaterial) {
1638 if (indexLOD !== 0) {
1639 assign(babylonMaterial);
1640 // TODO: should not rely on _data
1641 var previousDataLOD = materialLODs[indexLOD - 1]._data;
1642 if (previousDataLOD[babylonDrawMode]) {
1643 _this._disposeMaterials([previousDataLOD[babylonDrawMode].babylonMaterial]);
1644 delete previousDataLOD[babylonDrawMode];
1645 }
1646 }
1647 return babylonMaterial;
1648 });
1649 if (indexLOD === 0) {
1650 firstPromise = promise;
1651 }
1652 else {
1653 _this._materialIndexLOD = null;
1654 }
1655 _this._indexLOD = null;
1656 _this._materialPromiseLODs[indexLOD] = _this._materialPromiseLODs[indexLOD] || [];
1657 _this._materialPromiseLODs[indexLOD].push(promise);
1658 };
1659 for (var indexLOD = 0; indexLOD < materialLODs.length; indexLOD++) {
1660 _loop_4(indexLOD);
1661 }

Callers 1

Calls

no outgoing calls

Tested by

no test coverage detected