12 |
- var BABYLON;!(function(e){!(function(e){e[e.BYTE=5120]="BYTE",e[e.UNSIGNED_BYTE=5121]="UNSIGNED_BYTE",e[e.SHORT=5122]="SHORT",e[e.UNSIGNED_SHORT=5123]="UNSIGNED_SHORT",e[e.FLOAT=5126]="FLOAT"})(e.EComponentType||(e.EComponentType={}));!(function(e){e[e.FRAGMENT=35632]="FRAGMENT",e[e.VERTEX=35633]="VERTEX"})(e.EShaderType||(e.EShaderType={}));!(function(e){e[e.BYTE=5120]="BYTE",e[e.UNSIGNED_BYTE=5121]="UNSIGNED_BYTE",e[e.SHORT=5122]="SHORT",e[e.UNSIGNED_SHORT=5123]="UNSIGNED_SHORT",e[e.INT=5124]="INT",e[e.UNSIGNED_INT=5125]="UNSIGNED_INT",e[e.FLOAT=5126]="FLOAT",e[e.FLOAT_VEC2=35664]="FLOAT_VEC2",e[e.FLOAT_VEC3=35665]="FLOAT_VEC3",e[e.FLOAT_VEC4=35666]="FLOAT_VEC4",e[e.INT_VEC2=35667]="INT_VEC2",e[e.INT_VEC3=35668]="INT_VEC3",e[e.INT_VEC4=35669]="INT_VEC4",e[e.BOOL=35670]="BOOL",e[e.BOOL_VEC2=35671]="BOOL_VEC2",e[e.BOOL_VEC3=35672]="BOOL_VEC3",e[e.BOOL_VEC4=35673]="BOOL_VEC4",e[e.FLOAT_MAT2=35674]="FLOAT_MAT2",e[e.FLOAT_MAT3=35675]="FLOAT_MAT3",e[e.FLOAT_MAT4=35676]="FLOAT_MAT4",e[e.SAMPLER_2D=35678]="SAMPLER_2D"})(e.EParameterType||(e.EParameterType={}));!(function(e){e[e.CLAMP_TO_EDGE=33071]="CLAMP_TO_EDGE",e[e.MIRRORED_REPEAT=33648]="MIRRORED_REPEAT",e[e.REPEAT=10497]="REPEAT"})(e.ETextureWrapMode||(e.ETextureWrapMode={}));!(function(e){e[e.NEAREST=9728]="NEAREST",e[e.LINEAR=9728]="LINEAR",e[e.NEAREST_MIPMAP_NEAREST=9984]="NEAREST_MIPMAP_NEAREST",e[e.LINEAR_MIPMAP_NEAREST=9985]="LINEAR_MIPMAP_NEAREST",e[e.NEAREST_MIPMAP_LINEAR=9986]="NEAREST_MIPMAP_LINEAR",e[e.LINEAR_MIPMAP_LINEAR=9987]="LINEAR_MIPMAP_LINEAR"})(e.ETextureFilterType||(e.ETextureFilterType={}));!(function(e){e[e.ALPHA=6406]="ALPHA",e[e.RGB=6407]="RGB",e[e.RGBA=6408]="RGBA",e[e.LUMINANCE=6409]="LUMINANCE",e[e.LUMINANCE_ALPHA=6410]="LUMINANCE_ALPHA"})(e.ETextureFormat||(e.ETextureFormat={}));!(function(e){e[e.FRONT=1028]="FRONT",e[e.BACK=1029]="BACK",e[e.FRONT_AND_BACK=1032]="FRONT_AND_BACK"})(e.ECullingType||(e.ECullingType={}));!(function(e){e[e.ZERO=0]="ZERO",e[e.ONE=1]="ONE",e[e.SRC_COLOR=768]="SRC_COLOR",e[e.ONE_MINUS_SRC_COLOR=769]="ONE_MINUS_SRC_COLOR",e[e.DST_COLOR=774]="DST_COLOR",e[e.ONE_MINUS_DST_COLOR=775]="ONE_MINUS_DST_COLOR",e[e.SRC_ALPHA=770]="SRC_ALPHA",e[e.ONE_MINUS_SRC_ALPHA=771]="ONE_MINUS_SRC_ALPHA",e[e.DST_ALPHA=772]="DST_ALPHA",e[e.ONE_MINUS_DST_ALPHA=773]="ONE_MINUS_DST_ALPHA",e[e.CONSTANT_COLOR=32769]="CONSTANT_COLOR",e[e.ONE_MINUS_CONSTANT_COLOR=32770]="ONE_MINUS_CONSTANT_COLOR",e[e.CONSTANT_ALPHA=32771]="CONSTANT_ALPHA",e[e.ONE_MINUS_CONSTANT_ALPHA=32772]="ONE_MINUS_CONSTANT_ALPHA",e[e.SRC_ALPHA_SATURATE=776]="SRC_ALPHA_SATURATE"})(e.EBlendingFunction||(e.EBlendingFunction={}))})(BABYLON||(BABYLON={}));var BABYLON;!(function(e){var n;!(function(e){e[e.IDENTIFIER=1]="IDENTIFIER",e[e.UNKNOWN=2]="UNKNOWN",e[e.END_OF_INPUT=3]="END_OF_INPUT"})(n||(n={}));var r=(function(){function e(e){this._pos=0,this.isLetterOrDigitPattern=/^[a-zA-Z0-9]+$/,this._toParse=e,this._maxPos=e.length}return e.prototype.getNextToken=function(){if(this.isEnd())return n.END_OF_INPUT;if(this.currentString=this.read(),this.currentToken=n.UNKNOWN,"_"===this.currentString||this.isLetterOrDigitPattern.test(this.currentString))for(this.currentToken=n.IDENTIFIER,this.currentIdentifier=this.currentString;!this.isEnd()&&(this.isLetterOrDigitPattern.test(this.currentString=this.peek())||"_"===this.currentString);)this.currentIdentifier+=this.currentString,this.forward();return this.currentToken},e.prototype.peek=function(){return this._toParse[this._pos]},e.prototype.read=function(){return this._toParse[this._pos++]},e.prototype.forward=function(){this._pos++},e.prototype.isEnd=function(){return this._pos>=this._maxPos},e})(),t=["MODEL","VIEW","PROJECTION","MODELVIEW","MODELVIEWPROJECTION","JOINTMATRIX"],i=["world","view","projection","worldView","worldViewProjection","mBones"],o=["translation","rotation","scale"],a=["position","rotationQuaternion","scaling"],s=function(e,n){for(var r in e){var t=e[r];n.buffers[r]=t,n.buffersCount++}},u=function(e,n){for(var r in e){var t=e[r];n.shaders[r]=t,n.shaderscount++}},l=function(e,n,r){for(var t in e){var i=e[t];r[n][t]=i}},c=function(e){if(e)for(var n=0;n<e.length/2;n++)e[2*n+1]=1-e[2*n+1]},f=function(e){if("NORMAL"===e.semantic)return"normal";if("POSITION"===e.semantic)return"position";if("JOINT"===e.semantic)return"matricesIndices";if("WEIGHT"===e.semantic)return"matricesWeights";if("COLOR"===e.semantic)return"color";if(e.semantic.indexOf("TEXCOORD_")!==-1){var n=Number(e.semantic.split("_")[1]);return"uv"+(0===n?"":n+1)}},d=function(n){for(var r in n.animations)for(var t=n.animations[r],i=null,s=0;s<t.channels.length;s++){var u=t.channels[s],l=t.samplers[u.sampler];if(l){var c=null,f=null;t.parameters?(c=t.parameters[l.input],f=t.parameters[l.output]):(c=l.input,f=l.output);var d=e.GLTFUtils.GetBufferFromAccessor(n,n.accessors[c]),m=e.GLTFUtils.GetBufferFromAccessor(n,n.accessors[f]),E=u.target.id,T=n.scene.getNodeByID(E);if(null===T&&(T=n.scene.getNodeByName(E)),null!==T){var A=T instanceof e.Bone,p=u.target.path,h=o.indexOf(p);h!==-1&&(p=a[h]);var y=e.Animation.ANIMATIONTYPE_MATRIX;A||("rotationQuaternion"===p?(y=e.Animation.ANIMATIONTYPE_QUATERNION,T.rotationQuaternion=new e.Quaternion):y=e.Animation.ANIMATIONTYPE_VECTOR3);var N=null,L=[],g=0,O=!1;A&&i&&i.getKeys().length===d.length&&(N=i,O=!0),O||(N=new e.Animation(r,A?"_matrix":p,1,y,e.Animation.ANIMATIONLOOPMODE_CYCLE));for(var v=0;v<d.length;v++){var _=null;if("rotationQuaternion"===p?(_=e.Quaternion.FromArray([m[g],m[g+1],m[g+2],m[g+3]]),g+=4):(_=e.Vector3.FromArray([m[g],m[g+1],m[g+2]]),g+=3),A){var F=T,S=e.Vector3.Zero(),M=new e.Quaternion,x=e.Vector3.Zero(),R=F.getBaseMatrix();O&&(R=i.getKeys()[v].value),R.decompose(x,M,S),"position"===p?S=_:"rotationQuaternion"===p?M=_:x=_,_=e.Matrix.Compose(x,M,S)}O?i.getKeys()[v].value=_:L.push({frame:d[v],value:_})}O||(N.setKeys(L),T.animations.push(N)),i=N,n.scene.stopAnimation(T),n.scene.beginAnimation(T,0,d[d.length-1],!0,1)}else e.Tools.Warn("Creating animation named "+r+". But cannot find node named "+E+" to attach to")}}},m=function(n){var r=null;if(n.translation||n.rotation||n.scale){var t=e.Vector3.FromArray(n.scale||[1,1,1]),i=e.Quaternion.FromArray(n.rotation||[0,0,0,1]),o=e.Vector3.FromArray(n.translation||[0,0,0]);r=e.Matrix.Compose(t,i,o)}else r=e.Matrix.FromArray(n.matrix);return r},E=function(n,r,t,i){for(var o=0;o<i.bones.length;o++)if(i.bones[o].name===t)return i.bones[o];var a=n.nodes;for(var s in a){var u=a[s];if(u.jointName)for(var l=u.children,o=0;o<l.length;o++){var c=n.nodes[l[o]];if(c.jointName&&c.jointName===t){var f=m(u),d=new e.Bone(u.name,i,E(n,r,u.jointName,i),f);return d.id=s,d}}}return null},T=function(e,n){for(var r=0;r<e.length;r++)for(var t=e[r],i=0;i<t.node.children.length;i++){var o=t.node.children[i];if(o===n)return t.bone}return null},A=function(e,n){var r=e.nodes,t=r[n];if(t)return{node:t,id:n};for(var i in r)if(t=r[i],t.jointName===n)return{node:t,id:i};return null},p=function(e,n){for(var r=0;r<e.jointNames.length;r++)if(e.jointNames[r]===n)return!0;return!1},h=function(n,r,t,i){for(var o in n.nodes){var a=n.nodes[o],s=o;if(a.jointName&&!p(t,a.jointName)){var u=m(a),l=new e.Bone(a.name,r,null,u);l.id=s,i.push({bone:l,node:a,id:s})}}for(var c=0;c<i.length;c++)for(var f=i[c],d=f.node.children,E=0;E<d.length;E++){for(var T=null,A=0;A<i.length;A++)if(i[A].id===d[E]){T=i[A];break}T&&(T.bone._parent=f.bone,f.bone.children.push(T.bone))}},y=function(n,r,t,i,o){if(i||(i=new e.Skeleton(r.name,"",n.scene)),!r.babylonSkeleton)return i;var a=n.accessors[r.inverseBindMatrices],s=(e.GLTFUtils.GetBufferFromAccessor(n,a),e.Matrix.FromArray(r.bindShapeMatrix),[]),u=[];h(n,i,r,s),i.bones=[];for(var l=0;l<r.jointNames.length;l++){var c=A(n,r.jointNames[l]),f=c.node;if(f){var o=c.id,d=n.scene.getBoneByID(o);if(d)i.bones.push(d);else{for(var p=!1,y=null,N=0;N<l;N++){var L=A(n,r.jointNames[N]).node;if(L){var g=L.children;p=!1;for(var O=0;O<g.length;O++)if(g[O]===o){y=E(n,r,r.jointNames[N],i),p=!0;break}if(p)break}else e.Tools.Warn("Joint named "+r.jointNames[N]+" does not exist when looking for parent")}var v=m(f);!y&&s.length>0&&(y=T(s,o))&&u.indexOf(y)===-1&&u.push(y);new e.Bone(f.jointName,i,y,v).id=o}}else e.Tools.Warn("Joint named "+r.jointNames[l]+" does not exist")}var _=i.bones;i.bones=[];for(var l=0;l<r.jointNames.length;l++){var c=A(n,r.jointNames[l]);if(c)for(var N=0;N<_.length;N++)if(_[N].id===c.id){i.bones.push(_[N]);break}}i.prepare();for(var l=0;l<u.length;l++)i.bones.push(u[l]);return i},N=function(n,r,t,i,o){if(o||(o=new e.Mesh(r.name,n.scene),o.id=i),!r.babylonNode)return o;var a=new e.MultiMaterial("multimat"+i,n.scene);o.material||(o.material=a);for(var s=new e.VertexData,u=new e.Geometry(i,n.scene,s,!1,o),l=[],f=[],d=[],m=[],E=0;E<t.length;E++){var T=t[E],A=n.meshes[T];if(A)for(var p=0;p<A.primitives.length;p++){var h=new e.VertexData,y=A.primitives[p];y.mode;var N=y.attributes,L=null,g=null;for(var O in N)if(L=n.accessors[N[O]],g=e.GLTFUtils.GetBufferFromAccessor(n,L),"NORMAL"===O)h.normals=new Float32Array(g.length),h.normals.set(g);else if("POSITION"===O){if(b.HomogeneousCoordinates){h.positions=new Float32Array(g.length-g.length/4);for(var v=0;v<g.length;v+=4)h.positions[v]=g[v],h.positions[v+1]=g[v+1],h.positions[v+2]=g[v+2]}else h.positions=new Float32Array(g.length),h.positions.set(g);f.push(h.positions.length)}else if(O.indexOf("TEXCOORD_")!==-1){var _=Number(O.split("_")[1]),F=e.VertexBuffer.UVKind+(0===_?"":_+1),S=new Float32Array(g.length);S.set(g),c(S),h.set(S,F)}else"JOINT"===O?(h.matricesIndices=new Float32Array(g.length),h.matricesIndices.set(g)):"WEIGHT"===O?(h.matricesWeights=new Float32Array(g.length),h.matricesWeights.set(g)):"COLOR"===O&&(h.colors=new Float32Array(g.length),h.colors.set(g));if(L=n.accessors[y.indices])g=e.GLTFUtils.GetBufferFromAccessor(n,L),h.indices=new Int32Array(g.length),h.indices.set(g),m.push(h.indices.length);else{for(var M=[],v=0;v<h.positions.length/3;v++)M.push(v);h.indices=new Int32Array(M),m.push(h.indices.length)}s.merge(h),h=void 0;var x=n.scene.getMaterialByID(y.material);a.subMaterials.push(null===x?e.GLTFUtils.GetDefaultMaterial(n.scene):x),l.push(0===l.length?0:l[l.length-1]+f[f.length-2]),d.push(0===d.length?0:d[d.length-1]+m[m.length-2])}}u.setAllVerticesData(s,!1),o.computeWorldMatrix(!0),o.subMeshes=[];for(var R=0,E=0;E<t.length;E++){var T=t[E],A=n.meshes[T];if(A)for(var p=0;p<A.primitives.length;p++){A.primitives[p].mode;new e.SubMesh(R,l[R],f[R],d[R],m[R],o,o,!0);R++}}return o},L=function(e,n,r,t){e.position&&(e.position=n),(e.rotationQuaternion||e.rotation)&&(e.rotationQuaternion=r),e.scaling&&(e.scaling=t)},g=function(n,r,t){if(r.matrix){var i=new e.Vector3(0,0,0),o=new e.Quaternion,a=new e.Vector3(0,0,0);e.Matrix.FromArray(r.matrix).decompose(a,o,i),L(n,i,o,a)}else L(n,e.Vector3.FromArray(r.translation),e.Quaternion.FromArray(r.rotation),e.Vector3.FromArray(r.scale));n.computeWorldMatrix(!0)},O=function(n,r,t,i){var o=null;if(n.importOnlyMeshes&&(r.skin||r.meshes)&&n.importMeshesNames.length>0&&n.importMeshesNames.indexOf(r.name)===-1)return null;if(r.skin){if(r.meshes){var a=n.skins[r.skin],s=N(n,r,r.meshes,t,r.babylonNode);s.skeleton=n.scene.getLastSkeletonByID(r.skin),null===s.skeleton&&(s.skeleton=y(n,a,0,a.babylonSkeleton,r.skin),a.babylonSkeleton||(a.babylonSkeleton=s.skeleton)),o=s}}else if(r.meshes){var s=N(n,r,r.mesh?[r.mesh]:r.meshes,t,r.babylonNode);o=s}else if(!r.light||r.babylonNode||n.importOnlyMeshes){if(r.camera&&!r.babylonNode&&!n.importOnlyMeshes){var u=n.cameras[r.camera];if(u)if("orthographic"===u.type){var l=(u[u.type],new e.FreeCamera(r.camera,e.Vector3.Zero(),n.scene));l.name=r.name,l.mode=e.Camera.ORTHOGRAPHIC_CAMERA,l.attachControl(n.scene.getEngine().getRenderingCanvas()),o=l}else if("perspective"===u.type){var c=u[u.type],f=new e.FreeCamera(r.camera,e.Vector3.Zero(),n.scene);f.name=r.name,f.attachControl(n.scene.getEngine().getRenderingCanvas()),c.aspectRatio||(c.aspectRatio=n.scene.getEngine().getRenderWidth()/n.scene.getEngine().getRenderHeight()),c.znear&&c.zfar&&(f.maxZ=c.zfar,f.minZ=c.znear),o=f}}}else{var d=n.lights[r.light];if(d)if("ambient"===d.type){var m=d[d.type],E=new e.HemisphericLight(r.light,e.Vector3.Zero(),n.scene);E.name=r.name,m.color&&(E.diffuse=e.Color3.FromArray(m.color)),o=E}else if("directional"===d.type){var T=d[d.type],A=new e.DirectionalLight(r.light,e.Vector3.Zero(),n.scene);A.name=r.name,T.color&&(A.diffuse=e.Color3.FromArray(T.color)),o=A}else if("point"===d.type){var p=d[d.type],h=new e.PointLight(r.light,e.Vector3.Zero(),n.scene);h.name=r.name,p.color&&(h.diffuse=e.Color3.FromArray(p.color)),o=h}else if("spot"===d.type){var O=d[d.type],v=new e.SpotLight(r.light,e.Vector3.Zero(),e.Vector3.Zero(),0,0,n.scene);v.name=r.name,O.color&&(v.diffuse=e.Color3.FromArray(O.color)),O.fallOfAngle&&(v.angle=O.fallOfAngle),O.fallOffExponent&&(v.exponent=O.fallOffExponent),o=v}}if(!r.jointName){if(r.babylonNode)return r.babylonNode;if(null===o){var _=new e.Mesh(r.name,n.scene);r.babylonNode=_,o=_}}if(null!==o){if(r.matrix&&o instanceof e.Mesh)g(o,r);else{var F=r.translation||[0,0,0],S=r.rotation||[0,0,0,1],M=r.scale||[1,1,1];L(o,e.Vector3.FromArray(F),e.Quaternion.FromArray(S),e.Vector3.FromArray(M))}o.updateCache(!0),r.babylonNode=o}return o},v=function(e,n,r,t){var i=e.nodes[n],o=null;if(t=!(e.importOnlyMeshes&&!t)||(e.importMeshesNames.indexOf(i.name)!==-1||0===e.importMeshesNames.length),!i.jointName&&t&&null!==(o=O(e,i,n))&&(o.id=n,o.parent=r),i.children)for(var a=0;a<i.children.length;a++)v(e,i.children[a],o,t)},_=function(e){var n=e.currentScene;if(n)for(var r=0;r<n.nodes.length;r++)v(e,n.nodes[r],null);else for(var t in e.scenes){n=e.scenes[t];for(var r=0;r<n.nodes.length;r++)v(e,n.nodes[r],null)}d(e);for(var r=0;r<e.scene.skeletons.length;r++){var i=e.scene.skeletons[r];e.scene.beginAnimation(i,0,Number.MAX_VALUE,!0,1)}},F=function(n,r,t,i,o,a,s){var u=a.values||o.parameters;for(var l in t){var c=t[l],f=c.type;if(f===e.EParameterType.FLOAT_MAT2||f===e.EParameterType.FLOAT_MAT3||f===e.EParameterType.FLOAT_MAT4)if(!c.semantic||c.source||c.node){if(c.semantic&&(c.source||c.node)){var d=r.scene.getNodeByName(c.source||c.node);if(null===d&&(d=r.scene.getNodeByID(c.source||c.node)),null===d)continue;e.GLTFUtils.SetMatrix(r.scene,d,c,l,i.getEffect())}}else e.GLTFUtils.SetMatrix(r.scene,n,c,l,i.getEffect());else{var m=u[o.uniforms[l]];if(!m)continue;if(f===e.EParameterType.SAMPLER_2D){var E=r.textures[a.values?m:c.value].babylonTexture;if(null===E||void 0===E)continue;i.getEffect().setTexture(l,E)}else e.GLTFUtils.SetUniform(i.getEffect(),l,m,f)}}s(i)},S=function(n,r,t,i,o){var a=i.values||t.parameters,s=t.uniforms;for(var u in o){var l=o[u],c=l.type,f=a[s[u]];if(void 0===f&&(f=l.value),f){var d=function(e){return function(n){l.value&&(r.setTexture(e,n),delete o[e])}};c===e.EParameterType.SAMPLER_2D?e.GLTFFileLoaderExtension.LoadTextureAsync(n,i.values?f:l.value,d(u),(function(){return d(null)})):l.value&&e.GLTFUtils.SetUniform(r,u,i.values?f:l.value,c)&&delete o[u]}}},M=function(n,r,t){return function(i,o){e.Tools.Error("Cannot compile program named "+n.name+". Error: "+o+". Default material will be applied"),r.dispose(!0),t()}},x=function(e,n,r,t,i,o){return function(a){S(e,n,r,t,i),n.onBind=function(a){F(a,e,i,n,r,t,o)}}},R=function(e,n,r){for(var o in n.uniforms){var a=n.uniforms[o],s=n.parameters[a];if(e.currentIdentifier===o&&s.semantic&&!s.source&&!s.node){var u=t.indexOf(s.semantic);if(u!==-1)return delete r[o],i[u]}}return e.currentIdentifier},B=function(n){for(var r in n.materials)e.GLTFFileLoaderExtension.LoadMaterialAsync(n,r,(function(e){}),(function(){}))},I=(function(){function o(){}return o.CreateRuntime=function(e,n,r){var t={extensions:{},accessors:{},buffers:{},bufferViews:{},meshes:{},lights:{},cameras:{},nodes:{},images:{},textures:{},shaders:{},programs:{},samplers:{},techniques:{},materials:{},animations:{},skins:{},extensionsUsed:[],scenes:{},buffersCount:0,shaderscount:0,scene:n,rootUrl:r,loadedBufferCount:0,loadedBufferViews:{},loadedShaderCount:0,importOnlyMeshes:!1,dummyNodes:[]};return e.extensions&&l(e.extensions,"extensions",t),e.extensionsUsed&&l(e.extensionsUsed,"extensionsUsed",t),e.buffers&&s(e.buffers,t),e.bufferViews&&l(e.bufferViews,"bufferViews",t),e.accessors&&l(e.accessors,"accessors",t),e.meshes&&l(e.meshes,"meshes",t),e.lights&&l(e.lights,"lights",t),e.cameras&&l(e.cameras,"cameras",t),e.nodes&&l(e.nodes,"nodes",t),e.images&&l(e.images,"images",t),e.textures&&l(e.textures,"textures",t),e.shaders&&u(e.shaders,t),e.programs&&l(e.programs,"programs",t),e.samplers&&l(e.samplers,"samplers",t),e.techniques&&l(e.techniques,"techniques",t),e.materials&&l(e.materials,"materials",t),e.animations&&l(e.animations,"animations",t),e.skins&&l(e.skins,"skins",t),e.scenes&&(t.scenes=e.scenes),e.scene&&e.scenes&&(t.currentScene=e.scenes[e.scene]),t},o.LoadBufferAsync=function(n,r,t,i,o){var a=n.buffers[r];e.GLTFUtils.IsBase64(a.uri)?setTimeout((function(){return t(new Uint8Array(e.GLTFUtils.DecodeBase64(a.uri)))})):e.Tools.LoadFile(n.rootUrl+a.uri,(function(e){return t(new Uint8Array(e))}),o,null,!0,i)},o.LoadTextureBufferAsync=function(n,r,t,i){var o=n.textures[r];if(!o||!o.source)return void i();if(o.babylonTexture)return void t(null);var a=n.images[o.source];e.GLTFUtils.IsBase64(a.uri)?setTimeout((function(){return t(new Uint8Array(e.GLTFUtils.DecodeBase64(a.uri)))})):e.Tools.LoadFile(n.rootUrl+a.uri,(function(e){return t(new Uint8Array(e))}),null,null,!0,i)},o.CreateTextureAsync=function(n,r,t,i,o){var a=n.textures[r];if(a.babylonTexture)return void i(a.babylonTexture);var s=n.samplers[a.sampler],u=s.minFilter===e.ETextureFilterType.NEAREST_MIPMAP_NEAREST||s.minFilter===e.ETextureFilterType.NEAREST_MIPMAP_LINEAR||s.minFilter===e.ETextureFilterType.LINEAR_MIPMAP_NEAREST||s.minFilter===e.ETextureFilterType.LINEAR_MIPMAP_LINEAR,l=e.Texture.BILINEAR_SAMPLINGMODE,c=new Blob([t]),f=URL.createObjectURL(c),d=function(){return URL.revokeObjectURL(f)},m=new e.Texture(f,n.scene,!u,!0,l,d,d);m.wrapU=e.GLTFUtils.GetWrapMode(s.wrapS),m.wrapV=e.GLTFUtils.GetWrapMode(s.wrapT),m.name=r,a.babylonTexture=m,i(m)},o.LoadShaderStringAsync=function(n,r,t,i){var o=n.shaders[r];if(e.GLTFUtils.IsBase64(o.uri)){t(atob(o.uri.split(",")[1]))}else e.Tools.LoadFile(n.rootUrl+o.uri,t,null,null,!1,i)},o.LoadMaterialAsync=function(o,a,s,u){var l=o.materials[a],c=o.techniques[l.technique];if(!c){var d=new e.StandardMaterial(a,o.scene);return d.diffuseColor=new e.Color3(.5,.5,.5),d.sideOrientation=e.Material.CounterClockWiseSideOrientation,void s(d)}var m=o.programs[c.program],E=c.states,T=e.Effect.ShadersStore[m.vertexShader+"VertexShader"],A=e.Effect.ShadersStore[m.fragmentShader+"PixelShader"],p="",h="",y=new r(T),N=new r(A),L={},g=[],O=[],v=[];for(var _ in c.uniforms){var F=c.uniforms[_],S=c.parameters[F];if(L[_]=S,!S.semantic||S.node||S.source)S.type===e.EParameterType.SAMPLER_2D?v.push(_):g.push(_);else{var B=t.indexOf(S.semantic);B!==-1?(g.push(i[B]),delete L[_]):g.push(_)}}for(var I in c.attributes){var b=c.attributes[I],C=c.parameters[b];C.semantic&&O.push(f(C))}for(;!y.isEnd()&&y.getNextToken();){var P=y.currentToken;if(P===n.IDENTIFIER){var w=!1;for(var I in c.attributes){var b=c.attributes[I],C=c.parameters[b];if(y.currentIdentifier===I&&C.semantic){p+=f(C),w=!0;break}}w||(p+=R(y,c,L))}else p+=y.currentString}for(;!N.isEnd()&&N.getNextToken();){var P=N.currentToken;P===n.IDENTIFIER?h+=R(N,c,L):h+=N.currentString}var V={vertex:m.vertexShader+a,fragment:m.fragmentShader+a},U={attributes:O,uniforms:g,samplers:v,needAlphaBlending:E&&E.enable&&E.enable.indexOf(3042)!==-1};e.Effect.ShadersStore[m.vertexShader+a+"VertexShader"]=p,e.Effect.ShadersStore[m.fragmentShader+a+"PixelShader"]=h;var D=new e.ShaderMaterial(a,o.scene,V,U);if(D.onError=M(m,D,u),D.onCompiled=x(o,D,c,l,L,s),D.sideOrientation=e.Material.CounterClockWiseSideOrientation,E&&E.functions){var G=E.functions;G.cullFace&&G.cullFace[0]!==e.ECullingType.BACK&&(D.backFaceCulling=!1);var k=G.blendFuncSeparate;k&&(k[0]===e.EBlendingFunction.SRC_ALPHA&&k[1]===e.EBlendingFunction.ONE_MINUS_SRC_ALPHA&&k[2]===e.EBlendingFunction.ONE&&k[3]===e.EBlendingFunction.ONE?D.alphaMode=e.Engine.ALPHA_COMBINE:k[0]===e.EBlendingFunction.ONE&&k[1]===e.EBlendingFunction.ONE&&k[2]===e.EBlendingFunction.ZERO&&k[3]===e.EBlendingFunction.ONE?D.alphaMode=e.Engine.ALPHA_ONEONE:k[0]===e.EBlendingFunction.SRC_ALPHA&&k[1]===e.EBlendingFunction.ONE&&k[2]===e.EBlendingFunction.ZERO&&k[3]===e.EBlendingFunction.ONE?D.alphaMode=e.Engine.ALPHA_ADD:k[0]===e.EBlendingFunction.ZERO&&k[1]===e.EBlendingFunction.ONE_MINUS_SRC_COLOR&&k[2]===e.EBlendingFunction.ONE&&k[3]===e.EBlendingFunction.ONE?D.alphaMode=e.Engine.ALPHA_SUBTRACT:k[0]===e.EBlendingFunction.DST_COLOR&&k[1]===e.EBlendingFunction.ZERO&&k[2]===e.EBlendingFunction.ONE&&k[3]===e.EBlendingFunction.ONE?D.alphaMode=e.Engine.ALPHA_MULTIPLY:k[0]===e.EBlendingFunction.SRC_ALPHA&&k[1]===e.EBlendingFunction.ONE_MINUS_SRC_COLOR&&k[2]===e.EBlendingFunction.ONE&&k[3]===e.EBlendingFunction.ONE&&(D.alphaMode=e.Engine.ALPHA_MAXIMIZED))}},o})();e.GLTFFileLoaderBase=I;var b=(function(){function n(){this.extensions={".gltf":{isBinary:!1},".glb":{isBinary:!0}}}return n.RegisterExtension=function(r){if(n.Extensions[r.name])return void e.Tools.Error('Tool with the same name "'+r.name+'" already exists');n.Extensions[r.name]=r},n.prototype.importMeshAsync=function(r,t,i,o,a,s,u){var l=this;t.useRightHandedSystem=!0;e.GLTFFileLoaderExtension.LoadRuntimeAsync(t,i,o,(function(t){t.importOnlyMeshes=!0,""===r?t.importMeshesNames=[]:"string"==typeof r?t.importMeshesNames=[r]:!r||r instanceof Array?(t.importMeshesNames=[],e.Tools.Warn("Argument meshesNames must be of type string or string[]")):t.importMeshesNames=[r],l._createNodes(t);var i=[],o=[];for(var s in t.nodes){var c=t.nodes[s];c.babylonNode instanceof e.AbstractMesh&&i.push(c.babylonNode)}for(var f in t.skins){var d=t.skins[f];d.babylonSkeleton instanceof e.Skeleton&&o.push(d.babylonSkeleton)}l._loadBuffersAsync(t,(function(){l._loadShadersAsync(t,(function(){B(t),_(t),!n.IncrementalLoading&&a&&a(i,null,o)}))}),u),n.IncrementalLoading&&a&&a(i,null,o)}),s);return!0},n.prototype.loadAsync=function(r,t,i,o,a){var s=this;return r.useRightHandedSystem=!0,e.GLTFFileLoaderExtension.LoadRuntimeAsync(r,t,i,(function(r){e.GLTFFileLoaderExtension.LoadRuntimeExtensionsAsync(r,(function(){s._createNodes(r),s._loadBuffersAsync(r,(function(){s._loadShadersAsync(r,(function(){B(r),_(r),n.IncrementalLoading||o()}))})),n.IncrementalLoading&&o()}),a)}),a),!0},n.prototype._loadShadersAsync=function(n,r){var t=!1,i=function(t,i){e.GLTFFileLoaderExtension.LoadShaderStringAsync(n,t,(function(o){n.loadedShaderCount++,o&&(e.Effect.ShadersStore[t+(i.type===e.EShaderType.VERTEX?"VertexShader":"PixelShader")]=o),n.loadedShaderCount===n.shaderscount&&r()}),(function(){e.Tools.Error("Error when loading shader program named "+t+" located at "+i.uri)}))};for(var o in n.shaders){t=!0;var a=n.shaders[o];a?i.bind(this,o,a)():e.Tools.Error("No shader named: "+o)}t||r()},n.prototype._loadBuffersAsync=function(n,r,t){var i=!1,o=function(t,i){e.GLTFFileLoaderExtension.LoadBufferAsync(n,t,(function(o){n.loadedBufferCount++,o&&(o.byteLength!=n.buffers[t].byteLength&&e.Tools.Error("Buffer named "+t+" is length "+o.byteLength+". Expected: "+i.byteLength),n.loadedBufferViews[t]=o),n.loadedBufferCount===n.buffersCount&&r()}),(function(){e.Tools.Error("Error when loading buffer named "+t+" located at "+i.uri)}))};for(var a in n.buffers){i=!0;var s=n.buffers[a];s?o.bind(this,a,s)():e.Tools.Error("No buffer named: "+a)}i||r()},n.prototype._createNodes=function(e){var n=e.currentScene;if(n)for(var r=0;r<n.nodes.length;r++)v(e,n.nodes[r],null);else for(var t in e.scenes){n=e.scenes[t];for(var r=0;r<n.nodes.length;r++)v(e,n.nodes[r],null)}},n})();b.HomogeneousCoordinates=!1,b.IncrementalLoading=!0,b.Extensions={},e.GLTFFileLoader=b,e.SceneLoader.RegisterPlugin(new b)})(BABYLON||(BABYLON={}));var BABYLON;!(function(e){var n=(function(){function n(){}return n.SetMatrix=function(n,r,t,i,o){var a=null;switch("MODEL"===t.semantic?a=r.getWorldMatrix():"PROJECTION"===t.semantic?a=n.getProjectionMatrix():"VIEW"===t.semantic?a=n.getViewMatrix():"MODELVIEWINVERSETRANSPOSE"===t.semantic?a=e.Matrix.Transpose(r.getWorldMatrix().multiply(n.getViewMatrix()).invert()):"MODELVIEW"===t.semantic?a=r.getWorldMatrix().multiply(n.getViewMatrix()):"MODELVIEWPROJECTION"===t.semantic?a=r.getWorldMatrix().multiply(n.getTransformMatrix()):"MODELINVERSE"===t.semantic?a=r.getWorldMatrix().invert():"VIEWINVERSE"===t.semantic?a=n.getViewMatrix().invert():"PROJECTIONINVERSE"===t.semantic?a=n.getProjectionMatrix().invert():"MODELVIEWINVERSE"===t.semantic?a=r.getWorldMatrix().multiply(n.getViewMatrix()).invert():"MODELVIEWPROJECTIONINVERSE"===t.semantic?a=r.getWorldMatrix().multiply(n.getTransformMatrix()).invert():"MODELINVERSETRANSPOSE"===t.semantic&&(a=e.Matrix.Transpose(r.getWorldMatrix().invert())),t.type){case e.EParameterType.FLOAT_MAT2:o.setMatrix2x2(i,e.Matrix.GetAsMatrix2x2(a));break;case e.EParameterType.FLOAT_MAT3:o.setMatrix3x3(i,e.Matrix.GetAsMatrix3x3(a));break;case e.EParameterType.FLOAT_MAT4:o.setMatrix(i,a)}},n.SetUniform=function(n,r,t,i){switch(i){case e.EParameterType.FLOAT:return n.setFloat(r,t),!0;case e.EParameterType.FLOAT_VEC2:return n.setVector2(r,e.Vector2.FromArray(t)),!0;case e.EParameterType.FLOAT_VEC3:return n.setVector3(r,e.Vector3.FromArray(t)),!0;case e.EParameterType.FLOAT_VEC4:return n.setVector4(r,e.Vector4.FromArray(t)),!0;default:return!1}},n.IsBase64=function(e){return!(e.length<5)&&"data:"===e.substr(0,5)},n.DecodeBase64=function(e){for(var n=atob(e.split(",")[1]),r=n.length,t=new Uint8Array(new ArrayBuffer(r)),i=0;i<r;i++)t[i]=n.charCodeAt(i);return t.buffer},n.GetWrapMode=function(n){switch(n){case e.ETextureWrapMode.CLAMP_TO_EDGE:return e.Texture.CLAMP_ADDRESSMODE;case e.ETextureWrapMode.MIRRORED_REPEAT:return e.Texture.MIRROR_ADDRESSMODE;case e.ETextureWrapMode.REPEAT:default:return e.Texture.WRAP_ADDRESSMODE}},n.GetByteStrideFromType=function(e){switch(e.type){case"VEC2":return 2;case"VEC3":return 3;case"VEC4":case"MAT2":return 4;case"MAT3":return 9;case"MAT4":return 16;default:return 1}},n.GetTextureFilterMode=function(n){switch(n){case e.ETextureFilterType.LINEAR:case e.ETextureFilterType.LINEAR_MIPMAP_NEAREST:case e.ETextureFilterType.LINEAR_MIPMAP_LINEAR:return e.Texture.TRILINEAR_SAMPLINGMODE;case e.ETextureFilterType.NEAREST:case e.ETextureFilterType.NEAREST_MIPMAP_NEAREST:return e.Texture.NEAREST_SAMPLINGMODE;default:return e.Texture.BILINEAR_SAMPLINGMODE}},n.GetBufferFromBufferView=function(n,r,t,i,o){var t=r.byteOffset+t,a=n.loadedBufferViews[r.buffer];if(t+i>a.byteLength)throw new Error("Buffer access is out of range");var s=a.buffer;switch(t+=a.byteOffset,o){case e.EComponentType.BYTE:return new Int8Array(s,t,i);case e.EComponentType.UNSIGNED_BYTE:return new Uint8Array(s,t,i);case e.EComponentType.SHORT:return new Int16Array(s,t,i);case e.EComponentType.UNSIGNED_SHORT:return new Uint16Array(s,t,i);default:return new Float32Array(s,t,i)}},n.GetBufferFromAccessor=function(e,r){var t=e.bufferViews[r.bufferView],i=r.count*n.GetByteStrideFromType(r);return n.GetBufferFromBufferView(e,t,r.byteOffset,i,r.componentType)},n.DecodeBufferToText=function(e){for(var n="",r=e.byteLength,t=0;t<r;++t)n+=String.fromCharCode(e[t]);return n},n.GetDefaultMaterial=function(r){if(!n._DefaultMaterial){e.Effect.ShadersStore.GLTFDefaultMaterialVertexShader=["precision highp float;","","uniform mat4 worldView;","uniform mat4 projection;","","attribute vec3 position;","","void main(void)","{"," gl_Position = projection * worldView * vec4(position, 1.0);","}"].join("\n"),e.Effect.ShadersStore.GLTFDefaultMaterialPixelShader=["precision highp float;","","uniform vec4 u_emission;","","void main(void)","{"," gl_FragColor = u_emission;","}"].join("\n");var t={vertex:"GLTFDefaultMaterial",fragment:"GLTFDefaultMaterial"},i={attributes:["position"],uniforms:["worldView","projection","u_emission"],samplers:[],needAlphaBlending:!1};n._DefaultMaterial=new e.ShaderMaterial("GLTFDefaultMaterial",r,t,i),n._DefaultMaterial.setColor4("u_emission",new e.Color4(.5,.5,.5,1))}return n._DefaultMaterial},n})();n._DefaultMaterial=null,e.GLTFUtils=n})(BABYLON||(BABYLON={}));var BABYLON;!(function(e){var n=(function(){function n(e){this._name=e}return Object.defineProperty(n.prototype,"name",{get:function(){return this._name},enumerable:!0,configurable:!0}),n.prototype.loadRuntimeAsync=function(e,n,r,t,i){return!1},n.prototype.loadRuntimeExtensionsAsync=function(e,n,r){return!1},n.prototype.loadBufferAsync=function(e,n,r,t,i){return!1},n.prototype.loadTextureBufferAsync=function(e,n,r,t){return!1},n.prototype.createTextureAsync=function(e,n,r,t,i){return!1},n.prototype.loadShaderStringAsync=function(e,n,r,t){return!1},n.prototype.loadMaterialAsync=function(e,n,r,t){return!1},n.LoadRuntimeAsync=function(r,t,i,o,a){n.ApplyExtensions((function(e){return e.loadRuntimeAsync(r,t,i,o,a)}),(function(){setTimeout((function(){o(e.GLTFFileLoaderBase.CreateRuntime(JSON.parse(t),r,i))}))}))},n.LoadRuntimeExtensionsAsync=function(e,r,t){n.ApplyExtensions((function(n){return n.loadRuntimeExtensionsAsync(e,r,t)}),(function(){setTimeout((function(){r()}))}))},n.LoadBufferAsync=function(r,t,i,o,a){n.ApplyExtensions((function(e){return e.loadBufferAsync(r,t,i,o,a)}),(function(){e.GLTFFileLoaderBase.LoadBufferAsync(r,t,i,o,a)}))},n.LoadTextureAsync=function(e,r,t,i){n.LoadTextureBufferAsync(e,r,(function(o){return n.CreateTextureAsync(e,r,o,t,i)}),i)},n.LoadShaderStringAsync=function(r,t,i,o){n.ApplyExtensions((function(e){return e.loadShaderStringAsync(r,t,i,o)}),(function(){e.GLTFFileLoaderBase.LoadShaderStringAsync(r,t,i,o)}))},n.LoadMaterialAsync=function(r,t,i,o){n.ApplyExtensions((function(e){return e.loadMaterialAsync(r,t,i,o)}),(function(){e.GLTFFileLoaderBase.LoadMaterialAsync(r,t,i,o)}))},n.LoadTextureBufferAsync=function(r,t,i,o){n.ApplyExtensions((function(e){return e.loadTextureBufferAsync(r,t,i,o)}),(function(){e.GLTFFileLoaderBase.LoadTextureBufferAsync(r,t,i,o)}))},n.CreateTextureAsync=function(r,t,i,o,a){n.ApplyExtensions((function(e){return e.createTextureAsync(r,t,i,o,a)}),(function(){e.GLTFFileLoaderBase.CreateTextureAsync(r,t,i,o,a)}))},n.ApplyExtensions=function(n,r){for(var t in e.GLTFFileLoader.Extensions){if(n(e.GLTFFileLoader.Extensions[t]))return}r()},n})();e.GLTFFileLoaderExtension=n})(BABYLON||(BABYLON={}));var BABYLON;!(function(e){var n;!(function(e){e[e.JSON=0]="JSON"})(n||(n={}));var r=(function(r){function i(){return r.call(this,"KHR_binary_glTF")||this}return __extends(i,r),i.prototype.loadRuntimeAsync=function(n,r,t,i,o){var a=this;return r instanceof ArrayBuffer&&(setTimeout((function(){if(a._binary=a._parseBinary(r),!a._binary)return o(),!0;var s=e.GLTFFileLoaderBase.CreateRuntime(a._binary.content,n,t);s.extensionsUsed.indexOf(a.name)===-1&&(e.Tools.Warn("glTF binary file does not have "+a.name+" specified in extensionsUsed"),s.extensionsUsed.push(a.name)),i(s)})),!0)},i.prototype.loadBufferAsync=function(e,n,r,t){return e.extensionsUsed.indexOf(this.name)!==-1&&("binary_glTF"===n&&(r(this._binary.body),!0))},i.prototype.loadTextureBufferAsync=function(n,r,t,i){var o=n.textures[r],a=n.images[o.source];if(!(a.extensions&&this.name in a.extensions))return!1;var s=a.extensions[this.name],u=n.bufferViews[s.bufferView];return t(e.GLTFUtils.GetBufferFromBufferView(n,u,0,u.byteLength,e.EComponentType.UNSIGNED_BYTE)),!0},i.prototype.loadShaderStringAsync=function(n,r,t,i){var o=n.shaders[r];if(!(o.extensions&&this.name in o.extensions))return!1;var a=o.extensions[this.name],s=n.bufferViews[a.bufferView],u=e.GLTFUtils.GetBufferFromBufferView(n,s,0,s.byteLength,e.EComponentType.UNSIGNED_BYTE);return setTimeout((function(){var n=e.GLTFUtils.DecodeBufferToText(u);t(n)})),!0},i.prototype._parseBinary=function(r){var i=new t(r),o=e.GLTFUtils.DecodeBufferToText(i.getUint8Array(4));if("glTF"!=o)return e.Tools.Error("Unexpected magic: "+o),null;var a=i.getUint32()
- ;if(1!=a)return e.Tools.Error("Unsupported version: "+a),null;var s=i.getUint32();if(s!=r.byteLength)return e.Tools.Error("Length in header does not match actual data length: "+s+" != "+r.byteLength),null;var u,l=i.getUint32(),c=i.getUint32();switch(c){case n.JSON:var f=e.GLTFUtils.DecodeBufferToText(i.getUint8Array(l));u=JSON.parse(f);break;default:return e.Tools.Error("Unexpected content format: "+c),null}return{content:u,body:i.getUint8Array()}},i})(e.GLTFFileLoaderExtension);e.GLTFBinaryExtension=r;var t=(function(){function e(e){this._arrayBuffer=e,this._dataView=new DataView(e),this._byteOffset=0}return e.prototype.getUint32=function(){var e=this._dataView.getUint32(this._byteOffset,!0);return this._byteOffset+=4,e},e.prototype.getUint8Array=function(e){e||(e=this._arrayBuffer.byteLength-this._byteOffset);var n=new Uint8Array(this._arrayBuffer,this._byteOffset,e);return this._byteOffset+=e,n},e})();e.GLTFFileLoader.RegisterExtension(new r)})(BABYLON||(BABYLON={}));var BABYLON;!(function(e){var n=(function(n){function r(){return n.call(this,"KHR_materials_common")||this}return __extends(r,n),r.prototype.loadRuntimeExtensionsAsync=function(n,r,t){if(!n.extensions)return!1;var i=n.extensions[this.name];if(!i)return!1;var o=i.lights;if(o)for(var a in o){var s=o[a];switch(s.type){case"ambient":var u=new e.HemisphericLight(s.name,new e.Vector3(0,1,0),n.scene),l=s.ambient;u.diffuse=e.Color3.FromArray(l.color||[1,1,1]);break;case"point":var c=new e.PointLight(s.name,new e.Vector3(10,10,10),n.scene),f=s.point;c.diffuse=e.Color3.FromArray(f.color||[1,1,1]);break;case"directional":var d=new e.DirectionalLight(s.name,new e.Vector3(0,-1,0),n.scene),m=s.directional;d.diffuse=e.Color3.FromArray(m.color||[1,1,1]);break;case"spot":var E=s.spot,T=new e.SpotLight(s.name,new e.Vector3(0,10,0),new e.Vector3(0,-1,0),s.spot.fallOffAngle||Math.PI,s.spot.fallOffExponent||0,n.scene);T.diffuse=e.Color3.FromArray(E.color||[1,1,1]);break;default:e.Tools.Warn('GLTF Material Common extension: light type "'+s.type+"” not supported")}}return!1},r.prototype.loadMaterialAsync=function(n,r,t,i){var o=n.materials[r];if(!o||!o.extensions)return!1;var a=o.extensions[this.name];if(!a)return!1;var s=new e.StandardMaterial(r,n.scene);return s.sideOrientation=e.Material.CounterClockWiseSideOrientation,"CONSTANT"===a.technique&&(s.disableLighting=!0),s.backFaceCulling=void 0!==a.doubleSided&&!a.doubleSided,s.alpha=void 0===a.values.transparency?1:a.values.transparency,s.specularPower=void 0===a.values.shininess?0:a.values.shininess,"string"==typeof a.values.ambient?this._loadTexture(n,a.values.ambient,s,"ambientTexture",i):s.ambientColor=e.Color3.FromArray(a.values.ambient||[0,0,0]),"string"==typeof a.values.diffuse?this._loadTexture(n,a.values.diffuse,s,"diffuseTexture",i):s.diffuseColor=e.Color3.FromArray(a.values.diffuse||[0,0,0]),"string"==typeof a.values.emission?this._loadTexture(n,a.values.emission,s,"emissiveTexture",i):s.emissiveColor=e.Color3.FromArray(a.values.emission||[0,0,0]),"string"==typeof a.values.specular?this._loadTexture(n,a.values.specular,s,"specularTexture",i):s.specularColor=e.Color3.FromArray(a.values.specular||[0,0,0]),!0},r.prototype._loadTexture=function(n,r,t,i,o){e.GLTFFileLoaderBase.LoadTextureBufferAsync(n,r,(function(a){e.GLTFFileLoaderBase.CreateTextureAsync(n,r,a,(function(e){return t[i]=e}),o)}),o)},r})(e.GLTFFileLoaderExtension);e.GLTFMaterialCommonExtension=n,e.GLTFFileLoader.RegisterExtension(new n)})(BABYLON||(BABYLON={}));
|