Sfoglia il codice sorgente

Merge branch 'master' of https://github.com/BabylonJS/Babylon.js into export-frames

Kyle Belfort 5 anni fa
parent
commit
f7afb5d115
100 ha cambiato i file con 19409 aggiunte e 246360 eliminazioni
  1. 15 1
      .vscode/launch.json
  2. 0 26
      Playground/css/index.css
  3. 0 1
      Playground/debug.html
  4. 0 1
      Playground/index-local.html
  5. 0 1
      Playground/index.html
  6. 0 1
      Playground/indexStable.html
  7. 0 1
      Playground/indexWebGPU.html
  8. 3 1
      Playground/js/frame.js
  9. 6 1
      Playground/js/main.js
  10. 6 1
      Playground/js/mainWebGPU.js
  11. 12 0
      Playground/js/monacoCreator.js
  12. 0 524
      Playground/js/pbt.js
  13. BIN
      Playground/textures/ParallaxDiffuse.png
  14. BIN
      Playground/textures/ParallaxNormal.png
  15. 0 118071
      dist/babylon.no-module.max.js
  16. 0 1
      dist/babylon.worker.js
  17. 0 118074
      dist/es6.js
  18. 0 913
      dist/loaders/babylon.glTF1FileLoader.d.ts
  19. 0 1159
      dist/loaders/babylon.glTF2FileLoader.d.ts
  20. 0 1721
      dist/loaders/babylon.glTFFileLoader.d.ts
  21. 0 111
      dist/loaders/babylon.objFileLoader.d.ts
  22. 0 17
      dist/loaders/babylon.stlFileLoader.d.ts
  23. 0 280
      dist/materialsLibrary/babylon.backgroundMaterial.d.ts
  24. 0 920
      dist/materialsLibrary/babylon.backgroundMaterial.js
  25. 0 1
      dist/materialsLibrary/babylon.backgroundMaterial.min.js
  26. 0 29
      dist/materialsLibrary/babylon.cellMaterial.d.ts
  27. 0 50
      dist/materialsLibrary/babylon.customMaterial.d.ts
  28. 0 30
      dist/materialsLibrary/babylon.fireMaterial.d.ts
  29. 0 46
      dist/materialsLibrary/babylon.furMaterial.d.ts
  30. 0 29
      dist/materialsLibrary/babylon.gradientMaterial.d.ts
  31. 0 61
      dist/materialsLibrary/babylon.gridMaterial.d.ts
  32. 0 37
      dist/materialsLibrary/babylon.lavaMaterial.d.ts
  33. 0 56
      dist/materialsLibrary/babylon.mixMaterial.d.ts
  34. 0 27
      dist/materialsLibrary/babylon.normalMaterial.d.ts
  35. 0 19
      dist/materialsLibrary/babylon.shadowOnlyMaterial.d.ts
  36. 0 27
      dist/materialsLibrary/babylon.simpleMaterial.d.ts
  37. 0 29
      dist/materialsLibrary/babylon.skyMaterial.d.ts
  38. 0 41
      dist/materialsLibrary/babylon.terrainMaterial.d.ts
  39. 0 41
      dist/materialsLibrary/babylon.triPlanarMaterial.d.ts
  40. 0 110
      dist/materialsLibrary/babylon.waterMaterial.d.ts
  41. 0 102
      dist/postProcessesLibrary/babylon.asciiArtPostProcess.d.ts
  42. 0 98
      dist/postProcessesLibrary/babylon.digitalRainPostProcess.d.ts
  43. 247 60
      dist/preview release/babylon.d.ts
  44. 2 2
      dist/preview release/babylon.js
  45. 861 165
      dist/preview release/babylon.max.js
  46. 1 1
      dist/preview release/babylon.max.js.map
  47. 516 120
      dist/preview release/babylon.module.d.ts
  48. 242 60
      dist/preview release/documentation.d.ts
  49. 1 1
      dist/preview release/glTF2Interface/package.json
  50. 33 46
      dist/preview release/glslang/glslang.js
  51. BIN
      dist/preview release/glslang/glslang.wasm
  52. 3 3
      dist/preview release/gui/babylon.gui.js
  53. 1 1
      dist/preview release/gui/babylon.gui.js.map
  54. 2 2
      dist/preview release/gui/babylon.gui.min.js
  55. 2 2
      dist/preview release/gui/package.json
  56. 14 8
      dist/preview release/inspector/babylon.inspector.bundle.js
  57. 17223 3143
      dist/preview release/inspector/babylon.inspector.bundle.max.js
  58. 1 1
      dist/preview release/inspector/babylon.inspector.bundle.max.js.map
  59. 38 3
      dist/preview release/inspector/babylon.inspector.d.ts
  60. 78 7
      dist/preview release/inspector/babylon.inspector.module.d.ts
  61. 7 7
      dist/preview release/inspector/package.json
  62. 8 3
      dist/preview release/loaders/babylon.glTF1FileLoader.js
  63. 1 1
      dist/preview release/loaders/babylon.glTF1FileLoader.js.map
  64. 2 2
      dist/preview release/loaders/babylon.glTF1FileLoader.min.js
  65. 7 0
      dist/preview release/loaders/babylon.glTF2FileLoader.js
  66. 1 1
      dist/preview release/loaders/babylon.glTF2FileLoader.js.map
  67. 1 1
      dist/preview release/loaders/babylon.glTF2FileLoader.min.js
  68. 10 3
      dist/preview release/loaders/babylon.glTFFileLoader.js
  69. 1 1
      dist/preview release/loaders/babylon.glTFFileLoader.js.map
  70. 2 2
      dist/preview release/loaders/babylon.glTFFileLoader.min.js
  71. 1 1
      dist/preview release/loaders/babylon.objFileLoader.js.map
  72. 1 1
      dist/preview release/loaders/babylon.objFileLoader.min.js
  73. 1 1
      dist/preview release/loaders/babylon.stlFileLoader.js.map
  74. 1 1
      dist/preview release/loaders/babylon.stlFileLoader.min.js
  75. 10 3
      dist/preview release/loaders/babylonjs.loaders.js
  76. 1 1
      dist/preview release/loaders/babylonjs.loaders.js.map
  77. 2 2
      dist/preview release/loaders/babylonjs.loaders.min.js
  78. 3 3
      dist/preview release/loaders/package.json
  79. 3 3
      dist/preview release/materialsLibrary/babylon.cellMaterial.js
  80. 1 1
      dist/preview release/materialsLibrary/babylon.cellMaterial.js.map
  81. 2 2
      dist/preview release/materialsLibrary/babylon.cellMaterial.min.js
  82. 3 3
      dist/preview release/materialsLibrary/babylon.customMaterial.js
  83. 1 1
      dist/preview release/materialsLibrary/babylon.customMaterial.js.map
  84. 2 2
      dist/preview release/materialsLibrary/babylon.customMaterial.min.js
  85. 3 3
      dist/preview release/materialsLibrary/babylon.fireMaterial.js
  86. 1 1
      dist/preview release/materialsLibrary/babylon.fireMaterial.js.map
  87. 2 2
      dist/preview release/materialsLibrary/babylon.fireMaterial.min.js
  88. 3 3
      dist/preview release/materialsLibrary/babylon.furMaterial.js
  89. 1 1
      dist/preview release/materialsLibrary/babylon.furMaterial.js.map
  90. 2 2
      dist/preview release/materialsLibrary/babylon.furMaterial.min.js
  91. 3 3
      dist/preview release/materialsLibrary/babylon.gradientMaterial.js
  92. 1 1
      dist/preview release/materialsLibrary/babylon.gradientMaterial.js.map
  93. 2 2
      dist/preview release/materialsLibrary/babylon.gradientMaterial.min.js
  94. 3 3
      dist/preview release/materialsLibrary/babylon.gridMaterial.js
  95. 1 1
      dist/preview release/materialsLibrary/babylon.gridMaterial.js.map
  96. 2 2
      dist/preview release/materialsLibrary/babylon.gridMaterial.min.js
  97. 3 3
      dist/preview release/materialsLibrary/babylon.lavaMaterial.js
  98. 1 1
      dist/preview release/materialsLibrary/babylon.lavaMaterial.js.map
  99. 2 2
      dist/preview release/materialsLibrary/babylon.lavaMaterial.min.js
  100. 0 0
      dist/preview release/materialsLibrary/babylon.mixMaterial.js

+ 15 - 1
.vscode/launch.json

@@ -13,7 +13,21 @@
             "runtimeArgs": [
                 "--enable-unsafe-es3-apis"
             ]
-        },        
+        },           
+        {
+            "name": "Launch Node Material Editor (Edge)",
+            "type": "edge",
+            "version": "dev",
+            "request": "launch",
+            "url": "http://localhost:1338/nodeEditor/public/index-local.html",
+            "webRoot": "${workspaceRoot}/",
+            "sourceMaps": true,
+            "preLaunchTask": "run",
+            "userDataDir": "${workspaceRoot}/.tempChromeProfileForDebug",
+            "runtimeArgs": [
+                "--enable-unsafe-es3-apis"
+            ]
+        },      
         {
             "name": "Launch Viewer (Chrome)",
             "type": "chrome",

+ 0 - 26
Playground/css/index.css

@@ -221,32 +221,6 @@ body {
     background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAeCAYAAADkftS9AAAAIklEQVQoU2M4c+bMfxAGAgYYmwGrIIiDjrELjpo5aiZeMwF+yNnOs5KSvgAAAABJRU5ErkJggg==");
 }
 
-.pbt-fade {
-    opacity: 0.5
-}
-
-.pbt-darken {
-    opacity: 1
-}
-
-.pbt-back-highlight {
-    background-color: #CDC8F9;
-}
-
-.pbt-margin-decor-on {
-    background-color: #364249;
-    width: 5px;
-}
-
-.pbt-back-highlight-dark {
-    background-color: #364249;
-}
-
-.pbt-margin-decor-on-dark {
-    background-color: #CDC8F9;
-    width: 5px;
-}
-
 #exampleList {
     z-index: 10;
     display: none;

+ 0 - 1
Playground/debug.html

@@ -488,7 +488,6 @@
 
         <!-- Main scripts -->
         <script src="/js/config_versions.js"></script>
-        <script src="/js/pbt.js"></script>
         <script src="/js/examples.js"></script>
         <script src="/js/main.js"></script>
         <script src="/js/menuPG.js"></script>

+ 0 - 1
Playground/index-local.html

@@ -415,7 +415,6 @@
 
         <!-- Main scripts -->
         <script src="js/config_versions.js"></script>
-        <script src="js/pbt.js"></script>
         <script src="js/examples.js"></script>
         <script src="js/main.js"></script>
         <script src="js/menuPG.js"></script>

+ 0 - 1
Playground/index.html

@@ -441,7 +441,6 @@
 
         <!-- Main scripts -->
         <script src="/js/config_versions.js"></script>
-        <script src="/js/pbt.js"></script>
         <script src="/js/examples.js"></script>
         <script src="/js/main.js"></script>
         <script src="/js/menuPG.js"></script>

+ 0 - 1
Playground/indexStable.html

@@ -416,7 +416,6 @@
 
         <!-- Main scripts -->
         <script src="/js/config_versions.js"></script>
-        <script src="/js/pbt.js"></script>
         <script src="/js/examples.js"></script>
         <script src="/js/main.js"></script>
         <script src="/js/menuPG.js"></script>

+ 0 - 1
Playground/indexWebGPU.html

@@ -409,7 +409,6 @@
 
         <!-- Main scripts -->
         <script src="/js/config_versions.js"></script>
-        <script src="/js/pbt.js"></script>
         <script src="/js/libs/typescript.js"></script>
         <script src="/js/examples.js"></script>
         <!-- <script src="/js/main.js"></script> -->

+ 3 - 1
Playground/js/frame.js

@@ -118,7 +118,9 @@ run = function () {
                 if (scene.activeCamera || scene.activeCameras.length > 0) {
                     scene.render();
                 }
-                if (fpsLabel) {
+                if (fpsLabel && !(scene.activeCamera && 
+                    scene.activeCamera.getClassName && 
+                    scene.activeCamera.getClassName() === 'WebXRCamera')) {
                     fpsLabel.innerHTML = engine.getFps().toFixed() + " fps";
                 }
             }.bind(this));

+ 6 - 1
Playground/js/main.js

@@ -164,7 +164,12 @@ compileAndRun = function (parent, fpsLabel) {
                     sceneToRender.render();
                 }
 
-                fpsLabel.innerHTML = engine.getFps().toFixed() + " fps";
+                // Update FPS if camera is not a webxr camera
+                if(!(sceneToRender.activeCamera && 
+                    sceneToRender.activeCamera.getClassName && 
+                    sceneToRender.activeCamera.getClassName() === 'WebXRCamera')) {
+                    fpsLabel.innerHTML = engine.getFps().toFixed() + " fps";
+                }
             }.bind(this));
 
             if (checkSceneCount && engine.scenes.length === 0) {

+ 6 - 1
Playground/js/mainWebGPU.js

@@ -153,7 +153,12 @@ compileAndRun = function(parent, fpsLabel) {
                         scene.render();
                     }
 
-                    fpsLabel.innerHTML = engine.getFps().toFixed() + " fps";
+                    // Update FPS if camera is not a webxr camera
+                    if(!(scene.activeCamera && 
+                        scene.activeCamera.getClassName && 
+                        scene.activeCamera.getClassName() === 'WebXRCamera')) {
+                        fpsLabel.innerHTML = engine.getFps().toFixed() + " fps";
+                    }
                 }.bind(this));
 
                 if (checkSceneCount && engine.scenes.length === 0) {

+ 12 - 0
Playground/js/monacoCreator.js

@@ -27,6 +27,18 @@ class MonacoCreator {
         this.addOnMonacoLoadedCallback(
             function () {
                 this.parent.main.run();
+
+                // Register a global observable for inspector to request code changes
+                window.Playground = {
+                    onRequestCodeChangeObservable: new BABYLON.Observable()
+                }
+
+                window.Playground.onRequestCodeChangeObservable.add((options) => {
+                    let code = this.getCode();
+                    code = code.replace(options.regex, options.replace);
+
+                    this.setCode(code);
+                });
             },
             this
         );

+ 0 - 524
Playground/js/pbt.js

@@ -1,524 +0,0 @@
-// jsEditor Manipulation
-var PBT = function() {    
-    this.decorationStyles = new Array();
-    this.decorations = new Array();
-    this.lineRanges = new Array();
-    var advancedTexture = BABYLON.GUI.AdvancedDynamicTexture.CreateFullscreenUI("UI");
-    var background = "pbt-back-highlight";
-    var margin = "pbt-margin-decor-on";
-    if(localStorage.getItem("bjs-playground-theme") =="dark") {
-        background += "-dark";
-        margin +="-dark";
-    }
-    this.clearDecorLines = function() {
-        this.decorations = jsEditor.deltaDecorations(this.decorations, []);
-    }
-
-    this.setDecorLines = function (lineRanges) {    
-        this.decorationStyles = [];
-
-    var endLineNm = jsEditor.getModel()._lines.length;
-        this.decorationStyles.push({ range: new monaco.Range(1,1,endLineNm,1), options: { isWholeLine: true, inlineClassName: 'pbt-fade' }});
-        
-        for(var i = 0; i < lineRanges.length; i +=2) {          
-            this.decorationStyles.push({ range: new monaco.Range(lineRanges[i],1,lineRanges[i + 1],1), options: { isWholeLine: true, linesDecorationsClassName: margin }});
-            this.decorationStyles.push({ range: new monaco.Range(lineRanges[i],1,lineRanges[i + 1],1), options: { isWholeLine: true, className: background }});
-            this.decorationStyles.push({ range: new monaco.Range(lineRanges[i],1,lineRanges[i + 1],1), options: { isWholeLine: true, inlineClassName: 'pbt-darken' }});
-        }
-
-    this.decorations = jsEditor.deltaDecorations([this.decorations], this.decorationStyles);  
-    }
-
-    this.replaceLines = function(lineRange, text) {   
-        jsEditor.executeEdits("", [
-            { range: new monaco.Range(lineRange[0], 1, lineRange[1], 100000), text: text}
-       ]);
-    }
-
-    this.replaceText = function(line, start, end, text) {   
-        jsEditor.executeEdits("", [
-            { range: new monaco.Range(line, start, line, end), text: text}
-       ]);
-    }
-
-    this.getLineText = function(lineNm) {
-        return jsEditor.getModel().getLineContent(lineNm);
-    }
-
-    this.hideLines = function(lineRanges) {
-        var ranges = [];
-        this.lineRanges = lineRanges;
-        for(var i = 0; i < lineRanges.length; i +=2) {
-            ranges.push(new monaco.Range(lineRanges[i], 1, lineRanges[i + 1], 100000));                
-        }
-        jsEditor.setHiddenAreas(ranges);
-    }
-
-    this.hideRange = function(lineRanges) {       
-        var ranges = [];
-        lineRanges = this.lineRanges.concat(lineRanges);
-        this.lineRanges = lineRanges;
-        for(var i = 0; i < lineRanges.length; i +=2) {
-            ranges.push(new monaco.Range(lineRanges[i], 1, lineRanges[i + 1], 100000));                
-        }
-        jsEditor.setHiddenAreas(ranges);
-    }
-
-    this.showRange = function(lineRanges) {
-        var rangePairs = [];
-        var linePairs = [];       
-        for(var i = 0; i < this.lineRanges.length; i +=2) {
-            rangePairs.push(this.lineRanges[i] + "=" + this.lineRanges[i + 1]);                
-        }        
-        for(var i = 0; i < lineRanges.length; i +=2) {
-            linePairs.push(lineRanges[i] + "=" + lineRanges[i + 1]);                
-        }       
-        var rangeString = rangePairs.join("-");         
-        for(var i = 0; i < linePairs.length; i++) {           
-            rangeString = rangeString.replace(linePairs[i]+"-", "");
-            rangeString = rangeString.replace("-" + linePairs[i], ""); //when last element
-        }        
-        rangeString = rangeString.replace(/-/g, ",");       
-        rangeString = rangeString.replace(/=/g, ",");       
-        lineRanges = rangeString.split(",");      
-        lineRanges = lineRanges.map(function(n){
-            return parseInt(n);
-        });       
-        var ranges = [];
-        for(var i = 0; i < lineRanges.length; i +=2) {
-            ranges.push(new monaco.Range(lineRanges[i], 1, lineRanges[i + 1], 100000));                
-        }
-        this.lineRanges = lineRanges;        
-        jsEditor.setHiddenAreas(ranges);
-    }
-
-    this.editOn = function() {
-        jsEditor.updateOptions({readOnly: false});
-    }
-
-    this.editOff = function() {
-        jsEditor.updateOptions({readOnly: true});
-    }
-
-    //hide menu items
-    this.hideMenu = function() {
-        var headings = document.getElementsByClassName('category');
-        
-        for (var i = 0; i < headings.length; i ++) {
-            headings[i].style.visibility = 'hidden';
-        }
-    
-        headings = document.getElementsByClassName('category right');
-        
-        for (var i = 0; i < headings.length; i ++) {
-            headings[i].style.visibility = 'visible';
-        }
-    }
-
-    //Standard GUI Dialogues
-    this.StandardDialog = function(options) {   
-        options = options||{};
-        var width = options.width||0.5;
-        var height = options.height||0.25;
-        var top = options.top||0;
-        var left = options.left||0;
-        var verticalAlignment = options.verticalAlignment||BABYLON.GUI.Control.VERTICAL_ALIGNMENT_TOP;
-        var horizontalAlignment = options.horizontalAlignment||BABYLON.GUI.Control.HORIZONTAL_ALIGNMENT_LEFT;
-        var text = options.text||"Playground Based Tutorial";   
-        if(options.useImage === undefined) {
-            var useImage = true;
-        }
-        else {
-            var useImage = false;
-        }
-        var imageURL = options.imageURL||"LogoPBT.png";
-        var textBlockWidth = 0.95;
-        var textBlockLeft = "2%";
-        this.container = new BABYLON.GUI.Rectangle();
-        this.container.verticalAlignment = verticalAlignment;
-        this.container.horizontalAlignment = horizontalAlignment;
-        this.container.width = width;
-        this.container.height = height;
-        this.container.cornerRadius = 10;
-        this.container.color = "#364249";
-        this.container.thickness = 4;
-        this.container.background = "#CDC8F9";
-        this.container.top = top;
-        this.container.left = left;   
-        advancedTexture.addControl(this.container); 
-        if(useImage) {
-            this.logoPBT = BABYLON.GUI.Button.CreateImageOnlyButton("but", imageURL);
-            this.logoPBT.width = "100px";
-            this.logoPBT.height = "100px";
-            this.logoPBT.horizontalAlignment = BABYLON.GUI.Control.HORIZONTAL_ALIGNMENT_LEFT;
-            this.logoPBT.verticalAlignment = BABYLON.GUI.Control.VERTICAL_ALIGNMENT_TOP;
-            this.logoPBT.top = 2;
-            this.logoPBT.left=2;
-            this.logoPBT.color = "#CDC8F9";
-            this.container.addControl(this.logoPBT);
-            textBlockWidth = 0.6;
-            textBlockLeft = "35%";
-        }
-        this.textBlock = new BABYLON.GUI.TextBlock("text", text);
-        this.textBlock.width = textBlockWidth;
-        this.textBlock.height = 0.7
-        this.textBlock.textWrapping = true;
-        this.textBlock.textHorizontalAlignment = BABYLON.GUI.Control.HORIZONTAL_ALIGNMENT_LEFT;
-        this.textBlock.color = "#364249";
-        this.textBlock.verticalAlignment = BABYLON.GUI.Control.VERTICAL_ALIGNMENT_TOP;
-        this.textBlock.horizontalAlignment = BABYLON.GUI.Control.HORIZONTAL_ALIGNMENT_LEFT;
-        this.textBlock.left = textBlockLeft;
-        this.textBlock.top = 2;
-        this.container.addControl(this.textBlock);
-
-        this.nextButton = BABYLON.GUI.Button.CreateSimpleButton("nextbut", "Next >");
-        this.nextButton.width = 0.2
-        this.nextButton.height = 0.15;
-        this.nextButton.color = "white";
-        this.nextButton.cornerRadius = 5;
-        this.nextButton.background = "#364249";
-        this.nextButton.verticalAlignment = BABYLON.GUI.Control.VERTICAL_ALIGNMENT_TOP;
-        this.nextButton.horizontalAlignment = BABYLON.GUI.Control.HORIZONTAL_ALIGNMENT_LEFT;
-        this.nextButton.left = "78%";
-        this.nextButton.top = "80%";
-        this.container.addControl(this.nextButton);
-
-        this.prevButton = BABYLON.GUI.Button.CreateSimpleButton("prevbut", "< Prev");
-        this.prevButton.width = 0.2
-        this.prevButton.height = 0.15;
-        this.prevButton.color = "white";
-        this.prevButton.cornerRadius = 5;
-        this.prevButton.background = "#364249";
-        this.prevButton.verticalAlignment = BABYLON.GUI.Control.VERTICAL_ALIGNMENT_TOP;
-        this.prevButton.horizontalAlignment = BABYLON.GUI.Control.HORIZONTAL_ALIGNMENT_LEFT;
-        this.prevButton.left = "2%";
-        this.prevButton.top = "80%";
-        this.container.addControl(this.prevButton); 
-
-        this.showNext = function() {
-            this.nextButton.isVisible = true;
-        }
-
-        this.hideNext = function() {
-            this.nextButton.isVisible = false;
-        }
-
-        this.getNextButton = function() {
-            return this.nextButton;
-        }
-
-        this.getPrevButton = function() {
-            return this.prevButton;
-        }
-
-        this.showPrev = function() {
-            this.prevButton.isVisible = true;
-        }
-
-        this.hidePrev = function() {
-            this.prevButton.isVisible = false;
-        }
-
-        this.setWidth = function(width) {
-            this.container.width = width;
-        }
-
-        this.setHeight = function(height) {
-            this.container.height = height;
-        }
-
-        this.setTop = function(top) {
-            this.container.top = top;
-        }
-
-        this.setLeft = function(left) {
-            this.container.left = left;
-        }
-
-        this.getWidth = function() {
-            return this.container.width;
-        }
-
-        this.getHeight = function() {
-            return this.container.height;
-        }
-
-        this.getTop = function() {
-            return this.container.top;
-        }
-
-        this.getLeft = function() {
-            return this.container.left;
-        }
-
-        this.setHorizontalAlignment = function(hrzAlgn) {
-            this.container.horizontalAlignment = hrzAlgn;
-        }
-
-        this.setVerticalAlignment = function(vrtAlign) {
-            this.container.VerticalAlignmenv = vrtAlign;
-        }
-
-        this.setText = function(text) {
-            this.textBlock.text = text;
-        }
-
-        this.show = function() {
-            this.container.isVisible = true;
-        }
-
-        this.hide = function() {
-            this.container.isVisible = false;
-        }
-
-        return this;
-    }
-
-//Radio and Checkbox Button GUI
-    this.ButtonGroup = function(name, type) {
-        this.name = name;
-        var type = type||"C"; 
-        type = type.substr(0,1).toUpperCase();
-        if(type !="R") {
-            if(type != "S") {
-                if(type != "C") {
-                    type = "C";
-                }
-            }
-        }
-        this.type = type;   
-        this.buttons = new Array();
-        
-        this.addButton = function(text, func, checked) {
-            this.buttons.push({
-                text: text||"", 
-                func: func||function(){}, 
-                checked: checked||false
-            });
-        }
-
-        this.addSlider = function(text, func, unit, onVal, min, max, value) {        
-            this.buttons.push({
-                text: text||"",                
-                func: func||function(){},
-                unit: unit||"", 
-                onVal: onVal||function(){},
-                min: min||0,
-                max: max||10,
-                value: value||0
-            });
-        }
-        return this;
-    }
-
-    this.SelectionDialog = function(options) {
-        options = options||{};
-        var justStarted = true;
-        var width = options.width||0.3;
-        var top = options.top||0;
-        var left = options.left||0;  
-        var verticalAlignment = options.verticalAlignment||BABYLON.GUI.Control.VERTICAL_ALIGNMENT_BOTTOM;
-        var horizontalAlignment = options.horizontalAlignment||BABYLON.GUI.Control.HORIZONTAL_ALIGNMENT_LEFT;    
-        var groups = options.groups; 
-        this.container = new BABYLON.GUI.Rectangle();
-        this.container.verticalAlignment = verticalAlignment;
-        this.container.horizontalAlignment = horizontalAlignment;   
-        var height = 36 * groups.length;
-        for(var i = 0; i < groups.length; i++) {
-            height += 32 * groups[i].buttons.length;
-            if(groups[i].type == "S") {
-                height += 31 * groups[i].buttons.length;
-            }
-        }
-        this.container.height = height + "px";
-        this.container.cornerRadius = 10;
-        this.container.color = "#364249";
-        this.container.thickness = 4;
-        this.container.background = "#CDC8F9";
-        this.container.top = top;
-        this.container.left = left;
-        this.container.width = width;
-        advancedTexture.addControl(this.container);
-        
-        var panel = new BABYLON.GUI.StackPanel(); 
-        panel.verticalAlignment = BABYLON.GUI.Control.VERTICAL_ALIGNMENT_TOP;
-        panel.horizontalAlignment = BABYLON.GUI.Control.HORIZONTAL_ALIGNMENT_LEFT;
-        panel.top = 5;
-        panel.left = 5;
-        this.container.addControl(panel);
-
-        var addRadio = function(text, parent, group, func, checked) {
-            checked = checked || false;
-            var button = new BABYLON.GUI.RadioButton();
-            button.width = "20px";
-            button.height = "20px";
-            button.color = "#364249";
-            button.background = "white"; 
-            button.group = group;
-            button.horizontalAlignment = BABYLON.GUI.Control.HORIZONTAL_ALIGNMENT_LEFT;
-            button.justStarted = true;
-            button.func = func;
-
-            button.onIsCheckedChangedObservable.add(function(state) {                       		
-                if (state && !justStarted) {                  
-                    func();
-                }
-            }); 
-
-            var header = BABYLON.GUI.Control.AddHeader(button, text, "200px", { isHorizontal: true, controlFirst: true });
-            header.height = "30px";
-            header.horizontalAlignment = BABYLON.GUI.Control.HORIZONTAL_ALIGNMENT_LEFT;
-            header.left = "4px";
-
-            parent.addControl(header);    
-            button.isChecked = checked; 
-        }
-
-        var addCheckbox = function(text, parent, func, checked) {
-            checked = checked || false;
-            var button = new BABYLON.GUI.Checkbox();
-            button.width = "20px";
-            button.height = "20px";
-            button.color = "#364249";
-            button.background = "white"; 
-            button.horizontalAlignment = BABYLON.GUI.Control.HORIZONTAL_ALIGNMENT_LEFT;
-            
-            button.onIsCheckedChangedObservable.add(function(state) {	
-                func();	
-            }); 
-            
-            var header = BABYLON.GUI.Control.AddHeader(button, text, "200px", { isHorizontal: true, controlFirst: true });
-            header.height = "30px";
-            header.horizontalAlignment = BABYLON.GUI.Control.HORIZONTAL_ALIGNMENT_LEFT;
-            header.left = "4px";
-            
-            parent.addControl(header);    
-            button.isChecked = checked;
-        }
-
-        var addSldr = function(text, parent, func, unit, onValueChange, min, max, value) {         
-            var button = new BABYLON.GUI.Slider();  
-            button.value = value;
-            button.minimum = min;
-            button.maximum = max;
-            button.width = "200px";
-            button.height = "20px";
-            button.color = "#364249";
-            button.background = "white"; 
-            button.horizontalAlignment = BABYLON.GUI.Control.HORIZONTAL_ALIGNMENT_LEFT;
-            button.left = "4px";
-
-            var header = new BABYLON.GUI.TextBlock();
-            header.text = text+": " + value + " " + unit;
-            header.height = "30px";
-            header.color = "#364249";
-            header.textHorizontalAlignment = BABYLON.GUI.Control.HORIZONTAL_ALIGNMENT_LEFT;
-            header.left = "4px";
-            parent.addControl(header);  
-
-            button.onValueChangedObservable.add(function(value) {
-                header.text = text + onValueChange(value) + " " + unit;
-                func(value);
-            });
-            parent.addControl(button);
-        }
-
-        var groupHeader = function(name) {
-            var groupHeading = new BABYLON.GUI.TextBlock("groupHead", name);
-            groupHeading.width = 0.9;
-            groupHeading.height = "30px";
-            groupHeading.textWrapping = true;
-            groupHeading.color = "black";
-            groupHeading.horizontalAlignment = BABYLON.GUI.Control.HORIZONTAL_ALIGNMENT_LEFT;
-            groupHeading.textHorizontalAlignment = BABYLON.GUI.Control.HORIZONTAL_ALIGNMENT_LEFT;
-            groupHeading.left = "2px";
-            panel.addControl(groupHeading);
-        }
-
-        var addSpacer = function(name) {
-            var separator = new BABYLON.GUI.Rectangle();
-            separator.width = 1;
-            separator.height = "2px";
-            separator.horizontalAlignment = BABYLON.GUI.Control.HORIZONTAL_ALIGNMENT_LEFT;
-            separator.background = "#364249";
-            separator.color = "#364249";
-            panel.addControl(separator);
-            
-            groupHeader(name);
-        }
-
-        this.addGroup = function(group) {
-            if(group.type == "R") {
-                for(var i = 0; i < group.buttons.length; i++) {
-                    addRadio(group.buttons[i].text, panel, group.name, group.buttons[i].func, group.buttons[i].checked);
-                }
-            }
-            else if(group.type == "S") {
-                for(var i = 0; i < group.buttons.length; i++) {
-                    addSldr(group.buttons[i].text, panel, group.buttons[i].func, group.buttons[i].unit, group.buttons[i].onVal, group.buttons[i].min, group.buttons[i].max, group.buttons[i].value);
-                }
-            }
-            else {
-                for(var i = 0; i < group.buttons.length; i++) {
-                    addCheckbox(group.buttons[i].text, panel, group.buttons[i].func, group.buttons[i].checked);
-                }
-            }
-            
-            
-        }
-        
-        groupHeader(groups[0].name);
-        this.addGroup(groups[0]);
-        for(var i = 1; i < groups.length; i++) {
-            addSpacer(groups[i].name);
-            this.addGroup(groups[i]);
-        }
-
-        justStarted = false;
-
-        this.setWidth = function(width) {
-            this.container.width = width;
-        }
-
-        this.setTop = function(top) {
-            this.container.top = top;
-        }
-
-        this.setLeft = function(left) {
-            this.container.left = left;
-        }
-
-        this.getWidth = function() {
-            return this.container.width;
-        }
-
-        this.getTop = function() {
-            return this.container.top;
-        }
-
-        this.getLeft = function() {
-            return this.container.left;
-        }
-
-        this.setHorizontalAlignment = function(hrzAlgn) {
-            this.container.horizontalAlignment = hrzAlgn;
-        }
-
-        this.setVerticalAlignment = function(vrtAlign) {
-            this.container.VerticalAlignmenv = vrtAlign;
-        }
-
-        this.show = function() {
-            this.container.isVisible = true;
-        }
-
-        this.hide = function() {
-            this.container.isVisible = false;
-        }
-
-    return this;
-
-    }
-}
-
-    

BIN
Playground/textures/ParallaxDiffuse.png


BIN
Playground/textures/ParallaxNormal.png


File diff suppressed because it is too large
+ 0 - 118071
dist/babylon.no-module.max.js


File diff suppressed because it is too large
+ 0 - 1
dist/babylon.worker.js


File diff suppressed because it is too large
+ 0 - 118074
dist/es6.js


+ 0 - 913
dist/loaders/babylon.glTF1FileLoader.d.ts

@@ -1,913 +0,0 @@
-
-
-declare module BABYLON {
-    /**
-     * Mode that determines the coordinate system to use.
-     */
-    enum GLTFLoaderCoordinateSystemMode {
-        /**
-         * Automatically convert the glTF right-handed data to the appropriate system based on the current coordinate system mode of the scene.
-         */
-        AUTO = 0,
-        /**
-         * Sets the useRightHandedSystem flag on the scene.
-         */
-        FORCE_RIGHT_HANDED = 1
-    }
-    /**
-     * Mode that determines what animations will start.
-     */
-    enum GLTFLoaderAnimationStartMode {
-        /**
-         * No animation will start.
-         */
-        NONE = 0,
-        /**
-         * The first animation will start.
-         */
-        FIRST = 1,
-        /**
-         * All animations will start.
-         */
-        ALL = 2
-    }
-    /**
-     * Interface that contains the data for the glTF asset.
-     */
-    interface IGLTFLoaderData {
-        /**
-         * Object that represents the glTF JSON.
-         */
-        json: Object;
-        /**
-         * The BIN chunk of a binary glTF.
-         */
-        bin: Nullable<ArrayBufferView>;
-    }
-    /**
-     * Interface for extending the loader.
-     */
-    interface IGLTFLoaderExtension {
-        /**
-         * The name of this extension.
-         */
-        readonly name: string;
-        /**
-         * Defines whether this extension is enabled.
-         */
-        enabled: boolean;
-    }
-    /**
-     * Loader state.
-     */
-    enum GLTFLoaderState {
-        /**
-         * The asset is loading.
-         */
-        LOADING = 0,
-        /**
-         * The asset is ready for rendering.
-         */
-        READY = 1,
-        /**
-         * The asset is completely loaded.
-         */
-        COMPLETE = 2
-    }
-    /** @hidden */
-    interface IGLTFLoader extends IDisposable {
-        readonly state: Nullable<GLTFLoaderState>;
-        importMeshAsync: (meshesNames: any, scene: Scene, data: IGLTFLoaderData, rootUrl: string, onProgress?: (event: SceneLoaderProgressEvent) => void, fileName?: string) => Promise<{
-            meshes: AbstractMesh[];
-            particleSystems: IParticleSystem[];
-            skeletons: Skeleton[];
-            animationGroups: AnimationGroup[];
-        }>;
-        loadAsync: (scene: Scene, data: IGLTFLoaderData, rootUrl: string, onProgress?: (event: SceneLoaderProgressEvent) => void, fileName?: string) => Promise<void>;
-    }
-    /**
-     * File loader for loading glTF files into a scene.
-     */
-    class GLTFFileLoader implements IDisposable, ISceneLoaderPluginAsync, ISceneLoaderPluginFactory {
-        /** @hidden */
-        static _CreateGLTFLoaderV1: (parent: GLTFFileLoader) => IGLTFLoader;
-        /** @hidden */
-        static _CreateGLTFLoaderV2: (parent: GLTFFileLoader) => IGLTFLoader;
-        /**
-         * Raised when the asset has been parsed
-         */
-        onParsedObservable: Observable<IGLTFLoaderData>;
-        private _onParsedObserver;
-        /**
-         * Raised when the asset has been parsed
-         */
-        onParsed: (loaderData: IGLTFLoaderData) => void;
-        /**
-         * Set this property to false to disable incremental loading which delays the loader from calling the success callback until after loading the meshes and shaders.
-         * Textures always loads asynchronously. For example, the success callback can compute the bounding information of the loaded meshes when incremental loading is disabled.
-         * Defaults to true.
-         * @hidden
-         */
-        static IncrementalLoading: boolean;
-        /**
-         * Set this property to true in order to work with homogeneous coordinates, available with some converters and exporters.
-         * Defaults to false. See https://en.wikipedia.org/wiki/Homogeneous_coordinates.
-         * @hidden
-         */
-        static HomogeneousCoordinates: boolean;
-        /**
-         * The coordinate system mode. Defaults to AUTO.
-         */
-        coordinateSystemMode: GLTFLoaderCoordinateSystemMode;
-        /**
-        * The animation start mode. Defaults to FIRST.
-        */
-        animationStartMode: GLTFLoaderAnimationStartMode;
-        /**
-         * Defines if the loader should compile materials before raising the success callback. Defaults to false.
-         */
-        compileMaterials: boolean;
-        /**
-         * Defines if the loader should also compile materials with clip planes. Defaults to false.
-         */
-        useClipPlane: boolean;
-        /**
-         * Defines if the loader should compile shadow generators before raising the success callback. Defaults to false.
-         */
-        compileShadowGenerators: boolean;
-        /**
-         * Defines if the Alpha blended materials are only applied as coverage.
-         * If false, (default) The luminance of each pixel will reduce its opacity to simulate the behaviour of most physical materials.
-         * If true, no extra effects are applied to transparent pixels.
-         */
-        transparencyAsCoverage: boolean;
-        /**
-         * Function called before loading a url referenced by the asset.
-         */
-        preprocessUrlAsync: (url: string) => Promise<string>;
-        /**
-         * Observable raised when the loader creates a mesh after parsing the glTF properties of the mesh.
-         */
-        readonly onMeshLoadedObservable: Observable<AbstractMesh>;
-        private _onMeshLoadedObserver;
-        /**
-         * Callback raised when the loader creates a mesh after parsing the glTF properties of the mesh.
-         */
-        onMeshLoaded: (mesh: AbstractMesh) => void;
-        /**
-         * Observable raised when the loader creates a texture after parsing the glTF properties of the texture.
-         */
-        readonly onTextureLoadedObservable: Observable<BaseTexture>;
-        private _onTextureLoadedObserver;
-        /**
-         * Callback raised when the loader creates a texture after parsing the glTF properties of the texture.
-         */
-        onTextureLoaded: (texture: BaseTexture) => void;
-        /**
-         * Observable raised when the loader creates a material after parsing the glTF properties of the material.
-         */
-        readonly onMaterialLoadedObservable: Observable<Material>;
-        private _onMaterialLoadedObserver;
-        /**
-         * Callback raised when the loader creates a material after parsing the glTF properties of the material.
-         */
-        onMaterialLoaded: (material: Material) => void;
-        /**
-         * Observable raised when the loader creates a camera after parsing the glTF properties of the camera.
-         */
-        readonly onCameraLoadedObservable: Observable<Camera>;
-        private _onCameraLoadedObserver;
-        /**
-         * Callback raised when the loader creates a camera after parsing the glTF properties of the camera.
-         */
-        onCameraLoaded: (camera: Camera) => void;
-        /**
-         * Observable raised when the asset is completely loaded, immediately before the loader is disposed.
-         * For assets with LODs, raised when all of the LODs are complete.
-         * For assets without LODs, raised when the model is complete, immediately after the loader resolves the returned promise.
-         */
-        readonly onCompleteObservable: Observable<void>;
-        private _onCompleteObserver;
-        /**
-         * Callback raised when the asset is completely loaded, immediately before the loader is disposed.
-         * For assets with LODs, raised when all of the LODs are complete.
-         * For assets without LODs, raised when the model is complete, immediately after the loader resolves the returned promise.
-         */
-        onComplete: () => void;
-        /**
-         * Observable raised when an error occurs.
-         */
-        readonly onErrorObservable: Observable<any>;
-        private _onErrorObserver;
-        /**
-         * Callback raised when an error occurs.
-         */
-        onError: (reason: any) => void;
-        /**
-         * Observable raised after the loader is disposed.
-         */
-        readonly onDisposeObservable: Observable<void>;
-        private _onDisposeObserver;
-        /**
-         * Callback raised after the loader is disposed.
-         */
-        onDispose: () => void;
-        /**
-         * Observable raised after a loader extension is created.
-         * Set additional options for a loader extension in this event.
-         */
-        readonly onExtensionLoadedObservable: Observable<IGLTFLoaderExtension>;
-        private _onExtensionLoadedObserver;
-        /**
-         * Callback raised after a loader extension is created.
-         */
-        onExtensionLoaded: (extension: IGLTFLoaderExtension) => void;
-        /**
-         * Defines if the loader logging is enabled.
-         */
-        loggingEnabled: boolean;
-        /**
-         * Defines if the loader should capture performance counters.
-         */
-        capturePerformanceCounters: boolean;
-        /**
-         * Defines if the loader should validate the asset.
-         */
-        validate: boolean;
-        /**
-         * Observable raised after validation when validate is set to true. The event data is the result of the validation.
-         */
-        readonly onValidatedObservable: Observable<IGLTFValidationResults>;
-        private _onValidatedObserver;
-        /**
-         * Callback raised after a loader extension is created.
-         */
-        onValidated: (results: IGLTFValidationResults) => void;
-        private _loader;
-        /**
-         * Name of the loader ("gltf")
-         */
-        name: string;
-        /**
-         * Supported file extensions of the loader (.gltf, .glb)
-         */
-        extensions: ISceneLoaderPluginExtensions;
-        /**
-         * Disposes the loader, releases resources during load, and cancels any outstanding requests.
-         */
-        dispose(): void;
-        /** @hidden */
-        _clear(): void;
-        /**
-         * Imports one or more meshes from the loaded glTF data and adds them to the scene
-         * @param meshesNames a string or array of strings of the mesh names that should be loaded from the file
-         * @param scene the scene the meshes should be added to
-         * @param data the glTF data to load
-         * @param rootUrl root url to load from
-         * @param onProgress event that fires when loading progress has occured
-         * @param fileName Defines the name of the file to load
-         * @returns a promise containg the loaded meshes, particles, skeletons and animations
-         */
-        importMeshAsync(meshesNames: any, scene: Scene, data: any, rootUrl: string, onProgress?: (event: SceneLoaderProgressEvent) => void, fileName?: string): Promise<{
-            meshes: AbstractMesh[];
-            particleSystems: IParticleSystem[];
-            skeletons: Skeleton[];
-            animationGroups: AnimationGroup[];
-        }>;
-        /**
-         * Imports all objects from the loaded glTF data and adds them to the scene
-         * @param scene the scene the objects should be added to
-         * @param data the glTF data to load
-         * @param rootUrl root url to load from
-         * @param onProgress event that fires when loading progress has occured
-         * @param fileName Defines the name of the file to load
-         * @returns a promise which completes when objects have been loaded to the scene
-         */
-        loadAsync(scene: Scene, data: string | ArrayBuffer, rootUrl: string, onProgress?: (event: SceneLoaderProgressEvent) => void, fileName?: string): Promise<void>;
-        /**
-         * Load into an asset container.
-         * @param scene The scene to load into
-         * @param data The data to import
-         * @param rootUrl The root url for scene and resources
-         * @param onProgress The callback when the load progresses
-         * @param fileName Defines the name of the file to load
-         * @returns The loaded asset container
-         */
-        loadAssetContainerAsync(scene: Scene, data: string | ArrayBuffer, rootUrl: string, onProgress?: (event: SceneLoaderProgressEvent) => void, fileName?: string): Promise<AssetContainer>;
-        /**
-         * If the data string can be loaded directly.
-         * @param data string contianing the file data
-         * @returns if the data can be loaded directly
-         */
-        canDirectLoad(data: string): boolean;
-        /**
-         * Rewrites a url by combining a root url and response url.
-         */
-        rewriteRootURL: (rootUrl: string, responseURL?: string) => string;
-        /**
-         * Instantiates a glTF file loader plugin.
-         * @returns the created plugin
-         */
-        createPlugin(): ISceneLoaderPlugin | ISceneLoaderPluginAsync;
-        /**
-         * The loader state or null if the loader is not active.
-         */
-        readonly loaderState: Nullable<GLTFLoaderState>;
-        /**
-         * Returns a promise that resolves when the asset is completely loaded.
-         * @returns a promise that resolves when the asset is completely loaded.
-         */
-        whenCompleteAsync(): Promise<void>;
-        private _parseAsync;
-        private _validateAsync;
-        private _getLoader;
-        private _unpackBinary;
-        private _unpackBinaryV1;
-        private _unpackBinaryV2;
-        private static _parseVersion;
-        private static _compareVersion;
-        private static _decodeBufferToText;
-        private static readonly _logSpaces;
-        private _logIndentLevel;
-        private _loggingEnabled;
-        /** @hidden */
-        _log: (message: string) => void;
-        /** @hidden */
-        _logOpen(message: string): void;
-        /** @hidden */
-        _logClose(): void;
-        private _logEnabled;
-        private _logDisabled;
-        private _capturePerformanceCounters;
-        /** @hidden */
-        _startPerformanceCounter: (counterName: string) => void;
-        /** @hidden */
-        _endPerformanceCounter: (counterName: string) => void;
-        private _startPerformanceCounterEnabled;
-        private _startPerformanceCounterDisabled;
-        private _endPerformanceCounterEnabled;
-        private _endPerformanceCounterDisabled;
-    }
-}
-
-
-declare module BABYLON.GLTF1 {
-    /**
-    * Enums
-    */
-    enum EComponentType {
-        BYTE = 5120,
-        UNSIGNED_BYTE = 5121,
-        SHORT = 5122,
-        UNSIGNED_SHORT = 5123,
-        FLOAT = 5126
-    }
-    enum EShaderType {
-        FRAGMENT = 35632,
-        VERTEX = 35633
-    }
-    enum EParameterType {
-        BYTE = 5120,
-        UNSIGNED_BYTE = 5121,
-        SHORT = 5122,
-        UNSIGNED_SHORT = 5123,
-        INT = 5124,
-        UNSIGNED_INT = 5125,
-        FLOAT = 5126,
-        FLOAT_VEC2 = 35664,
-        FLOAT_VEC3 = 35665,
-        FLOAT_VEC4 = 35666,
-        INT_VEC2 = 35667,
-        INT_VEC3 = 35668,
-        INT_VEC4 = 35669,
-        BOOL = 35670,
-        BOOL_VEC2 = 35671,
-        BOOL_VEC3 = 35672,
-        BOOL_VEC4 = 35673,
-        FLOAT_MAT2 = 35674,
-        FLOAT_MAT3 = 35675,
-        FLOAT_MAT4 = 35676,
-        SAMPLER_2D = 35678
-    }
-    enum ETextureWrapMode {
-        CLAMP_TO_EDGE = 33071,
-        MIRRORED_REPEAT = 33648,
-        REPEAT = 10497
-    }
-    enum ETextureFilterType {
-        NEAREST = 9728,
-        LINEAR = 9728,
-        NEAREST_MIPMAP_NEAREST = 9984,
-        LINEAR_MIPMAP_NEAREST = 9985,
-        NEAREST_MIPMAP_LINEAR = 9986,
-        LINEAR_MIPMAP_LINEAR = 9987
-    }
-    enum ETextureFormat {
-        ALPHA = 6406,
-        RGB = 6407,
-        RGBA = 6408,
-        LUMINANCE = 6409,
-        LUMINANCE_ALPHA = 6410
-    }
-    enum ECullingType {
-        FRONT = 1028,
-        BACK = 1029,
-        FRONT_AND_BACK = 1032
-    }
-    enum EBlendingFunction {
-        ZERO = 0,
-        ONE = 1,
-        SRC_COLOR = 768,
-        ONE_MINUS_SRC_COLOR = 769,
-        DST_COLOR = 774,
-        ONE_MINUS_DST_COLOR = 775,
-        SRC_ALPHA = 770,
-        ONE_MINUS_SRC_ALPHA = 771,
-        DST_ALPHA = 772,
-        ONE_MINUS_DST_ALPHA = 773,
-        CONSTANT_COLOR = 32769,
-        ONE_MINUS_CONSTANT_COLOR = 32770,
-        CONSTANT_ALPHA = 32771,
-        ONE_MINUS_CONSTANT_ALPHA = 32772,
-        SRC_ALPHA_SATURATE = 776
-    }
-    /**
-    * Interfaces
-    */
-    interface IGLTFProperty {
-        extensions?: {
-            [key: string]: any;
-        };
-        extras?: Object;
-    }
-    interface IGLTFChildRootProperty extends IGLTFProperty {
-        name?: string;
-    }
-    interface IGLTFAccessor extends IGLTFChildRootProperty {
-        bufferView: string;
-        byteOffset: number;
-        byteStride: number;
-        count: number;
-        type: string;
-        componentType: EComponentType;
-        max?: number[];
-        min?: number[];
-        name?: string;
-    }
-    interface IGLTFBufferView extends IGLTFChildRootProperty {
-        buffer: string;
-        byteOffset: number;
-        byteLength: number;
-        byteStride: number;
-        target?: number;
-    }
-    interface IGLTFBuffer extends IGLTFChildRootProperty {
-        uri: string;
-        byteLength?: number;
-        type?: string;
-    }
-    interface IGLTFShader extends IGLTFChildRootProperty {
-        uri: string;
-        type: EShaderType;
-    }
-    interface IGLTFProgram extends IGLTFChildRootProperty {
-        attributes: string[];
-        fragmentShader: string;
-        vertexShader: string;
-    }
-    interface IGLTFTechniqueParameter {
-        type: number;
-        count?: number;
-        semantic?: string;
-        node?: string;
-        value?: number | boolean | string | Array<any>;
-        source?: string;
-        babylonValue?: any;
-    }
-    interface IGLTFTechniqueCommonProfile {
-        lightingModel: string;
-        texcoordBindings: Object;
-        parameters?: Array<any>;
-    }
-    interface IGLTFTechniqueStatesFunctions {
-        blendColor?: number[];
-        blendEquationSeparate?: number[];
-        blendFuncSeparate?: number[];
-        colorMask: boolean[];
-        cullFace: number[];
-    }
-    interface IGLTFTechniqueStates {
-        enable: number[];
-        functions: IGLTFTechniqueStatesFunctions;
-    }
-    interface IGLTFTechnique extends IGLTFChildRootProperty {
-        parameters: {
-            [key: string]: IGLTFTechniqueParameter;
-        };
-        program: string;
-        attributes: {
-            [key: string]: string;
-        };
-        uniforms: {
-            [key: string]: string;
-        };
-        states: IGLTFTechniqueStates;
-    }
-    interface IGLTFMaterial extends IGLTFChildRootProperty {
-        technique?: string;
-        values: string[];
-    }
-    interface IGLTFMeshPrimitive extends IGLTFProperty {
-        attributes: {
-            [key: string]: string;
-        };
-        indices: string;
-        material: string;
-        mode?: number;
-    }
-    interface IGLTFMesh extends IGLTFChildRootProperty {
-        primitives: IGLTFMeshPrimitive[];
-    }
-    interface IGLTFImage extends IGLTFChildRootProperty {
-        uri: string;
-    }
-    interface IGLTFSampler extends IGLTFChildRootProperty {
-        magFilter?: number;
-        minFilter?: number;
-        wrapS?: number;
-        wrapT?: number;
-    }
-    interface IGLTFTexture extends IGLTFChildRootProperty {
-        sampler: string;
-        source: string;
-        format?: ETextureFormat;
-        internalFormat?: ETextureFormat;
-        target?: number;
-        type?: number;
-        babylonTexture?: Texture;
-    }
-    interface IGLTFAmbienLight {
-        color?: number[];
-    }
-    interface IGLTFDirectionalLight {
-        color?: number[];
-    }
-    interface IGLTFPointLight {
-        color?: number[];
-        constantAttenuation?: number;
-        linearAttenuation?: number;
-        quadraticAttenuation?: number;
-    }
-    interface IGLTFSpotLight {
-        color?: number[];
-        constantAttenuation?: number;
-        fallOfAngle?: number;
-        fallOffExponent?: number;
-        linearAttenuation?: number;
-        quadraticAttenuation?: number;
-    }
-    interface IGLTFLight extends IGLTFChildRootProperty {
-        type: string;
-    }
-    interface IGLTFCameraOrthographic {
-        xmag: number;
-        ymag: number;
-        zfar: number;
-        znear: number;
-    }
-    interface IGLTFCameraPerspective {
-        aspectRatio: number;
-        yfov: number;
-        zfar: number;
-        znear: number;
-    }
-    interface IGLTFCamera extends IGLTFChildRootProperty {
-        type: string;
-    }
-    interface IGLTFAnimationChannelTarget {
-        id: string;
-        path: string;
-    }
-    interface IGLTFAnimationChannel {
-        sampler: string;
-        target: IGLTFAnimationChannelTarget;
-    }
-    interface IGLTFAnimationSampler {
-        input: string;
-        output: string;
-        interpolation?: string;
-    }
-    interface IGLTFAnimation extends IGLTFChildRootProperty {
-        channels?: IGLTFAnimationChannel[];
-        parameters?: {
-            [key: string]: string;
-        };
-        samplers?: {
-            [key: string]: IGLTFAnimationSampler;
-        };
-    }
-    interface IGLTFNodeInstanceSkin {
-        skeletons: string[];
-        skin: string;
-        meshes: string[];
-    }
-    interface IGLTFSkins extends IGLTFChildRootProperty {
-        bindShapeMatrix: number[];
-        inverseBindMatrices: string;
-        jointNames: string[];
-        babylonSkeleton?: Skeleton;
-    }
-    interface IGLTFNode extends IGLTFChildRootProperty {
-        camera?: string;
-        children: string[];
-        skin?: string;
-        jointName?: string;
-        light?: string;
-        matrix: number[];
-        mesh?: string;
-        meshes?: string[];
-        rotation?: number[];
-        scale?: number[];
-        translation?: number[];
-        babylonNode?: Node;
-    }
-    interface IGLTFScene extends IGLTFChildRootProperty {
-        nodes: string[];
-    }
-    /**
-    * Runtime
-    */
-    interface IGLTFRuntime {
-        extensions: {
-            [key: string]: any;
-        };
-        accessors: {
-            [key: string]: IGLTFAccessor;
-        };
-        buffers: {
-            [key: string]: IGLTFBuffer;
-        };
-        bufferViews: {
-            [key: string]: IGLTFBufferView;
-        };
-        meshes: {
-            [key: string]: IGLTFMesh;
-        };
-        lights: {
-            [key: string]: IGLTFLight;
-        };
-        cameras: {
-            [key: string]: IGLTFCamera;
-        };
-        nodes: {
-            [key: string]: IGLTFNode;
-        };
-        images: {
-            [key: string]: IGLTFImage;
-        };
-        textures: {
-            [key: string]: IGLTFTexture;
-        };
-        shaders: {
-            [key: string]: IGLTFShader;
-        };
-        programs: {
-            [key: string]: IGLTFProgram;
-        };
-        samplers: {
-            [key: string]: IGLTFSampler;
-        };
-        techniques: {
-            [key: string]: IGLTFTechnique;
-        };
-        materials: {
-            [key: string]: IGLTFMaterial;
-        };
-        animations: {
-            [key: string]: IGLTFAnimation;
-        };
-        skins: {
-            [key: string]: IGLTFSkins;
-        };
-        currentScene?: Object;
-        scenes: {
-            [key: string]: IGLTFScene;
-        };
-        extensionsUsed: string[];
-        extensionsRequired?: string[];
-        buffersCount: number;
-        shaderscount: number;
-        scene: Scene;
-        rootUrl: string;
-        loadedBufferCount: number;
-        loadedBufferViews: {
-            [name: string]: ArrayBufferView;
-        };
-        loadedShaderCount: number;
-        importOnlyMeshes: boolean;
-        importMeshesNames?: string[];
-        dummyNodes: Node[];
-    }
-    /**
-    * Bones
-    */
-    interface INodeToRoot {
-        bone: Bone;
-        node: IGLTFNode;
-        id: string;
-    }
-    interface IJointNode {
-        node: IGLTFNode;
-        id: string;
-    }
-}
-
-
-declare module BABYLON.GLTF1 {
-    /**
-    * Implementation of the base glTF spec
-    */
-    class GLTFLoaderBase {
-        static CreateRuntime(parsedData: any, scene: Scene, rootUrl: string): IGLTFRuntime;
-        static LoadBufferAsync(gltfRuntime: IGLTFRuntime, id: string, onSuccess: (buffer: ArrayBufferView) => void, onError: (message: string) => void, onProgress?: () => void): void;
-        static LoadTextureBufferAsync(gltfRuntime: IGLTFRuntime, id: string, onSuccess: (buffer: Nullable<ArrayBufferView>) => void, onError: (message: string) => void): void;
-        static CreateTextureAsync(gltfRuntime: IGLTFRuntime, id: string, buffer: Nullable<ArrayBufferView>, onSuccess: (texture: Texture) => void, onError: (message: string) => void): void;
-        static LoadShaderStringAsync(gltfRuntime: IGLTFRuntime, id: string, onSuccess: (shaderString: string | ArrayBuffer) => void, onError?: (message: string) => void): void;
-        static LoadMaterialAsync(gltfRuntime: IGLTFRuntime, id: string, onSuccess: (material: Material) => void, onError: (message: string) => void): void;
-    }
-    /**
-    * glTF V1 Loader
-    */
-    class GLTFLoader implements IGLTFLoader {
-        static Extensions: {
-            [name: string]: GLTFLoaderExtension;
-        };
-        static RegisterExtension(extension: GLTFLoaderExtension): void;
-        state: Nullable<GLTFLoaderState>;
-        dispose(): void;
-        private _importMeshAsync;
-        /**
-        * Imports one or more meshes from a loaded gltf file and adds them to the scene
-        * @param meshesNames a string or array of strings of the mesh names that should be loaded from the file
-        * @param scene the scene the meshes should be added to
-        * @param data gltf data containing information of the meshes in a loaded file
-        * @param rootUrl root url to load from
-        * @param onProgress event that fires when loading progress has occured
-        * @returns a promise containg the loaded meshes, particles, skeletons and animations
-        */
-        importMeshAsync(meshesNames: any, scene: Scene, data: IGLTFLoaderData, rootUrl: string, onProgress?: (event: SceneLoaderProgressEvent) => void): Promise<{
-            meshes: AbstractMesh[];
-            particleSystems: IParticleSystem[];
-            skeletons: Skeleton[];
-            animationGroups: AnimationGroup[];
-        }>;
-        private _loadAsync;
-        /**
-        * Imports all objects from a loaded gltf file and adds them to the scene
-        * @param scene the scene the objects should be added to
-        * @param data gltf data containing information of the meshes in a loaded file
-        * @param rootUrl root url to load from
-        * @param onProgress event that fires when loading progress has occured
-        * @returns a promise which completes when objects have been loaded to the scene
-        */
-        loadAsync(scene: Scene, data: IGLTFLoaderData, rootUrl: string, onProgress?: (event: SceneLoaderProgressEvent) => void): Promise<void>;
-        private _loadShadersAsync;
-        private _loadBuffersAsync;
-        private _createNodes;
-    }
-}
-
-
-declare module BABYLON.GLTF1 {
-    /**
-    * Utils functions for GLTF
-    */
-    class GLTFUtils {
-        /**
-         * Sets the given "parameter" matrix
-         * @param scene: the Scene object
-         * @param source: the source node where to pick the matrix
-         * @param parameter: the GLTF technique parameter
-         * @param uniformName: the name of the shader's uniform
-         * @param shaderMaterial: the shader material
-         */
-        static SetMatrix(scene: Scene, source: Node, parameter: IGLTFTechniqueParameter, uniformName: string, shaderMaterial: ShaderMaterial | Effect): void;
-        /**
-         * Sets the given "parameter" matrix
-         * @param shaderMaterial: the shader material
-         * @param uniform: the name of the shader's uniform
-         * @param value: the value of the uniform
-         * @param type: the uniform's type (EParameterType FLOAT, VEC2, VEC3 or VEC4)
-         */
-        static SetUniform(shaderMaterial: ShaderMaterial | Effect, uniform: string, value: any, type: number): boolean;
-        /**
-        * Returns the wrap mode of the texture
-        * @param mode: the mode value
-        */
-        static GetWrapMode(mode: number): number;
-        /**
-         * Returns the byte stride giving an accessor
-         * @param accessor: the GLTF accessor objet
-         */
-        static GetByteStrideFromType(accessor: IGLTFAccessor): number;
-        /**
-         * Returns the texture filter mode giving a mode value
-         * @param mode: the filter mode value
-         */
-        static GetTextureFilterMode(mode: number): ETextureFilterType;
-        static GetBufferFromBufferView(gltfRuntime: IGLTFRuntime, bufferView: IGLTFBufferView, byteOffset: number, byteLength: number, componentType: EComponentType): ArrayBufferView;
-        /**
-         * Returns a buffer from its accessor
-         * @param gltfRuntime: the GLTF runtime
-         * @param accessor: the GLTF accessor
-         */
-        static GetBufferFromAccessor(gltfRuntime: IGLTFRuntime, accessor: IGLTFAccessor): any;
-        /**
-         * Decodes a buffer view into a string
-         * @param view: the buffer view
-         */
-        static DecodeBufferToText(view: ArrayBufferView): string;
-        /**
-         * Returns the default material of gltf. Related to
-         * https://github.com/KhronosGroup/glTF/tree/master/specification/1.0#appendix-a-default-material
-         * @param scene: the Babylon.js scene
-         */
-        static GetDefaultMaterial(scene: Scene): ShaderMaterial;
-        private static _DefaultMaterial;
-    }
-}
-
-
-declare module BABYLON.GLTF1 {
-    abstract class GLTFLoaderExtension {
-        private _name;
-        constructor(name: string);
-        readonly name: string;
-        /**
-        * Defines an override for loading the runtime
-        * Return true to stop further extensions from loading the runtime
-        */
-        loadRuntimeAsync(scene: Scene, data: IGLTFLoaderData, rootUrl: string, onSuccess?: (gltfRuntime: IGLTFRuntime) => void, onError?: (message: string) => void): boolean;
-        /**
-         * Defines an onverride for creating gltf runtime
-         * Return true to stop further extensions from creating the runtime
-         */
-        loadRuntimeExtensionsAsync(gltfRuntime: IGLTFRuntime, onSuccess: () => void, onError?: (message: string) => void): boolean;
-        /**
-        * Defines an override for loading buffers
-        * Return true to stop further extensions from loading this buffer
-        */
-        loadBufferAsync(gltfRuntime: IGLTFRuntime, id: string, onSuccess: (buffer: ArrayBufferView) => void, onError: (message: string) => void, onProgress?: () => void): boolean;
-        /**
-        * Defines an override for loading texture buffers
-        * Return true to stop further extensions from loading this texture data
-        */
-        loadTextureBufferAsync(gltfRuntime: IGLTFRuntime, id: string, onSuccess: (buffer: ArrayBufferView) => void, onError: (message: string) => void): boolean;
-        /**
-        * Defines an override for creating textures
-        * Return true to stop further extensions from loading this texture
-        */
-        createTextureAsync(gltfRuntime: IGLTFRuntime, id: string, buffer: ArrayBufferView, onSuccess: (texture: Texture) => void, onError: (message: string) => void): boolean;
-        /**
-        * Defines an override for loading shader strings
-        * Return true to stop further extensions from loading this shader data
-        */
-        loadShaderStringAsync(gltfRuntime: IGLTFRuntime, id: string, onSuccess: (shaderString: string) => void, onError: (message: string) => void): boolean;
-        /**
-        * Defines an override for loading materials
-        * Return true to stop further extensions from loading this material
-        */
-        loadMaterialAsync(gltfRuntime: IGLTFRuntime, id: string, onSuccess: (material: Material) => void, onError: (message: string) => void): boolean;
-        static LoadRuntimeAsync(scene: Scene, data: IGLTFLoaderData, rootUrl: string, onSuccess?: (gltfRuntime: IGLTFRuntime) => void, onError?: (message: string) => void): void;
-        static LoadRuntimeExtensionsAsync(gltfRuntime: IGLTFRuntime, onSuccess: () => void, onError?: (message: string) => void): void;
-        static LoadBufferAsync(gltfRuntime: IGLTFRuntime, id: string, onSuccess: (bufferView: ArrayBufferView) => void, onError: (message: string) => void, onProgress?: () => void): void;
-        static LoadTextureAsync(gltfRuntime: IGLTFRuntime, id: string, onSuccess: (texture: Texture) => void, onError: (message: string) => void): void;
-        static LoadShaderStringAsync(gltfRuntime: IGLTFRuntime, id: string, onSuccess: (shaderData: string | ArrayBuffer) => void, onError: (message: string) => void): void;
-        static LoadMaterialAsync(gltfRuntime: IGLTFRuntime, id: string, onSuccess: (material: Material) => void, onError: (message: string) => void): void;
-        private static LoadTextureBufferAsync;
-        private static CreateTextureAsync;
-        private static ApplyExtensions;
-    }
-}
-
-
-declare module BABYLON.GLTF1 {
-    class GLTFBinaryExtension extends GLTFLoaderExtension {
-        private _bin;
-        constructor();
-        loadRuntimeAsync(scene: Scene, data: IGLTFLoaderData, rootUrl: string, onSuccess: (gltfRuntime: IGLTFRuntime) => void, onError: (message: string) => void): boolean;
-        loadBufferAsync(gltfRuntime: IGLTFRuntime, id: string, onSuccess: (buffer: ArrayBufferView) => void, onError: (message: string) => void): boolean;
-        loadTextureBufferAsync(gltfRuntime: IGLTFRuntime, id: string, onSuccess: (buffer: ArrayBufferView) => void, onError: (message: string) => void): boolean;
-        loadShaderStringAsync(gltfRuntime: IGLTFRuntime, id: string, onSuccess: (shaderString: string) => void, onError: (message: string) => void): boolean;
-    }
-}
-
-
-declare module BABYLON.GLTF1 {
-    class GLTFMaterialsCommonExtension extends GLTFLoaderExtension {
-        constructor();
-        loadRuntimeExtensionsAsync(gltfRuntime: IGLTFRuntime, onSuccess: () => void, onError: (message: string) => void): boolean;
-        loadMaterialAsync(gltfRuntime: IGLTFRuntime, id: string, onSuccess: (material: Material) => void, onError: (message: string) => void): boolean;
-        private _loadTexture;
-    }
-}

File diff suppressed because it is too large
+ 0 - 1159
dist/loaders/babylon.glTF2FileLoader.d.ts


File diff suppressed because it is too large
+ 0 - 1721
dist/loaders/babylon.glTFFileLoader.d.ts


+ 0 - 111
dist/loaders/babylon.objFileLoader.d.ts

@@ -1,111 +0,0 @@
-
-declare module BABYLON {
-    /**
-     * Class reading and parsing the MTL file bundled with the obj file.
-     */
-    class MTLFileLoader {
-        materials: BABYLON.StandardMaterial[];
-        /**
-         * This function will read the mtl file and create each material described inside
-         * This function could be improve by adding :
-         * -some component missing (Ni, Tf...)
-         * -including the specific options available
-         *
-         * @param scene
-         * @param data
-         * @param rootUrl
-         */
-        parseMTL(scene: BABYLON.Scene, data: string | ArrayBuffer, rootUrl: string): void;
-        /**
-         * Gets the texture for the material.
-         *
-         * If the material is imported from input file,
-         * We sanitize the url to ensure it takes the textre from aside the material.
-         *
-         * @param rootUrl The root url to load from
-         * @param value The value stored in the mtl
-         * @return The Texture
-         */
-        private static _getTexture;
-    }
-    class OBJFileLoader implements ISceneLoaderPluginAsync {
-        static OPTIMIZE_WITH_UV: boolean;
-        static INVERT_Y: boolean;
-        name: string;
-        extensions: string;
-        obj: RegExp;
-        group: RegExp;
-        mtllib: RegExp;
-        usemtl: RegExp;
-        smooth: RegExp;
-        vertexPattern: RegExp;
-        normalPattern: RegExp;
-        uvPattern: RegExp;
-        facePattern1: RegExp;
-        facePattern2: RegExp;
-        facePattern3: RegExp;
-        facePattern4: RegExp;
-        facePattern5: RegExp;
-        /**
-         * Calls synchronously the MTL file attached to this obj.
-         * Load function or importMesh function don't enable to load 2 files in the same time asynchronously.
-         * Without this function materials are not displayed in the first frame (but displayed after).
-         * In consequence it is impossible to get material information in your HTML file
-         *
-         * @param url The URL of the MTL file
-         * @param rootUrl
-         * @param onSuccess Callback function to be called when the MTL file is loaded
-         * @private
-         */
-        private _loadMTL;
-        /**
-         * Imports one or more meshes from the loaded glTF data and adds them to the scene
-         * @param meshesNames a string or array of strings of the mesh names that should be loaded from the file
-         * @param scene the scene the meshes should be added to
-         * @param data the glTF data to load
-         * @param rootUrl root url to load from
-         * @param onProgress event that fires when loading progress has occured
-         * @param fileName Defines the name of the file to load
-         * @returns a promise containg the loaded meshes, particles, skeletons and animations
-         */
-        importMeshAsync(meshesNames: any, scene: Scene, data: any, rootUrl: string, onProgress?: (event: SceneLoaderProgressEvent) => void, fileName?: string): Promise<{
-            meshes: AbstractMesh[];
-            particleSystems: IParticleSystem[];
-            skeletons: Skeleton[];
-            animationGroups: AnimationGroup[];
-        }>;
-        /**
-         * Imports all objects from the loaded glTF data and adds them to the scene
-         * @param scene the scene the objects should be added to
-         * @param data the glTF data to load
-         * @param rootUrl root url to load from
-         * @param onProgress event that fires when loading progress has occured
-         * @param fileName Defines the name of the file to load
-         * @returns a promise which completes when objects have been loaded to the scene
-         */
-        loadAsync(scene: Scene, data: string, rootUrl: string, onProgress?: (event: SceneLoaderProgressEvent) => void, fileName?: string): Promise<void>;
-        /**
-         * Load into an asset container.
-         * @param scene The scene to load into
-         * @param data The data to import
-         * @param rootUrl The root url for scene and resources
-         * @param onProgress The callback when the load progresses
-         * @param fileName Defines the name of the file to load
-         * @returns The loaded asset container
-         */
-        loadAssetContainerAsync(scene: Scene, data: string, rootUrl: string, onProgress?: (event: SceneLoaderProgressEvent) => void, fileName?: string): Promise<AssetContainer>;
-        /**
-         * Read the OBJ file and create an Array of meshes.
-         * Each mesh contains all information given by the OBJ and the MTL file.
-         * i.e. vertices positions and indices, optional normals values, optional UV values, optional material
-         *
-         * @param meshesNames
-         * @param scene BABYLON.Scene The scene where are displayed the data
-         * @param data String The content of the obj file
-         * @param rootUrl String The path to the folder
-         * @returns Array<AbstractMesh>
-         * @private
-         */
-        private _parseSolid;
-    }
-}

+ 0 - 17
dist/loaders/babylon.stlFileLoader.d.ts

@@ -1,17 +0,0 @@
-
-declare module BABYLON {
-    class STLFileLoader implements ISceneLoaderPlugin {
-        solidPattern: RegExp;
-        facetsPattern: RegExp;
-        normalPattern: RegExp;
-        vertexPattern: RegExp;
-        name: string;
-        extensions: ISceneLoaderPluginExtensions;
-        importMesh(meshesNames: any, scene: Scene, data: any, rootUrl: string, meshes: Nullable<AbstractMesh[]>, particleSystems: Nullable<IParticleSystem[]>, skeletons: Nullable<Skeleton[]>): boolean;
-        load(scene: Scene, data: any, rootUrl: string): boolean;
-        loadAssetContainer(scene: Scene, data: string, rootUrl: string, onError?: (message: string, exception?: any) => void): AssetContainer;
-        private isBinary;
-        private parseBinary;
-        private parseASCII;
-    }
-}

+ 0 - 280
dist/materialsLibrary/babylon.backgroundMaterial.d.ts

@@ -1,280 +0,0 @@
-
-declare namespace BABYLON {
-    /**
-     * Background material
-     */
-    class BackgroundMaterial extends BABYLON.PushMaterial {
-        /**
-         * Key light Color (multiply against the R channel of the environement texture)
-         */
-        protected _primaryColor: Color3;
-        primaryColor: Color3;
-        /**
-         * Key light Level (allowing HDR output of the background)
-         */
-        protected _primaryLevel: float;
-        primaryLevel: float;
-        /**
-         * Secondary light Color (multiply against the G channel of the environement texture)
-         */
-        protected _secondaryColor: Color3;
-        secondaryColor: Color3;
-        /**
-         * Secondary light Level (allowing HDR output of the background)
-         */
-        protected _secondaryLevel: float;
-        secondaryLevel: float;
-        /**
-         * Tertiary light Color (multiply against the B channel of the environement texture)
-         */
-        protected _tertiaryColor: Color3;
-        tertiaryColor: Color3;
-        /**
-         * Tertiary light Level (allowing HDR output of the background)
-         */
-        protected _tertiaryLevel: float;
-        tertiaryLevel: float;
-        /**
-         * Reflection Texture used in the material.
-         * Should be author in a specific way for the best result (refer to the documentation).
-         */
-        protected _reflectionTexture: Nullable<BaseTexture>;
-        reflectionTexture: Nullable<BaseTexture>;
-        /**
-         * Reflection Texture level of blur.
-         *
-         * Can be use to reuse an existing HDR Texture and target a specific LOD to prevent authoring the
-         * texture twice.
-         */
-        protected _reflectionBlur: float;
-        reflectionBlur: float;
-        /**
-         * Diffuse Texture used in the material.
-         * Should be author in a specific way for the best result (refer to the documentation).
-         */
-        protected _diffuseTexture: Nullable<BaseTexture>;
-        diffuseTexture: Nullable<BaseTexture>;
-        /**
-         * Specify the list of lights casting shadow on the material.
-         * All scene shadow lights will be included if null.
-         */
-        protected _shadowLights: Nullable<IShadowLight[]>;
-        shadowLights: Nullable<IShadowLight[]>;
-        /**
-         * For the lights having a blurred shadow generator, this can add a second blur pass in order to reach
-         * soft lighting on the background.
-         */
-        protected _shadowBlurScale: int;
-        shadowBlurScale: int;
-        /**
-         * Helps adjusting the shadow to a softer level if required.
-         * 0 means black shadows and 1 means no shadows.
-         */
-        protected _shadowLevel: float;
-        shadowLevel: float;
-        /**
-         * In case of opacity Fresnel or reflection falloff, this is use as a scene center.
-         * It is usually zero but might be interesting to modify according to your setup.
-         */
-        protected _sceneCenter: Vector3;
-        sceneCenter: Vector3;
-        /**
-         * This helps specifying that the material is falling off to the sky box at grazing angle.
-         * This helps ensuring a nice transition when the camera goes under the ground.
-         */
-        protected _opacityFresnel: boolean;
-        opacityFresnel: boolean;
-        /**
-         * This helps specifying that the material is falling off from diffuse to the reflection texture at grazing angle.
-         * This helps adding a mirror texture on the ground.
-         */
-        protected _reflectionFresnel: boolean;
-        reflectionFresnel: boolean;
-        /**
-         * This helps specifying the falloff radius off the reflection texture from the sceneCenter.
-         * This helps adding a nice falloff effect to the reflection if used as a mirror for instance.
-         */
-        protected _reflectionFalloffDistance: number;
-        reflectionFalloffDistance: number;
-        /**
-         * This specifies the weight of the reflection against the background in case of reflection Fresnel.
-         */
-        protected _reflectionAmount: number;
-        reflectionAmount: number;
-        /**
-         * This specifies the weight of the reflection at grazing angle.
-         */
-        protected _reflectionReflectance0: number;
-        reflectionReflectance0: number;
-        /**
-         * This specifies the weight of the reflection at a perpendicular point of view.
-         */
-        protected _reflectionReflectance90: number;
-        reflectionReflectance90: number;
-        /**
-         * Helps to directly use the maps channels instead of their level.
-         */
-        protected _useRGBColor: boolean;
-        useRGBColor: boolean;
-        /**
-         * Number of Simultaneous lights allowed on the material.
-         */
-        private _maxSimultaneousLights;
-        maxSimultaneousLights: int;
-        /**
-         * Default configuration related to image processing available in the Background Material.
-         */
-        protected _imageProcessingConfiguration: ImageProcessingConfiguration;
-        /**
-         * Keep track of the image processing observer to allow dispose and replace.
-         */
-        private _imageProcessingObserver;
-        /**
-         * Attaches a new image processing configuration to the PBR Material.
-         * @param configuration (if null the scene configuration will be use)
-         */
-        protected _attachImageProcessingConfiguration(configuration: Nullable<ImageProcessingConfiguration>): void;
-        /**
-         * Gets the image processing configuration used either in this material.
-         */
-        /**
-         * Sets the Default image processing configuration used either in the this material.
-         *
-         * If sets to null, the scene one is in use.
-         */
-        imageProcessingConfiguration: Nullable<ImageProcessingConfiguration>;
-        /**
-         * Gets wether the color curves effect is enabled.
-         */
-        /**
-         * Sets wether the color curves effect is enabled.
-         */
-        cameraColorCurvesEnabled: boolean;
-        /**
-         * Gets wether the color grading effect is enabled.
-         */
-        /**
-         * Gets wether the color grading effect is enabled.
-         */
-        cameraColorGradingEnabled: boolean;
-        /**
-         * Gets wether tonemapping is enabled or not.
-         */
-        /**
-         * Sets wether tonemapping is enabled or not
-         */
-        cameraToneMappingEnabled: boolean;
-        /**
-         * The camera exposure used on this material.
-         * This property is here and not in the camera to allow controlling exposure without full screen post process.
-         * This corresponds to a photographic exposure.
-         */
-        /**
-         * The camera exposure used on this material.
-         * This property is here and not in the camera to allow controlling exposure without full screen post process.
-         * This corresponds to a photographic exposure.
-         */
-        cameraExposure: float;
-        /**
-         * Gets The camera contrast used on this material.
-         */
-        /**
-         * Sets The camera contrast used on this material.
-         */
-        cameraContrast: float;
-        /**
-         * Gets the Color Grading 2D Lookup Texture.
-         */
-        /**
-         * Sets the Color Grading 2D Lookup Texture.
-         */
-        cameraColorGradingTexture: Nullable<BaseTexture>;
-        /**
-         * The color grading curves provide additional color adjustmnent that is applied after any color grading transform (3D LUT).
-         * They allow basic adjustment of saturation and small exposure adjustments, along with color filter tinting to provide white balance adjustment or more stylistic effects.
-         * These are similar to controls found in many professional imaging or colorist software. The global controls are applied to the entire image. For advanced tuning, extra controls are provided to adjust the shadow, midtone and highlight areas of the image;
-         * corresponding to low luminance, medium luminance, and high luminance areas respectively.
-         */
-        /**
-         * The color grading curves provide additional color adjustmnent that is applied after any color grading transform (3D LUT).
-         * They allow basic adjustment of saturation and small exposure adjustments, along with color filter tinting to provide white balance adjustment or more stylistic effects.
-         * These are similar to controls found in many professional imaging or colorist software. The global controls are applied to the entire image. For advanced tuning, extra controls are provided to adjust the shadow, midtone and highlight areas of the image;
-         * corresponding to low luminance, medium luminance, and high luminance areas respectively.
-         */
-        cameraColorCurves: Nullable<ColorCurves>;
-        private _renderTargets;
-        private _reflectionControls;
-        /**
-         * constructor
-         * @param name The name of the material
-         * @param scene The scene to add the material to
-         */
-        constructor(name: string, scene: BABYLON.Scene);
-        /**
-         * The entire material has been created in order to prevent overdraw.
-         * @returns false
-         */
-        needAlphaTesting(): boolean;
-        /**
-         * The entire material has been created in order to prevent overdraw.
-         * @returns true if blending is enable
-         */
-        needAlphaBlending(): boolean;
-        /**
-         * Checks wether the material is ready to be rendered for a given mesh.
-         * @param mesh The mesh to render
-         * @param subMesh The submesh to check against
-         * @param useInstances Specify wether or not the material is used with instances
-         */
-        isReadyForSubMesh(mesh: AbstractMesh, subMesh: SubMesh, useInstances?: boolean): boolean;
-        /**
-         * Build the uniform buffer used in the material.
-         */
-        buildUniformLayout(): void;
-        /**
-         * Unbind the material.
-         */
-        unbind(): void;
-        /**
-         * Bind only the world matrix to the material.
-         * @param world The world matrix to bind.
-         */
-        bindOnlyWorldMatrix(world: Matrix): void;
-        /**
-         * Bind the material for a dedicated submeh (every used meshes will be considered opaque).
-         * @param world The world matrix to bind.
-         * @param subMesh The submesh to bind for.
-         */
-        bindForSubMesh(world: Matrix, mesh: Mesh, subMesh: SubMesh): void;
-        /**
-         * Dispose the material.
-         * @forceDisposeEffect Force disposal of the associated effect.
-         * @forceDisposeTextures Force disposal of the associated textures.
-         */
-        dispose(forceDisposeEffect?: boolean, forceDisposeTextures?: boolean): void;
-        /**
-         * Clones the material.
-         * @name The cloned name.
-         * @returns The cloned material.
-         */
-        clone(name: string): BackgroundMaterial;
-        /**
-         * Serializes the current material to its JSON representation.
-         * @returns The JSON representation.
-         */
-        serialize(): any;
-        /**
-         * Gets the class name of the material
-         * @returns "BackgroundMaterial"
-         */
-        getClassName(): string;
-        /**
-         * Parse a JSON input to create back a background material.
-         * @param source
-         * @param scene
-         * @param rootUrl
-         * @returns the instantiated BackgroundMaterial.
-         */
-        static Parse(source: any, scene: Scene, rootUrl: string): BackgroundMaterial;
-    }
-}

File diff suppressed because it is too large
+ 0 - 920
dist/materialsLibrary/babylon.backgroundMaterial.js


File diff suppressed because it is too large
+ 0 - 1
dist/materialsLibrary/babylon.backgroundMaterial.min.js


+ 0 - 29
dist/materialsLibrary/babylon.cellMaterial.d.ts

@@ -1,29 +0,0 @@
-
-declare module BABYLON {
-    class CellMaterial extends PushMaterial {
-        private _diffuseTexture;
-        diffuseTexture: BaseTexture;
-        diffuseColor: Color3;
-        _computeHighLevel: boolean;
-        computeHighLevel: boolean;
-        private _disableLighting;
-        disableLighting: boolean;
-        private _maxSimultaneousLights;
-        maxSimultaneousLights: number;
-        private _renderId;
-        constructor(name: string, scene: Scene);
-        needAlphaBlending(): boolean;
-        needAlphaTesting(): boolean;
-        getAlphaTestTexture(): Nullable<BaseTexture>;
-        isReadyForSubMesh(mesh: AbstractMesh, subMesh: SubMesh, useInstances?: boolean): boolean;
-        bindForSubMesh(world: Matrix, mesh: Mesh, subMesh: SubMesh): void;
-        getAnimatables(): IAnimatable[];
-        getActiveTextures(): BaseTexture[];
-        hasTexture(texture: BaseTexture): boolean;
-        dispose(forceDisposeEffect?: boolean): void;
-        getClassName(): string;
-        clone(name: string): CellMaterial;
-        serialize(): any;
-        static Parse(source: any, scene: Scene, rootUrl: string): CellMaterial;
-    }
-}

+ 0 - 50
dist/materialsLibrary/babylon.customMaterial.d.ts

@@ -1,50 +0,0 @@
-
-declare module BABYLON {
-    class CustomShaderStructure {
-        FragmentStore: string;
-        VertexStore: string;
-        constructor();
-    }
-    class ShaderSpecialParts {
-        constructor();
-        Fragment_Begin: string;
-        Fragment_Definitions: string;
-        Fragment_MainBegin: string;
-        Fragment_Custom_Diffuse: string;
-        Fragment_Custom_Alpha: string;
-        Fragment_Before_FragColor: string;
-        Vertex_Begin: string;
-        Vertex_Definitions: string;
-        Vertex_MainBegin: string;
-        Vertex_Before_PositionUpdated: string;
-        Vertex_Before_NormalUpdated: string;
-    }
-    class CustomMaterial extends StandardMaterial {
-        static ShaderIndexer: number;
-        CustomParts: ShaderSpecialParts;
-        _isCreatedShader: boolean;
-        _createdShaderName: string;
-        _customUniform: string[];
-        _newUniforms: string[];
-        _newUniformInstances: any[];
-        _newSamplerInstances: Texture[];
-        FragmentShader: string;
-        VertexShader: string;
-        AttachAfterBind(mesh: Mesh, effect: Effect): void;
-        ReviewUniform(name: string, arr: string[]): string[];
-        Builder(shaderName: string, uniforms: string[], uniformBuffers: string[], samplers: string[], defines: StandardMaterialDefines): string;
-        constructor(name: string, scene: Scene);
-        AddUniform(name: string, kind: string, param: any): CustomMaterial;
-        Fragment_Begin(shaderPart: string): CustomMaterial;
-        Fragment_Definitions(shaderPart: string): CustomMaterial;
-        Fragment_MainBegin(shaderPart: string): CustomMaterial;
-        Fragment_Custom_Diffuse(shaderPart: string): CustomMaterial;
-        Fragment_Custom_Alpha(shaderPart: string): CustomMaterial;
-        Fragment_Before_FragColor(shaderPart: string): CustomMaterial;
-        Vertex_Begin(shaderPart: string): CustomMaterial;
-        Vertex_Definitions(shaderPart: string): CustomMaterial;
-        Vertex_MainBegin(shaderPart: string): CustomMaterial;
-        Vertex_Before_PositionUpdated(shaderPart: string): CustomMaterial;
-        Vertex_Before_NormalUpdated(shaderPart: string): CustomMaterial;
-    }
-}

+ 0 - 30
dist/materialsLibrary/babylon.fireMaterial.d.ts

@@ -1,30 +0,0 @@
-
-declare module BABYLON {
-    class FireMaterial extends PushMaterial {
-        private _diffuseTexture;
-        diffuseTexture: Nullable<BaseTexture>;
-        private _distortionTexture;
-        distortionTexture: Nullable<BaseTexture>;
-        private _opacityTexture;
-        opacityTexture: Nullable<BaseTexture>;
-        diffuseColor: Color3;
-        speed: number;
-        private _scaledDiffuse;
-        private _renderId;
-        private _lastTime;
-        constructor(name: string, scene: Scene);
-        needAlphaBlending(): boolean;
-        needAlphaTesting(): boolean;
-        getAlphaTestTexture(): Nullable<BaseTexture>;
-        isReadyForSubMesh(mesh: AbstractMesh, subMesh: SubMesh, useInstances?: boolean): boolean;
-        bindForSubMesh(world: Matrix, mesh: Mesh, subMesh: SubMesh): void;
-        getAnimatables(): IAnimatable[];
-        getActiveTextures(): BaseTexture[];
-        hasTexture(texture: BaseTexture): boolean;
-        getClassName(): string;
-        dispose(forceDisposeEffect?: boolean): void;
-        clone(name: string): FireMaterial;
-        serialize(): any;
-        static Parse(source: any, scene: Scene, rootUrl: string): FireMaterial;
-    }
-}

+ 0 - 46
dist/materialsLibrary/babylon.furMaterial.d.ts

@@ -1,46 +0,0 @@
-
-declare module BABYLON {
-    class FurMaterial extends PushMaterial {
-        private _diffuseTexture;
-        diffuseTexture: BaseTexture;
-        private _heightTexture;
-        heightTexture: BaseTexture;
-        diffuseColor: Color3;
-        furLength: number;
-        furAngle: number;
-        furColor: Color3;
-        furOffset: number;
-        furSpacing: number;
-        furGravity: Vector3;
-        furSpeed: number;
-        furDensity: number;
-        furOcclusion: number;
-        furTexture: DynamicTexture;
-        private _disableLighting;
-        disableLighting: boolean;
-        private _maxSimultaneousLights;
-        maxSimultaneousLights: number;
-        highLevelFur: boolean;
-        _meshes: AbstractMesh[];
-        private _renderId;
-        private _furTime;
-        constructor(name: string, scene: Scene);
-        furTime: number;
-        needAlphaBlending(): boolean;
-        needAlphaTesting(): boolean;
-        getAlphaTestTexture(): Nullable<BaseTexture>;
-        updateFur(): void;
-        isReadyForSubMesh(mesh: AbstractMesh, subMesh: SubMesh, useInstances?: boolean): boolean;
-        bindForSubMesh(world: Matrix, mesh: Mesh, subMesh: SubMesh): void;
-        getAnimatables(): IAnimatable[];
-        getActiveTextures(): BaseTexture[];
-        hasTexture(texture: BaseTexture): boolean;
-        dispose(forceDisposeEffect?: boolean): void;
-        clone(name: string): FurMaterial;
-        serialize(): any;
-        getClassName(): string;
-        static Parse(source: any, scene: Scene, rootUrl: string): FurMaterial;
-        static GenerateTexture(name: string, scene: Scene): DynamicTexture;
-        static FurifyMesh(sourceMesh: Mesh, quality: number): Mesh[];
-    }
-}

+ 0 - 29
dist/materialsLibrary/babylon.gradientMaterial.d.ts

@@ -1,29 +0,0 @@
-
-declare module BABYLON {
-    class GradientMaterial extends PushMaterial {
-        private _maxSimultaneousLights;
-        maxSimultaneousLights: number;
-        topColor: Color3;
-        topColorAlpha: number;
-        bottomColor: Color3;
-        bottomColorAlpha: number;
-        offset: number;
-        scale: number;
-        smoothness: number;
-        disableLighting: boolean;
-        private _scaledDiffuse;
-        private _renderId;
-        constructor(name: string, scene: Scene);
-        needAlphaBlending(): boolean;
-        needAlphaTesting(): boolean;
-        getAlphaTestTexture(): Nullable<BaseTexture>;
-        isReadyForSubMesh(mesh: AbstractMesh, subMesh: SubMesh, useInstances?: boolean): boolean;
-        bindForSubMesh(world: Matrix, mesh: Mesh, subMesh: SubMesh): void;
-        getAnimatables(): IAnimatable[];
-        dispose(forceDisposeEffect?: boolean): void;
-        clone(name: string): GradientMaterial;
-        serialize(): any;
-        getClassName(): string;
-        static Parse(source: any, scene: Scene, rootUrl: string): GradientMaterial;
-    }
-}

+ 0 - 61
dist/materialsLibrary/babylon.gridMaterial.d.ts

@@ -1,61 +0,0 @@
-
-declare module BABYLON {
-    /**
-     * The grid materials allows you to wrap any shape with a grid.
-     * Colors are customizable.
-     */
-    class GridMaterial extends BABYLON.PushMaterial {
-        /**
-         * Main color of the grid (e.g. between lines)
-         */
-        mainColor: Color3;
-        /**
-         * Color of the grid lines.
-         */
-        lineColor: Color3;
-        /**
-         * The scale of the grid compared to unit.
-         */
-        gridRatio: number;
-        /**
-         * Allows setting an offset for the grid lines.
-         */
-        gridOffset: Vector3;
-        /**
-         * The frequency of thicker lines.
-         */
-        majorUnitFrequency: number;
-        /**
-         * The visibility of minor units in the grid.
-         */
-        minorUnitVisibility: number;
-        /**
-         * The grid opacity outside of the lines.
-         */
-        opacity: number;
-        /**
-         * Determine RBG output is premultiplied by alpha value.
-         */
-        preMultiplyAlpha: boolean;
-        private _gridControl;
-        private _renderId;
-        /**
-         * constructor
-         * @param name The name given to the material in order to identify it afterwards.
-         * @param scene The scene the material is used in.
-         */
-        constructor(name: string, scene: Scene);
-        /**
-         * Returns wehter or not the grid requires alpha blending.
-         */
-        needAlphaBlending(): boolean;
-        needAlphaBlendingForMesh(mesh: AbstractMesh): boolean;
-        isReadyForSubMesh(mesh: AbstractMesh, subMesh: SubMesh, useInstances?: boolean): boolean;
-        bindForSubMesh(world: Matrix, mesh: Mesh, subMesh: SubMesh): void;
-        dispose(forceDisposeEffect?: boolean): void;
-        clone(name: string): GridMaterial;
-        serialize(): any;
-        getClassName(): string;
-        static Parse(source: any, scene: Scene, rootUrl: string): GridMaterial;
-    }
-}

+ 0 - 37
dist/materialsLibrary/babylon.lavaMaterial.d.ts

@@ -1,37 +0,0 @@
-
-declare module BABYLON {
-    class LavaMaterial extends PushMaterial {
-        private _diffuseTexture;
-        diffuseTexture: BaseTexture;
-        noiseTexture: BaseTexture;
-        fogColor: Color3;
-        speed: number;
-        movingSpeed: number;
-        lowFrequencySpeed: number;
-        fogDensity: number;
-        private _lastTime;
-        diffuseColor: Color3;
-        private _disableLighting;
-        disableLighting: boolean;
-        private _unlit;
-        unlit: boolean;
-        private _maxSimultaneousLights;
-        maxSimultaneousLights: number;
-        private _scaledDiffuse;
-        private _renderId;
-        constructor(name: string, scene: Scene);
-        needAlphaBlending(): boolean;
-        needAlphaTesting(): boolean;
-        getAlphaTestTexture(): Nullable<BaseTexture>;
-        isReadyForSubMesh(mesh: AbstractMesh, subMesh: SubMesh, useInstances?: boolean): boolean;
-        bindForSubMesh(world: Matrix, mesh: Mesh, subMesh: SubMesh): void;
-        getAnimatables(): IAnimatable[];
-        getActiveTextures(): BaseTexture[];
-        hasTexture(texture: BaseTexture): boolean;
-        dispose(forceDisposeEffect?: boolean): void;
-        clone(name: string): LavaMaterial;
-        serialize(): any;
-        getClassName(): string;
-        static Parse(source: any, scene: Scene, rootUrl: string): LavaMaterial;
-    }
-}

+ 0 - 56
dist/materialsLibrary/babylon.mixMaterial.d.ts

@@ -1,56 +0,0 @@
-
-declare module BABYLON {
-    class MixMaterial extends PushMaterial {
-        /**
-         * Mix textures
-         */
-        private _mixTexture1;
-        mixTexture1: BaseTexture;
-        private _mixTexture2;
-        mixTexture2: BaseTexture;
-        /**
-         * Diffuse textures
-         */
-        private _diffuseTexture1;
-        diffuseTexture1: Texture;
-        private _diffuseTexture2;
-        diffuseTexture2: Texture;
-        private _diffuseTexture3;
-        diffuseTexture3: Texture;
-        private _diffuseTexture4;
-        diffuseTexture4: Texture;
-        private _diffuseTexture5;
-        diffuseTexture5: Texture;
-        private _diffuseTexture6;
-        diffuseTexture6: Texture;
-        private _diffuseTexture7;
-        diffuseTexture7: Texture;
-        private _diffuseTexture8;
-        diffuseTexture8: Texture;
-        /**
-         * Uniforms
-         */
-        diffuseColor: Color3;
-        specularColor: Color3;
-        specularPower: number;
-        private _disableLighting;
-        disableLighting: boolean;
-        private _maxSimultaneousLights;
-        maxSimultaneousLights: number;
-        private _renderId;
-        constructor(name: string, scene: Scene);
-        needAlphaBlending(): boolean;
-        needAlphaTesting(): boolean;
-        getAlphaTestTexture(): Nullable<BaseTexture>;
-        isReadyForSubMesh(mesh: AbstractMesh, subMesh: SubMesh, useInstances?: boolean): boolean;
-        bindForSubMesh(world: Matrix, mesh: Mesh, subMesh: SubMesh): void;
-        getAnimatables(): IAnimatable[];
-        getActiveTextures(): BaseTexture[];
-        hasTexture(texture: BaseTexture): boolean;
-        dispose(forceDisposeEffect?: boolean): void;
-        clone(name: string): MixMaterial;
-        serialize(): any;
-        getClassName(): string;
-        static Parse(source: any, scene: Scene, rootUrl: string): MixMaterial;
-    }
-}

+ 0 - 27
dist/materialsLibrary/babylon.normalMaterial.d.ts

@@ -1,27 +0,0 @@
-
-declare module BABYLON {
-    class NormalMaterial extends PushMaterial {
-        private _diffuseTexture;
-        diffuseTexture: BaseTexture;
-        diffuseColor: Color3;
-        private _disableLighting;
-        disableLighting: boolean;
-        private _maxSimultaneousLights;
-        maxSimultaneousLights: number;
-        private _renderId;
-        constructor(name: string, scene: Scene);
-        needAlphaBlending(): boolean;
-        needAlphaTesting(): boolean;
-        getAlphaTestTexture(): Nullable<BaseTexture>;
-        isReadyForSubMesh(mesh: AbstractMesh, subMesh: SubMesh, useInstances?: boolean): boolean;
-        bindForSubMesh(world: Matrix, mesh: Mesh, subMesh: SubMesh): void;
-        getAnimatables(): IAnimatable[];
-        getActiveTextures(): BaseTexture[];
-        hasTexture(texture: BaseTexture): boolean;
-        dispose(forceDisposeEffect?: boolean): void;
-        clone(name: string): NormalMaterial;
-        serialize(): any;
-        getClassName(): string;
-        static Parse(source: any, scene: Scene, rootUrl: string): NormalMaterial;
-    }
-}

+ 0 - 19
dist/materialsLibrary/babylon.shadowOnlyMaterial.d.ts

@@ -1,19 +0,0 @@
-
-declare module BABYLON {
-    class ShadowOnlyMaterial extends PushMaterial {
-        private _renderId;
-        private _activeLight;
-        constructor(name: string, scene: Scene);
-        shadowColor: Color3;
-        needAlphaBlending(): boolean;
-        needAlphaTesting(): boolean;
-        getAlphaTestTexture(): Nullable<BaseTexture>;
-        activeLight: IShadowLight;
-        isReadyForSubMesh(mesh: AbstractMesh, subMesh: SubMesh, useInstances?: boolean): boolean;
-        bindForSubMesh(world: Matrix, mesh: Mesh, subMesh: SubMesh): void;
-        clone(name: string): ShadowOnlyMaterial;
-        serialize(): any;
-        getClassName(): string;
-        static Parse(source: any, scene: Scene, rootUrl: string): ShadowOnlyMaterial;
-    }
-}

+ 0 - 27
dist/materialsLibrary/babylon.simpleMaterial.d.ts

@@ -1,27 +0,0 @@
-
-declare module BABYLON {
-    class SimpleMaterial extends PushMaterial {
-        private _diffuseTexture;
-        diffuseTexture: BaseTexture;
-        diffuseColor: Color3;
-        private _disableLighting;
-        disableLighting: boolean;
-        private _maxSimultaneousLights;
-        maxSimultaneousLights: number;
-        private _renderId;
-        constructor(name: string, scene: Scene);
-        needAlphaBlending(): boolean;
-        needAlphaTesting(): boolean;
-        getAlphaTestTexture(): Nullable<BaseTexture>;
-        isReadyForSubMesh(mesh: AbstractMesh, subMesh: SubMesh, useInstances?: boolean): boolean;
-        bindForSubMesh(world: Matrix, mesh: Mesh, subMesh: SubMesh): void;
-        getAnimatables(): IAnimatable[];
-        getActiveTextures(): BaseTexture[];
-        hasTexture(texture: BaseTexture): boolean;
-        dispose(forceDisposeEffect?: boolean): void;
-        clone(name: string): SimpleMaterial;
-        serialize(): any;
-        getClassName(): string;
-        static Parse(source: any, scene: Scene, rootUrl: string): SimpleMaterial;
-    }
-}

+ 0 - 29
dist/materialsLibrary/babylon.skyMaterial.d.ts

@@ -1,29 +0,0 @@
-
-declare module BABYLON {
-    class SkyMaterial extends PushMaterial {
-        luminance: number;
-        turbidity: number;
-        rayleigh: number;
-        mieCoefficient: number;
-        mieDirectionalG: number;
-        distance: number;
-        inclination: number;
-        azimuth: number;
-        sunPosition: Vector3;
-        useSunPosition: boolean;
-        private _cameraPosition;
-        private _renderId;
-        constructor(name: string, scene: Scene);
-        needAlphaBlending(): boolean;
-        needAlphaTesting(): boolean;
-        getAlphaTestTexture(): Nullable<BaseTexture>;
-        isReadyForSubMesh(mesh: AbstractMesh, subMesh: SubMesh, useInstances?: boolean): boolean;
-        bindForSubMesh(world: Matrix, mesh: Mesh, subMesh: SubMesh): void;
-        getAnimatables(): IAnimatable[];
-        dispose(forceDisposeEffect?: boolean): void;
-        clone(name: string): SkyMaterial;
-        serialize(): any;
-        getClassName(): string;
-        static Parse(source: any, scene: Scene, rootUrl: string): SkyMaterial;
-    }
-}

+ 0 - 41
dist/materialsLibrary/babylon.terrainMaterial.d.ts

@@ -1,41 +0,0 @@
-
-declare module BABYLON {
-    class TerrainMaterial extends PushMaterial {
-        private _mixTexture;
-        mixTexture: BaseTexture;
-        private _diffuseTexture1;
-        diffuseTexture1: Texture;
-        private _diffuseTexture2;
-        diffuseTexture2: Texture;
-        private _diffuseTexture3;
-        diffuseTexture3: Texture;
-        private _bumpTexture1;
-        bumpTexture1: Texture;
-        private _bumpTexture2;
-        bumpTexture2: Texture;
-        private _bumpTexture3;
-        bumpTexture3: Texture;
-        diffuseColor: Color3;
-        specularColor: Color3;
-        specularPower: number;
-        private _disableLighting;
-        disableLighting: boolean;
-        private _maxSimultaneousLights;
-        maxSimultaneousLights: number;
-        private _renderId;
-        constructor(name: string, scene: Scene);
-        needAlphaBlending(): boolean;
-        needAlphaTesting(): boolean;
-        getAlphaTestTexture(): Nullable<BaseTexture>;
-        isReadyForSubMesh(mesh: AbstractMesh, subMesh: SubMesh, useInstances?: boolean): boolean;
-        bindForSubMesh(world: Matrix, mesh: Mesh, subMesh: SubMesh): void;
-        getAnimatables(): IAnimatable[];
-        getActiveTextures(): BaseTexture[];
-        hasTexture(texture: BaseTexture): boolean;
-        dispose(forceDisposeEffect?: boolean): void;
-        clone(name: string): TerrainMaterial;
-        serialize(): any;
-        getClassName(): string;
-        static Parse(source: any, scene: Scene, rootUrl: string): TerrainMaterial;
-    }
-}

+ 0 - 41
dist/materialsLibrary/babylon.triPlanarMaterial.d.ts

@@ -1,41 +0,0 @@
-
-declare module BABYLON {
-    class TriPlanarMaterial extends PushMaterial {
-        mixTexture: BaseTexture;
-        private _diffuseTextureX;
-        diffuseTextureX: BaseTexture;
-        private _diffuseTextureY;
-        diffuseTextureY: BaseTexture;
-        private _diffuseTextureZ;
-        diffuseTextureZ: BaseTexture;
-        private _normalTextureX;
-        normalTextureX: BaseTexture;
-        private _normalTextureY;
-        normalTextureY: BaseTexture;
-        private _normalTextureZ;
-        normalTextureZ: BaseTexture;
-        tileSize: number;
-        diffuseColor: Color3;
-        specularColor: Color3;
-        specularPower: number;
-        private _disableLighting;
-        disableLighting: boolean;
-        private _maxSimultaneousLights;
-        maxSimultaneousLights: number;
-        private _renderId;
-        constructor(name: string, scene: Scene);
-        needAlphaBlending(): boolean;
-        needAlphaTesting(): boolean;
-        getAlphaTestTexture(): Nullable<BaseTexture>;
-        isReadyForSubMesh(mesh: AbstractMesh, subMesh: SubMesh, useInstances?: boolean): boolean;
-        bindForSubMesh(world: Matrix, mesh: Mesh, subMesh: SubMesh): void;
-        getAnimatables(): IAnimatable[];
-        getActiveTextures(): BaseTexture[];
-        hasTexture(texture: BaseTexture): boolean;
-        dispose(forceDisposeEffect?: boolean): void;
-        clone(name: string): TriPlanarMaterial;
-        serialize(): any;
-        getClassName(): string;
-        static Parse(source: any, scene: Scene, rootUrl: string): TriPlanarMaterial;
-    }
-}

+ 0 - 110
dist/materialsLibrary/babylon.waterMaterial.d.ts

@@ -1,110 +0,0 @@
-
-declare module BABYLON {
-    class WaterMaterial extends PushMaterial {
-        renderTargetSize: Vector2;
-        private _bumpTexture;
-        bumpTexture: BaseTexture;
-        diffuseColor: Color3;
-        specularColor: Color3;
-        specularPower: number;
-        private _disableLighting;
-        disableLighting: boolean;
-        private _maxSimultaneousLights;
-        maxSimultaneousLights: number;
-        /**
-        * @param {number}: Represents the wind force
-        */
-        windForce: number;
-        /**
-        * @param {Vector2}: The direction of the wind in the plane (X, Z)
-        */
-        windDirection: Vector2;
-        /**
-        * @param {number}: Wave height, represents the height of the waves
-        */
-        waveHeight: number;
-        /**
-        * @param {number}: Bump height, represents the bump height related to the bump map
-        */
-        bumpHeight: number;
-        /**
-         * @param {boolean}: Add a smaller moving bump to less steady waves.
-         */
-        private _bumpSuperimpose;
-        bumpSuperimpose: boolean;
-        /**
-         * @param {boolean}: Color refraction and reflection differently with .waterColor2 and .colorBlendFactor2. Non-linear (physically correct) fresnel.
-         */
-        private _fresnelSeparate;
-        fresnelSeparate: boolean;
-        /**
-         * @param {boolean}: bump Waves modify the reflection.
-         */
-        private _bumpAffectsReflection;
-        bumpAffectsReflection: boolean;
-        /**
-        * @param {number}: The water color blended with the refraction (near)
-        */
-        waterColor: Color3;
-        /**
-        * @param {number}: The blend factor related to the water color
-        */
-        colorBlendFactor: number;
-        /**
-         * @param {number}: The water color blended with the reflection (far)
-         */
-        waterColor2: Color3;
-        /**
-         * @param {number}: The blend factor related to the water color (reflection, far)
-         */
-        colorBlendFactor2: number;
-        /**
-        * @param {number}: Represents the maximum length of a wave
-        */
-        waveLength: number;
-        /**
-        * @param {number}: Defines the waves speed
-        */
-        waveSpeed: number;
-        protected _renderTargets: SmartArray<RenderTargetTexture>;
-        private _mesh;
-        private _refractionRTT;
-        private _reflectionRTT;
-        private _reflectionTransform;
-        private _lastTime;
-        private _lastDeltaTime;
-        private _renderId;
-        private _useLogarithmicDepth;
-        private _waitingRenderList;
-        /**
-         * Gets a boolean indicating that current material needs to register RTT
-         */
-        readonly hasRenderTargetTextures: boolean;
-        /**
-        * Constructor
-        */
-        constructor(name: string, scene: Scene, renderTargetSize?: Vector2);
-        useLogarithmicDepth: boolean;
-        readonly refractionTexture: Nullable<RenderTargetTexture>;
-        readonly reflectionTexture: Nullable<RenderTargetTexture>;
-        addToRenderList(node: any): void;
-        enableRenderTargets(enable: boolean): void;
-        getRenderList(): Nullable<AbstractMesh[]>;
-        readonly renderTargetsEnabled: boolean;
-        needAlphaBlending(): boolean;
-        needAlphaTesting(): boolean;
-        getAlphaTestTexture(): Nullable<BaseTexture>;
-        isReadyForSubMesh(mesh: AbstractMesh, subMesh: SubMesh, useInstances?: boolean): boolean;
-        bindForSubMesh(world: Matrix, mesh: Mesh, subMesh: SubMesh): void;
-        private _createRenderTargets;
-        getAnimatables(): IAnimatable[];
-        getActiveTextures(): BaseTexture[];
-        hasTexture(texture: BaseTexture): boolean;
-        dispose(forceDisposeEffect?: boolean): void;
-        clone(name: string): WaterMaterial;
-        serialize(): any;
-        getClassName(): string;
-        static Parse(source: any, scene: Scene, rootUrl: string): WaterMaterial;
-        static CreateDefaultMesh(name: string, scene: Scene): Mesh;
-    }
-}

+ 0 - 102
dist/postProcessesLibrary/babylon.asciiArtPostProcess.d.ts

@@ -1,102 +0,0 @@
-
-declare module BABYLON {
-    /**
-     * AsciiArtFontTexture is the helper class used to easily create your ascii art font texture.
-     *
-     * It basically takes care rendering the font front the given font size to a texture.
-     * This is used later on in the postprocess.
-     */
-    class AsciiArtFontTexture extends BaseTexture {
-        private _font;
-        private _text;
-        private _charSize;
-        /**
-         * Gets the size of one char in the texture (each char fits in size * size space in the texture).
-         */
-        readonly charSize: number;
-        /**
-         * Create a new instance of the Ascii Art FontTexture class
-         * @param name the name of the texture
-         * @param font the font to use, use the W3C CSS notation
-         * @param text the caracter set to use in the rendering.
-         * @param scene the scene that owns the texture
-         */
-        constructor(name: string, font: string, text: string, scene?: Nullable<Scene>);
-        /**
-         * Gets the max char width of a font.
-         * @param font the font to use, use the W3C CSS notation
-         * @return the max char width
-         */
-        private getFontWidth;
-        /**
-         * Gets the max char height of a font.
-         * @param font the font to use, use the W3C CSS notation
-         * @return the max char height
-         */
-        private getFontHeight;
-        /**
-         * Clones the current AsciiArtTexture.
-         * @return the clone of the texture.
-         */
-        clone(): AsciiArtFontTexture;
-        /**
-         * Parses a json object representing the texture and returns an instance of it.
-         * @param source the source JSON representation
-         * @param scene the scene to create the texture for
-         * @return the parsed texture
-         */
-        static Parse(source: any, scene: Scene): AsciiArtFontTexture;
-    }
-    /**
-     * Option available in the Ascii Art Post Process.
-     */
-    interface IAsciiArtPostProcessOptions {
-        /**
-         * The font to use following the w3c font definition.
-         */
-        font?: string;
-        /**
-         * The character set to use in the postprocess.
-         */
-        characterSet?: string;
-        /**
-         * This defines the amount you want to mix the "tile" or caracter space colored in the ascii art.
-         * This number is defined between 0 and 1;
-         */
-        mixToTile?: number;
-        /**
-         * This defines the amount you want to mix the normal rendering pass in the ascii art.
-         * This number is defined between 0 and 1;
-         */
-        mixToNormal?: number;
-    }
-    /**
-     * AsciiArtPostProcess helps rendering everithing in Ascii Art.
-     *
-     * Simmply add it to your scene and let the nerd that lives in you have fun.
-     * Example usage: var pp = new AsciiArtPostProcess("myAscii", "20px Monospace", camera);
-     */
-    class AsciiArtPostProcess extends PostProcess {
-        /**
-         * The font texture used to render the char in the post process.
-         */
-        private _asciiArtFontTexture;
-        /**
-         * This defines the amount you want to mix the "tile" or caracter space colored in the ascii art.
-         * This number is defined between 0 and 1;
-         */
-        mixToTile: number;
-        /**
-         * This defines the amount you want to mix the normal rendering pass in the ascii art.
-         * This number is defined between 0 and 1;
-         */
-        mixToNormal: number;
-        /**
-         * Instantiates a new Ascii Art Post Process.
-         * @param name the name to give to the postprocess
-         * @camera the camera to apply the post process to.
-         * @param options can either be the font name or an option object following the IAsciiArtPostProcessOptions format
-         */
-        constructor(name: string, camera: Camera, options?: string | IAsciiArtPostProcessOptions);
-    }
-}

+ 0 - 98
dist/postProcessesLibrary/babylon.digitalRainPostProcess.d.ts

@@ -1,98 +0,0 @@
-
-declare module BABYLON {
-    /**
-     * DigitalRainFontTexture is the helper class used to easily create your digital rain font texture.
-     *
-     * It basically takes care rendering the font front the given font size to a texture.
-     * This is used later on in the postprocess.
-     */
-    class DigitalRainFontTexture extends BaseTexture {
-        private _font;
-        private _text;
-        private _charSize;
-        /**
-         * Gets the size of one char in the texture (each char fits in size * size space in the texture).
-         */
-        readonly charSize: number;
-        /**
-         * Create a new instance of the Digital Rain FontTexture class
-         * @param name the name of the texture
-         * @param font the font to use, use the W3C CSS notation
-         * @param text the caracter set to use in the rendering.
-         * @param scene the scene that owns the texture
-         */
-        constructor(name: string, font: string, text: string, scene?: Nullable<Scene>);
-        /**
-         * Gets the max char width of a font.
-         * @param font the font to use, use the W3C CSS notation
-         * @return the max char width
-         */
-        private getFontWidth;
-        /**
-         * Gets the max char height of a font.
-         * @param font the font to use, use the W3C CSS notation
-         * @return the max char height
-         */
-        private getFontHeight;
-        /**
-         * Clones the current DigitalRainFontTexture.
-         * @return the clone of the texture.
-         */
-        clone(): DigitalRainFontTexture;
-        /**
-         * Parses a json object representing the texture and returns an instance of it.
-         * @param source the source JSON representation
-         * @param scene the scene to create the texture for
-         * @return the parsed texture
-         */
-        static Parse(source: any, scene: Scene): DigitalRainFontTexture;
-    }
-    /**
-     * Option available in the Digital Rain Post Process.
-     */
-    interface IDigitalRainPostProcessOptions {
-        /**
-         * The font to use following the w3c font definition.
-         */
-        font?: string;
-        /**
-         * This defines the amount you want to mix the "tile" or caracter space colored in the digital rain.
-         * This number is defined between 0 and 1;
-         */
-        mixToTile?: number;
-        /**
-         * This defines the amount you want to mix the normal rendering pass in the digital rain.
-         * This number is defined between 0 and 1;
-         */
-        mixToNormal?: number;
-    }
-    /**
-     * DigitalRainPostProcess helps rendering everithing in digital rain.
-     *
-     * Simmply add it to your scene and let the nerd that lives in you have fun.
-     * Example usage: var pp = new DigitalRainPostProcess("digitalRain", "20px Monospace", camera);
-     */
-    class DigitalRainPostProcess extends PostProcess {
-        /**
-         * The font texture used to render the char in the post process.
-         */
-        private _digitalRainFontTexture;
-        /**
-         * This defines the amount you want to mix the "tile" or caracter space colored in the digital rain.
-         * This number is defined between 0 and 1;
-         */
-        mixToTile: number;
-        /**
-         * This defines the amount you want to mix the normal rendering pass in the digital rain.
-         * This number is defined between 0 and 1;
-         */
-        mixToNormal: number;
-        /**
-         * Instantiates a new Digital Rain Post Process.
-         * @param name the name to give to the postprocess
-         * @camera the camera to apply the post process to.
-         * @param options can either be the font name or an option object following the IDigitalRainPostProcessOptions format
-         */
-        constructor(name: string, camera: Camera, options?: string | IDigitalRainPostProcessOptions);
-    }
-}

+ 247 - 60
dist/preview release/babylon.d.ts

@@ -1183,6 +1183,10 @@ declare module BABYLON {
         isTrue(preprocessors: {
             [key: string]: string;
         }): boolean;
+        private static _OperatorPriority;
+        private static _Stack;
+        static postfixToInfix(postfix: string[]): string;
+        static infixToPostfix(infix: string): string[];
     }
 }
 declare module BABYLON {
@@ -11884,6 +11888,9 @@ declare module BABYLON {
          * @returns the list of ramp gradients
          */
         getRampGradients(): Nullable<Array<Color3Gradient>>;
+        /** Force the system to rebuild all gradients that need to be resync */
+        forceRefreshGradients(): void;
+        private _syncRampGradientTexture;
         /**
          * Adds a new ramp gradient used to remap particle colors
          * @param gradient defines the gradient to use (between 0 and 1)
@@ -12000,12 +12007,13 @@ declare module BABYLON {
          */
         clone(name: string, newEmitter: any): ParticleSystem;
         /**
-         * Serializes the particle system to a JSON object.
+         * Serializes the particle system to a JSON object
+         * @param serializeTexture defines if the texture must be serialized as well
          * @returns the JSON object
          */
-        serialize(): any;
+        serialize(serializeTexture?: boolean): any;
         /** @hidden */
-        static _Serialize(serializationObject: any, particleSystem: IParticleSystem): void;
+        static _Serialize(serializationObject: any, particleSystem: IParticleSystem, serializeTexture: boolean): void;
         /** @hidden */
         static _Parse(parsedParticleSystem: any, particleSystem: IParticleSystem, scene: Scene, rootUrl: string): void;
         /**
@@ -13243,14 +13251,17 @@ declare module BABYLON {
          */
         clone(name: string, newEmitter: any): Nullable<IParticleSystem>;
         /**
-         * Serializes the particle system to a JSON object.
+         * Serializes the particle system to a JSON object
+         * @param serializeTexture defines if the texture must be serialized as well
          * @returns the JSON object
          */
-        serialize(): any;
+        serialize(serializeTexture: boolean): any;
         /**
          * Rebuild the particle system
          */
         rebuild(): void;
+        /** Force the system to rebuild all gradients that need to be resync */
+        forceRefreshGradients(): void;
         /**
          * Starts the particle system and begins to emit
          * @param delay defines the delay in milliseconds before starting the system (0 by default)
@@ -48517,18 +48528,18 @@ declare module BABYLON {
         protected readonly _mapping: {
             buttons: string[];
             buttonMeshNames: {
-                'trigger': string;
-                'menu': string;
-                'grip': string;
-                'thumbstick': string;
-                'trackpad': string;
+                trigger: string;
+                menu: string;
+                grip: string;
+                thumbstick: string;
+                trackpad: string;
             };
             buttonObservableNames: {
-                'trigger': string;
-                'menu': string;
-                'grip': string;
-                'thumbstick': string;
-                'trackpad': string;
+                trigger: string;
+                menu: string;
+                grip: string;
+                thumbstick: string;
+                trackpad: string;
             };
             axisMeshNames: string[];
             pointingPoseMeshName: string;
@@ -48636,18 +48647,18 @@ declare module BABYLON {
         protected readonly _mapping: {
             buttons: string[];
             buttonMeshNames: {
-                'trigger': string;
-                'menu': string;
-                'grip': string;
-                'thumbstick': string;
-                'trackpad': string;
+                trigger: string;
+                menu: string;
+                grip: string;
+                thumbstick: string;
+                trackpad: string;
             };
             buttonObservableNames: {
-                'trigger': string;
-                'menu': string;
-                'grip': string;
-                'thumbstick': string;
-                'trackpad': string;
+                trigger: string;
+                menu: string;
+                grip: string;
+                thumbstick: string;
+                trackpad: string;
             };
             axisMeshNames: string[];
             pointingPoseMeshName: string;
@@ -51203,6 +51214,139 @@ declare module BABYLON {
 }
 declare module BABYLON {
     /** @hidden */
+    export var pbrBlockAlbedoOpacity: {
+        name: string;
+        shader: string;
+    };
+}
+declare module BABYLON {
+    /** @hidden */
+    export var pbrBlockReflectivity: {
+        name: string;
+        shader: string;
+    };
+}
+declare module BABYLON {
+    /** @hidden */
+    export var pbrBlockAmbientOcclusion: {
+        name: string;
+        shader: string;
+    };
+}
+declare module BABYLON {
+    /** @hidden */
+    export var pbrBlockAlphaFresnel: {
+        name: string;
+        shader: string;
+    };
+}
+declare module BABYLON {
+    /** @hidden */
+    export var pbrBlockAnisotropic: {
+        name: string;
+        shader: string;
+    };
+}
+declare module BABYLON {
+    /** @hidden */
+    export var pbrBlockReflection: {
+        name: string;
+        shader: string;
+    };
+}
+declare module BABYLON {
+    /** @hidden */
+    export var pbrBlockSheen: {
+        name: string;
+        shader: string;
+    };
+}
+declare module BABYLON {
+    /** @hidden */
+    export var pbrBlockClearcoat: {
+        name: string;
+        shader: string;
+    };
+}
+declare module BABYLON {
+    /** @hidden */
+    export var pbrBlockSubSurface: {
+        name: string;
+        shader: string;
+    };
+}
+declare module BABYLON {
+    /** @hidden */
+    export var pbrBlockNormalGeometric: {
+        name: string;
+        shader: string;
+    };
+}
+declare module BABYLON {
+    /** @hidden */
+    export var pbrBlockNormalFinal: {
+        name: string;
+        shader: string;
+    };
+}
+declare module BABYLON {
+    /** @hidden */
+    export var pbrBlockGeometryInfo: {
+        name: string;
+        shader: string;
+    };
+}
+declare module BABYLON {
+    /** @hidden */
+    export var pbrBlockReflectance0: {
+        name: string;
+        shader: string;
+    };
+}
+declare module BABYLON {
+    /** @hidden */
+    export var pbrBlockReflectance: {
+        name: string;
+        shader: string;
+    };
+}
+declare module BABYLON {
+    /** @hidden */
+    export var pbrBlockDirectLighting: {
+        name: string;
+        shader: string;
+    };
+}
+declare module BABYLON {
+    /** @hidden */
+    export var pbrBlockFinalLitComponents: {
+        name: string;
+        shader: string;
+    };
+}
+declare module BABYLON {
+    /** @hidden */
+    export var pbrBlockFinalUnlitComponents: {
+        name: string;
+        shader: string;
+    };
+}
+declare module BABYLON {
+    /** @hidden */
+    export var pbrBlockFinalColorComposition: {
+        name: string;
+        shader: string;
+    };
+}
+declare module BABYLON {
+    /** @hidden */
+    export var pbrBlockImageProcessing: {
+        name: string;
+        shader: string;
+    };
+}
+declare module BABYLON {
+    /** @hidden */
     export var pbrDebug: {
         name: string;
         shader: string;
@@ -53834,6 +53978,11 @@ declare module BABYLON {
          */
         protected _shouldRenderMesh(mesh: Mesh): boolean;
         /**
+         * Adds specific effects defines.
+         * @param defines The defines to add specifics to.
+         */
+        protected _addCustomEffectDefines(defines: string[]): void;
+        /**
          * Sets the required values for both the emissive texture and and the main color.
          */
         protected _setEmissiveTextureAndColor(mesh: Mesh, subMesh: SubMesh, material: Material): void;
@@ -55613,7 +55762,6 @@ declare module BABYLON {
          * @param impostor imposter to match
          */
         private _softbodyOrClothStep;
-        private _tmpVector;
         private _tmpMatrix;
         /**
          * Applies an impulse on the imposter
@@ -57445,6 +57593,10 @@ declare module BABYLON {
         /** Get the inspector from bundle or global */
         private _getGlobalNodeMaterialEditor;
         /**
+         * Snippet ID if the material was created from the snippet server
+         */
+        snippetId: string;
+        /**
          * Gets or sets data used by visual editor
          * @see https://nme.babylonjs.com
          */
@@ -57703,9 +57855,10 @@ declare module BABYLON {
          * @param snippetId defines the snippet to load
          * @param scene defines the hosting scene
          * @param rootUrl defines the root URL to use to load textures and relative dependencies
+         * @param nodeMaterial defines a node material to update (instead of creating a new one)
          * @returns a promise that will resolve to the new node material
          */
-        static ParseFromSnippetAsync(snippetId: string, scene: Scene, rootUrl?: string): Promise<NodeMaterial>;
+        static ParseFromSnippetAsync(snippetId: string, scene: Scene, rootUrl?: string, nodeMaterial?: NodeMaterial): Promise<NodeMaterial>;
         /**
          * Creates a new node material set to default basic configuration
          * @param name defines the name of the material
@@ -63103,7 +63256,7 @@ declare module BABYLON {
          */
         addColorGradient(gradient: number, color1: Color4, color2?: Color4): GPUParticleSystem;
         private _refreshColorGradient;
-        /** Force the system to rebuild all gradients */
+        /** Force the system to rebuild all gradients that need to be resync */
         forceRefreshGradients(): void;
         /**
          * Remove a specific color gradient
@@ -63335,10 +63488,11 @@ declare module BABYLON {
          */
         clone(name: string, newEmitter: any): GPUParticleSystem;
         /**
-         * Serializes the particle system to a JSON object.
+         * Serializes the particle system to a JSON object
+         * @param serializeTexture defines if the texture must be serialized as well
          * @returns the JSON object
          */
-        serialize(): any;
+        serialize(serializeTexture?: boolean): any;
         /**
          * Parses a JSON object to create a GPU particle system.
          * @param parsedParticleSystem The JSON object to parse
@@ -63391,9 +63545,10 @@ declare module BABYLON {
         dispose(): void;
         /**
          * Serialize the set into a JSON compatible object
+         * @param serializeTexture defines if the texture must be serialized as well
          * @returns a JSON compatible representation of the set
          */
-        serialize(): any;
+        serialize(serializeTexture?: boolean): any;
         /**
          * Parse a new ParticleSystemSet from a serialized source
          * @param data defines a JSON compatible representation of the set
@@ -63440,12 +63595,22 @@ declare module BABYLON {
          */
         static ExportSet(systems: IParticleSystem[]): ParticleSystemSet;
         /**
-         * Creates a node material from a snippet saved by the node material editor
+         * Creates a particle system from a snippet saved in a remote file
+         * @param name defines the name of the  particle system to create
+         * @param url defines the url to load from
+         * @param scene defines the hosting scene
+         * @param gpu If the system will use gpu
+         * @param rootUrl defines the root URL to use to load textures and relative dependencies
+         * @returns a promise that will resolve to the new  particle system
+         */
+        static ParseFromFileAsync(name: string, url: string, scene: Scene, gpu?: boolean, rootUrl?: string): Promise<IParticleSystem>;
+        /**
+         * Creates a particle system from a snippet saved by the particle system editor
          * @param snippetId defines the snippet to load
          * @param scene defines the hosting scene
          * @param gpu If the system will use gpu
          * @param rootUrl defines the root URL to use to load textures and relative dependencies
-         * @returns a promise that will resolve to the new node material
+         * @returns a promise that will resolve to the new particle system
          */
         static CreateFromSnippetAsync(snippetId: string, scene: Scene, gpu?: boolean, rootUrl?: string): Promise<IParticleSystem>;
     }
@@ -63900,6 +64065,28 @@ declare module BABYLON {
     }
 }
 declare module BABYLON {
+    /**
+     * Represents a set of particle systems working together to create a specific effect
+     */
+    export class ParticleSystemDebugger implements IDisposable {
+        /**
+         * Defines the particle system to debug
+         */
+        system: IParticleSystem;
+        /**
+         * Creates a new particle system debugger
+         * @param system defines the particle system to debug
+         */
+        constructor(
+        /**
+         * Defines the particle system to debug
+         */
+        system: IParticleSystem);
+        /** Clear all the resources */
+        dispose(): void;
+    }
+}
+declare module BABYLON {
         interface Scene {
             /** @hidden (Backing field) */
             _physicsEngine: Nullable<IPhysicsEngine>;
@@ -67962,9 +68149,9 @@ declare module BABYLON {
          */
         noMipmap?: boolean | undefined;
         /**
-         * Defines if texture must be inverted on Y axis (default is false)
+         * Defines if texture must be inverted on Y axis (default is true)
          */
-        invertY?: boolean | undefined;
+        invertY: boolean;
         /**
          * Defines the sampling mode to use (default is Texture.TRILINEAR_SAMPLINGMODE)
          */
@@ -67986,7 +68173,7 @@ declare module BABYLON {
          * @param name defines the name of the task
          * @param url defines the location of the file to load
          * @param noMipmap defines if mipmap should not be generated (default is false)
-         * @param invertY defines if texture must be inverted on Y axis (default is false)
+         * @param invertY defines if texture must be inverted on Y axis (default is true)
          * @param samplingMode defines the sampling mode to use (default is Texture.TRILINEAR_SAMPLINGMODE)
          */
         constructor(
@@ -68003,9 +68190,9 @@ declare module BABYLON {
          */
         noMipmap?: boolean | undefined, 
         /**
-         * Defines if texture must be inverted on Y axis (default is false)
+         * Defines if texture must be inverted on Y axis (default is true)
          */
-        invertY?: boolean | undefined, 
+        invertY?: boolean, 
         /**
          * Defines the sampling mode to use (default is Texture.TRILINEAR_SAMPLINGMODE)
          */
@@ -69982,52 +70169,52 @@ declare module BABYLON {
     export class WebXRMicrosoftMixedRealityController extends WebXRAbstractMotionController {
         protected readonly _mapping: {
             defaultButton: {
-                "valueNodeName": string;
-                "unpressedNodeName": string;
-                "pressedNodeName": string;
+                valueNodeName: string;
+                unpressedNodeName: string;
+                pressedNodeName: string;
             };
             defaultAxis: {
-                "valueNodeName": string;
-                "minNodeName": string;
-                "maxNodeName": string;
+                valueNodeName: string;
+                minNodeName: string;
+                maxNodeName: string;
             };
             buttons: {
                 "xr-standard-trigger": {
-                    "rootNodeName": string;
-                    "componentProperty": string;
-                    "states": string[];
+                    rootNodeName: string;
+                    componentProperty: string;
+                    states: string[];
                 };
                 "xr-standard-squeeze": {
-                    "rootNodeName": string;
-                    "componentProperty": string;
-                    "states": string[];
+                    rootNodeName: string;
+                    componentProperty: string;
+                    states: string[];
                 };
                 "xr-standard-touchpad": {
-                    "rootNodeName": string;
-                    "labelAnchorNodeName": string;
-                    "touchPointNodeName": string;
+                    rootNodeName: string;
+                    labelAnchorNodeName: string;
+                    touchPointNodeName: string;
                 };
                 "xr-standard-thumbstick": {
-                    "rootNodeName": string;
-                    "componentProperty": string;
-                    "states": string[];
+                    rootNodeName: string;
+                    componentProperty: string;
+                    states: string[];
                 };
             };
             axes: {
                 "xr-standard-touchpad": {
                     "x-axis": {
-                        "rootNodeName": string;
+                        rootNodeName: string;
                     };
                     "y-axis": {
-                        "rootNodeName": string;
+                        rootNodeName: string;
                     };
                 };
                 "xr-standard-thumbstick": {
                     "x-axis": {
-                        "rootNodeName": string;
+                        rootNodeName: string;
                     };
                     "y-axis": {
-                        "rootNodeName": string;
+                        rootNodeName: string;
                     };
                 };
             };

File diff suppressed because it is too large
+ 2 - 2
dist/preview release/babylon.js


File diff suppressed because it is too large
+ 861 - 165
dist/preview release/babylon.max.js


File diff suppressed because it is too large
+ 1 - 1
dist/preview release/babylon.max.js.map


File diff suppressed because it is too large
+ 516 - 120
dist/preview release/babylon.module.d.ts


+ 242 - 60
dist/preview release/documentation.d.ts

@@ -1183,6 +1183,10 @@ declare module BABYLON {
         isTrue(preprocessors: {
             [key: string]: string;
         }): boolean;
+        private static _OperatorPriority;
+        private static _Stack;
+        static postfixToInfix(postfix: string[]): string;
+        static infixToPostfix(infix: string): string[];
     }
 }
 declare module BABYLON {
@@ -11884,6 +11888,9 @@ declare module BABYLON {
          * @returns the list of ramp gradients
          */
         getRampGradients(): Nullable<Array<Color3Gradient>>;
+        /** Force the system to rebuild all gradients that need to be resync */
+        forceRefreshGradients(): void;
+        private _syncRampGradientTexture;
         /**
          * Adds a new ramp gradient used to remap particle colors
          * @param gradient defines the gradient to use (between 0 and 1)
@@ -12000,12 +12007,13 @@ declare module BABYLON {
          */
         clone(name: string, newEmitter: any): ParticleSystem;
         /**
-         * Serializes the particle system to a JSON object.
+         * Serializes the particle system to a JSON object
+         * @param serializeTexture defines if the texture must be serialized as well
          * @returns the JSON object
          */
-        serialize(): any;
+        serialize(serializeTexture?: boolean): any;
         /** @hidden */
-        static _Serialize(serializationObject: any, particleSystem: IParticleSystem): void;
+        static _Serialize(serializationObject: any, particleSystem: IParticleSystem, serializeTexture: boolean): void;
         /** @hidden */
         static _Parse(parsedParticleSystem: any, particleSystem: IParticleSystem, scene: Scene, rootUrl: string): void;
         /**
@@ -13243,14 +13251,17 @@ declare module BABYLON {
          */
         clone(name: string, newEmitter: any): Nullable<IParticleSystem>;
         /**
-         * Serializes the particle system to a JSON object.
+         * Serializes the particle system to a JSON object
+         * @param serializeTexture defines if the texture must be serialized as well
          * @returns the JSON object
          */
-        serialize(): any;
+        serialize(serializeTexture: boolean): any;
         /**
          * Rebuild the particle system
          */
         rebuild(): void;
+        /** Force the system to rebuild all gradients that need to be resync */
+        forceRefreshGradients(): void;
         /**
          * Starts the particle system and begins to emit
          * @param delay defines the delay in milliseconds before starting the system (0 by default)
@@ -48517,18 +48528,18 @@ declare module BABYLON {
         protected readonly _mapping: {
             buttons: string[];
             buttonMeshNames: {
-                'trigger': string;
-                'menu': string;
-                'grip': string;
-                'thumbstick': string;
-                'trackpad': string;
+                trigger: string;
+                menu: string;
+                grip: string;
+                thumbstick: string;
+                trackpad: string;
             };
             buttonObservableNames: {
-                'trigger': string;
-                'menu': string;
-                'grip': string;
-                'thumbstick': string;
-                'trackpad': string;
+                trigger: string;
+                menu: string;
+                grip: string;
+                thumbstick: string;
+                trackpad: string;
             };
             axisMeshNames: string[];
             pointingPoseMeshName: string;
@@ -48636,18 +48647,18 @@ declare module BABYLON {
         protected readonly _mapping: {
             buttons: string[];
             buttonMeshNames: {
-                'trigger': string;
-                'menu': string;
-                'grip': string;
-                'thumbstick': string;
-                'trackpad': string;
+                trigger: string;
+                menu: string;
+                grip: string;
+                thumbstick: string;
+                trackpad: string;
             };
             buttonObservableNames: {
-                'trigger': string;
-                'menu': string;
-                'grip': string;
-                'thumbstick': string;
-                'trackpad': string;
+                trigger: string;
+                menu: string;
+                grip: string;
+                thumbstick: string;
+                trackpad: string;
             };
             axisMeshNames: string[];
             pointingPoseMeshName: string;
@@ -51203,6 +51214,139 @@ declare module BABYLON {
 }
 declare module BABYLON {
     /** @hidden */
+    export var pbrBlockAlbedoOpacity: {
+        name: string;
+        shader: string;
+    };
+}
+declare module BABYLON {
+    /** @hidden */
+    export var pbrBlockReflectivity: {
+        name: string;
+        shader: string;
+    };
+}
+declare module BABYLON {
+    /** @hidden */
+    export var pbrBlockAmbientOcclusion: {
+        name: string;
+        shader: string;
+    };
+}
+declare module BABYLON {
+    /** @hidden */
+    export var pbrBlockAlphaFresnel: {
+        name: string;
+        shader: string;
+    };
+}
+declare module BABYLON {
+    /** @hidden */
+    export var pbrBlockAnisotropic: {
+        name: string;
+        shader: string;
+    };
+}
+declare module BABYLON {
+    /** @hidden */
+    export var pbrBlockReflection: {
+        name: string;
+        shader: string;
+    };
+}
+declare module BABYLON {
+    /** @hidden */
+    export var pbrBlockSheen: {
+        name: string;
+        shader: string;
+    };
+}
+declare module BABYLON {
+    /** @hidden */
+    export var pbrBlockClearcoat: {
+        name: string;
+        shader: string;
+    };
+}
+declare module BABYLON {
+    /** @hidden */
+    export var pbrBlockSubSurface: {
+        name: string;
+        shader: string;
+    };
+}
+declare module BABYLON {
+    /** @hidden */
+    export var pbrBlockNormalGeometric: {
+        name: string;
+        shader: string;
+    };
+}
+declare module BABYLON {
+    /** @hidden */
+    export var pbrBlockNormalFinal: {
+        name: string;
+        shader: string;
+    };
+}
+declare module BABYLON {
+    /** @hidden */
+    export var pbrBlockGeometryInfo: {
+        name: string;
+        shader: string;
+    };
+}
+declare module BABYLON {
+    /** @hidden */
+    export var pbrBlockReflectance0: {
+        name: string;
+        shader: string;
+    };
+}
+declare module BABYLON {
+    /** @hidden */
+    export var pbrBlockReflectance: {
+        name: string;
+        shader: string;
+    };
+}
+declare module BABYLON {
+    /** @hidden */
+    export var pbrBlockDirectLighting: {
+        name: string;
+        shader: string;
+    };
+}
+declare module BABYLON {
+    /** @hidden */
+    export var pbrBlockFinalLitComponents: {
+        name: string;
+        shader: string;
+    };
+}
+declare module BABYLON {
+    /** @hidden */
+    export var pbrBlockFinalUnlitComponents: {
+        name: string;
+        shader: string;
+    };
+}
+declare module BABYLON {
+    /** @hidden */
+    export var pbrBlockFinalColorComposition: {
+        name: string;
+        shader: string;
+    };
+}
+declare module BABYLON {
+    /** @hidden */
+    export var pbrBlockImageProcessing: {
+        name: string;
+        shader: string;
+    };
+}
+declare module BABYLON {
+    /** @hidden */
     export var pbrDebug: {
         name: string;
         shader: string;
@@ -55613,7 +55757,6 @@ declare module BABYLON {
          * @param impostor imposter to match
          */
         private _softbodyOrClothStep;
-        private _tmpVector;
         private _tmpMatrix;
         /**
          * Applies an impulse on the imposter
@@ -57445,6 +57588,10 @@ declare module BABYLON {
         /** Get the inspector from bundle or global */
         private _getGlobalNodeMaterialEditor;
         /**
+         * Snippet ID if the material was created from the snippet server
+         */
+        snippetId: string;
+        /**
          * Gets or sets data used by visual editor
          * @see https://nme.babylonjs.com
          */
@@ -57703,9 +57850,10 @@ declare module BABYLON {
          * @param snippetId defines the snippet to load
          * @param scene defines the hosting scene
          * @param rootUrl defines the root URL to use to load textures and relative dependencies
+         * @param nodeMaterial defines a node material to update (instead of creating a new one)
          * @returns a promise that will resolve to the new node material
          */
-        static ParseFromSnippetAsync(snippetId: string, scene: Scene, rootUrl?: string): Promise<NodeMaterial>;
+        static ParseFromSnippetAsync(snippetId: string, scene: Scene, rootUrl?: string, nodeMaterial?: NodeMaterial): Promise<NodeMaterial>;
         /**
          * Creates a new node material set to default basic configuration
          * @param name defines the name of the material
@@ -63103,7 +63251,7 @@ declare module BABYLON {
          */
         addColorGradient(gradient: number, color1: Color4, color2?: Color4): GPUParticleSystem;
         private _refreshColorGradient;
-        /** Force the system to rebuild all gradients */
+        /** Force the system to rebuild all gradients that need to be resync */
         forceRefreshGradients(): void;
         /**
          * Remove a specific color gradient
@@ -63335,10 +63483,11 @@ declare module BABYLON {
          */
         clone(name: string, newEmitter: any): GPUParticleSystem;
         /**
-         * Serializes the particle system to a JSON object.
+         * Serializes the particle system to a JSON object
+         * @param serializeTexture defines if the texture must be serialized as well
          * @returns the JSON object
          */
-        serialize(): any;
+        serialize(serializeTexture?: boolean): any;
         /**
          * Parses a JSON object to create a GPU particle system.
          * @param parsedParticleSystem The JSON object to parse
@@ -63391,9 +63540,10 @@ declare module BABYLON {
         dispose(): void;
         /**
          * Serialize the set into a JSON compatible object
+         * @param serializeTexture defines if the texture must be serialized as well
          * @returns a JSON compatible representation of the set
          */
-        serialize(): any;
+        serialize(serializeTexture?: boolean): any;
         /**
          * Parse a new ParticleSystemSet from a serialized source
          * @param data defines a JSON compatible representation of the set
@@ -63440,12 +63590,22 @@ declare module BABYLON {
          */
         static ExportSet(systems: IParticleSystem[]): ParticleSystemSet;
         /**
-         * Creates a node material from a snippet saved by the node material editor
+         * Creates a particle system from a snippet saved in a remote file
+         * @param name defines the name of the  particle system to create
+         * @param url defines the url to load from
+         * @param scene defines the hosting scene
+         * @param gpu If the system will use gpu
+         * @param rootUrl defines the root URL to use to load textures and relative dependencies
+         * @returns a promise that will resolve to the new  particle system
+         */
+        static ParseFromFileAsync(name: string, url: string, scene: Scene, gpu?: boolean, rootUrl?: string): Promise<IParticleSystem>;
+        /**
+         * Creates a particle system from a snippet saved by the particle system editor
          * @param snippetId defines the snippet to load
          * @param scene defines the hosting scene
          * @param gpu If the system will use gpu
          * @param rootUrl defines the root URL to use to load textures and relative dependencies
-         * @returns a promise that will resolve to the new node material
+         * @returns a promise that will resolve to the new particle system
          */
         static CreateFromSnippetAsync(snippetId: string, scene: Scene, gpu?: boolean, rootUrl?: string): Promise<IParticleSystem>;
     }
@@ -63900,6 +64060,28 @@ declare module BABYLON {
     }
 }
 declare module BABYLON {
+    /**
+     * Represents a set of particle systems working together to create a specific effect
+     */
+    export class ParticleSystemDebugger implements IDisposable {
+        /**
+         * Defines the particle system to debug
+         */
+        system: IParticleSystem;
+        /**
+         * Creates a new particle system debugger
+         * @param system defines the particle system to debug
+         */
+        constructor(
+        /**
+         * Defines the particle system to debug
+         */
+        system: IParticleSystem);
+        /** Clear all the resources */
+        dispose(): void;
+    }
+}
+declare module BABYLON {
         interface Scene {
             /** @hidden (Backing field) */
             _physicsEngine: Nullable<IPhysicsEngine>;
@@ -67962,9 +68144,9 @@ declare module BABYLON {
          */
         noMipmap?: boolean | undefined;
         /**
-         * Defines if texture must be inverted on Y axis (default is false)
+         * Defines if texture must be inverted on Y axis (default is true)
          */
-        invertY?: boolean | undefined;
+        invertY: boolean;
         /**
          * Defines the sampling mode to use (default is Texture.TRILINEAR_SAMPLINGMODE)
          */
@@ -67986,7 +68168,7 @@ declare module BABYLON {
          * @param name defines the name of the task
          * @param url defines the location of the file to load
          * @param noMipmap defines if mipmap should not be generated (default is false)
-         * @param invertY defines if texture must be inverted on Y axis (default is false)
+         * @param invertY defines if texture must be inverted on Y axis (default is true)
          * @param samplingMode defines the sampling mode to use (default is Texture.TRILINEAR_SAMPLINGMODE)
          */
         constructor(
@@ -68003,9 +68185,9 @@ declare module BABYLON {
          */
         noMipmap?: boolean | undefined, 
         /**
-         * Defines if texture must be inverted on Y axis (default is false)
+         * Defines if texture must be inverted on Y axis (default is true)
          */
-        invertY?: boolean | undefined, 
+        invertY?: boolean, 
         /**
          * Defines the sampling mode to use (default is Texture.TRILINEAR_SAMPLINGMODE)
          */
@@ -69982,52 +70164,52 @@ declare module BABYLON {
     export class WebXRMicrosoftMixedRealityController extends WebXRAbstractMotionController {
         protected readonly _mapping: {
             defaultButton: {
-                "valueNodeName": string;
-                "unpressedNodeName": string;
-                "pressedNodeName": string;
+                valueNodeName: string;
+                unpressedNodeName: string;
+                pressedNodeName: string;
             };
             defaultAxis: {
-                "valueNodeName": string;
-                "minNodeName": string;
-                "maxNodeName": string;
+                valueNodeName: string;
+                minNodeName: string;
+                maxNodeName: string;
             };
             buttons: {
                 "xr-standard-trigger": {
-                    "rootNodeName": string;
-                    "componentProperty": string;
-                    "states": string[];
+                    rootNodeName: string;
+                    componentProperty: string;
+                    states: string[];
                 };
                 "xr-standard-squeeze": {
-                    "rootNodeName": string;
-                    "componentProperty": string;
-                    "states": string[];
+                    rootNodeName: string;
+                    componentProperty: string;
+                    states: string[];
                 };
                 "xr-standard-touchpad": {
-                    "rootNodeName": string;
-                    "labelAnchorNodeName": string;
-                    "touchPointNodeName": string;
+                    rootNodeName: string;
+                    labelAnchorNodeName: string;
+                    touchPointNodeName: string;
                 };
                 "xr-standard-thumbstick": {
-                    "rootNodeName": string;
-                    "componentProperty": string;
-                    "states": string[];
+                    rootNodeName: string;
+                    componentProperty: string;
+                    states: string[];
                 };
             };
             axes: {
                 "xr-standard-touchpad": {
                     "x-axis": {
-                        "rootNodeName": string;
+                        rootNodeName: string;
                     };
                     "y-axis": {
-                        "rootNodeName": string;
+                        rootNodeName: string;
                     };
                 };
                 "xr-standard-thumbstick": {
                     "x-axis": {
-                        "rootNodeName": string;
+                        rootNodeName: string;
                     };
                     "y-axis": {
-                        "rootNodeName": string;
+                        rootNodeName: string;
                     };
                 };
             };

+ 1 - 1
dist/preview release/glTF2Interface/package.json

@@ -1,7 +1,7 @@
 {
     "name": "babylonjs-gltf2interface",
     "description": "A typescript declaration of babylon's gltf2 inteface.",
-    "version": "4.2.0-alpha.3",
+    "version": "4.2.0-alpha.8",
     "repository": {
         "type": "git",
         "url": "https://github.com/BabylonJS/Babylon.js.git"

File diff suppressed because it is too large
+ 33 - 46
dist/preview release/glslang/glslang.js


BIN
dist/preview release/glslang/glslang.wasm


+ 3 - 3
dist/preview release/gui/babylon.gui.js

@@ -97,9 +97,9 @@ return /******/ (function(modules) { // webpackBootstrap
 /******/ ({
 
 /***/ "../../node_modules/tslib/tslib.es6.js":
-/*!***********************************************************!*\
-  !*** E:/Repos/Babylon.js/node_modules/tslib/tslib.es6.js ***!
-  \***********************************************************/
+/*!*****************************************************************!*\
+  !*** C:/Dev/Babylon/Babylon.js/node_modules/tslib/tslib.es6.js ***!
+  \*****************************************************************/
 /*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 

File diff suppressed because it is too large
+ 1 - 1
dist/preview release/gui/babylon.gui.js.map


File diff suppressed because it is too large
+ 2 - 2
dist/preview release/gui/babylon.gui.min.js


+ 2 - 2
dist/preview release/gui/package.json

@@ -4,7 +4,7 @@
     },
     "name": "babylonjs-gui",
     "description": "The Babylon.js GUI library is an extension you can use to generate interactive user interface. It is build on top of the DynamicTexture.",
-    "version": "4.2.0-alpha.3",
+    "version": "4.2.0-alpha.8",
     "repository": {
         "type": "git",
         "url": "https://github.com/BabylonJS/Babylon.js.git"
@@ -28,7 +28,7 @@
     ],
     "license": "Apache-2.0",
     "dependencies": {
-        "babylonjs": "4.2.0-alpha.3"
+        "babylonjs": "4.2.0-alpha.8"
     },
     "engines": {
         "node": "*"

File diff suppressed because it is too large
+ 14 - 8
dist/preview release/inspector/babylon.inspector.bundle.js


File diff suppressed because it is too large
+ 17223 - 3143
dist/preview release/inspector/babylon.inspector.bundle.max.js


File diff suppressed because it is too large
+ 1 - 1
dist/preview release/inspector/babylon.inspector.bundle.max.js.map


+ 38 - 3
dist/preview release/inspector/babylon.inspector.d.ts

@@ -306,6 +306,33 @@ declare module INSPECTOR {
     }
 }
 declare module INSPECTOR {
+    export interface IColorPickerComponentProps {
+        value: BABYLON.Color4 | BABYLON.Color3;
+        onColorChanged: (newOne: string) => void;
+        disableAlpha?: boolean;
+    }
+    interface IColorPickerComponentState {
+        pickerEnabled: boolean;
+        color: {
+            r: number;
+            g: number;
+            b: number;
+            a?: number;
+        };
+        hex: string;
+    }
+    export class ColorPickerLineComponent extends React.Component<IColorPickerComponentProps, IColorPickerComponentState> {
+        private _floatRef;
+        private _floatHostRef;
+        constructor(props: IColorPickerComponentProps);
+        syncPositions(): void;
+        shouldComponentUpdate(nextProps: IColorPickerComponentProps, nextState: IColorPickerComponentState): boolean;
+        componentDidUpdate(): void;
+        componentDidMount(): void;
+        render(): JSX.Element;
+    }
+}
+declare module INSPECTOR {
     export interface IColor3LineComponentProps {
         label: string;
         target: any;
@@ -1497,10 +1524,17 @@ declare module INSPECTOR {
     }
     export class FactorGradientStepGridComponent extends React.Component<IFactorGradientStepGridComponent, {
         gradient: number;
+        factor1: string;
+        factor2?: string;
     }> {
         constructor(props: IFactorGradientStepGridComponent);
-        updateFactor1(factor: number): void;
-        updateFactor2(factor: number): void;
+        shouldComponentUpdate(nextProps: IFactorGradientStepGridComponent, nextState: {
+            gradient: number;
+            factor1: string;
+            factor2?: string;
+        }): boolean;
+        updateFactor1(valueString: string): void;
+        updateFactor2(valueString: string): void;
         updateGradient(gradient: number): void;
         onPointerUp(): void;
         lock(): void;
@@ -1540,6 +1574,7 @@ declare module INSPECTOR {
         buttonLabel: string;
         url?: string;
         onClick: () => void;
+        onIconClick?: () => void;
     }
     export class LinkButtonComponent extends React.Component<ILinkButtonComponentProps> {
         constructor(props: ILinkButtonComponentProps);
@@ -2145,7 +2180,7 @@ declare module INSPECTOR {
         private static _CreateSceneExplorer;
         private static _CreateActionTabs;
         private static _CreateEmbedHost;
-        static _CreatePopup(title: string, windowVariableName: string, width?: number, height?: number): BABYLON.Nullable<HTMLDivElement>;
+        static _CreatePopup(title: string, windowVariableName: string, width?: number, height?: number): HTMLDivElement | null;
         static get IsVisible(): boolean;
         static EarlyAttachToLoader(): void;
         static Show(scene: BABYLON.Scene, userOptions: Partial<BABYLON.IInspectorOptions>): void;

+ 78 - 7
dist/preview release/inspector/babylon.inspector.module.d.ts

@@ -345,6 +345,35 @@ declare module "babylonjs-inspector/components/actionTabs/lines/numericInputComp
         render(): JSX.Element;
     }
 }
+declare module "babylonjs-inspector/components/actionTabs/lines/colorPickerComponent" {
+    import * as React from "react";
+    import { Color4, Color3 } from 'babylonjs/Maths/math.color';
+    export interface IColorPickerComponentProps {
+        value: Color4 | Color3;
+        onColorChanged: (newOne: string) => void;
+        disableAlpha?: boolean;
+    }
+    interface IColorPickerComponentState {
+        pickerEnabled: boolean;
+        color: {
+            r: number;
+            g: number;
+            b: number;
+            a?: number;
+        };
+        hex: string;
+    }
+    export class ColorPickerLineComponent extends React.Component<IColorPickerComponentProps, IColorPickerComponentState> {
+        private _floatRef;
+        private _floatHostRef;
+        constructor(props: IColorPickerComponentProps);
+        syncPositions(): void;
+        shouldComponentUpdate(nextProps: IColorPickerComponentProps, nextState: IColorPickerComponentState): boolean;
+        componentDidUpdate(): void;
+        componentDidMount(): void;
+        render(): JSX.Element;
+    }
+}
 declare module "babylonjs-inspector/components/actionTabs/lines/color3LineComponent" {
     import * as React from "react";
     import { Observable } from "babylonjs/Misc/observable";
@@ -1950,10 +1979,17 @@ declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/par
     }
     export class FactorGradientStepGridComponent extends React.Component<IFactorGradientStepGridComponent, {
         gradient: number;
+        factor1: string;
+        factor2?: string;
     }> {
         constructor(props: IFactorGradientStepGridComponent);
-        updateFactor1(factor: number): void;
-        updateFactor2(factor: number): void;
+        shouldComponentUpdate(nextProps: IFactorGradientStepGridComponent, nextState: {
+            gradient: number;
+            factor1: string;
+            factor2?: string;
+        }): boolean;
+        updateFactor1(valueString: string): void;
+        updateFactor2(valueString: string): void;
         updateGradient(gradient: number): void;
         onPointerUp(): void;
         lock(): void;
@@ -1999,6 +2035,7 @@ declare module "babylonjs-inspector/components/actionTabs/lines/linkButtonCompon
         buttonLabel: string;
         url?: string;
         onClick: () => void;
+        onIconClick?: () => void;
     }
     export class LinkButtonComponent extends React.Component<ILinkButtonComponentProps> {
         constructor(props: ILinkButtonComponentProps);
@@ -2686,7 +2723,6 @@ declare module "babylonjs-inspector/components/embedHost/embedHostComponent" {
 }
 declare module "babylonjs-inspector/inspector" {
     import { IInspectorOptions } from "babylonjs/Debug/debugLayer";
-    import { Nullable } from "babylonjs/types";
     import { Observable } from "babylonjs/Misc/observable";
     import { Scene } from "babylonjs/scene";
     import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
@@ -2709,7 +2745,7 @@ declare module "babylonjs-inspector/inspector" {
         private static _CreateSceneExplorer;
         private static _CreateActionTabs;
         private static _CreateEmbedHost;
-        static _CreatePopup(title: string, windowVariableName: string, width?: number, height?: number): Nullable<HTMLDivElement>;
+        static _CreatePopup(title: string, windowVariableName: string, width?: number, height?: number): HTMLDivElement | null;
         static get IsVisible(): boolean;
         static EarlyAttachToLoader(): void;
         static Show(scene: Scene, userOptions: Partial<IInspectorOptions>): void;
@@ -3037,6 +3073,33 @@ declare module INSPECTOR {
     }
 }
 declare module INSPECTOR {
+    export interface IColorPickerComponentProps {
+        value: BABYLON.Color4 | BABYLON.Color3;
+        onColorChanged: (newOne: string) => void;
+        disableAlpha?: boolean;
+    }
+    interface IColorPickerComponentState {
+        pickerEnabled: boolean;
+        color: {
+            r: number;
+            g: number;
+            b: number;
+            a?: number;
+        };
+        hex: string;
+    }
+    export class ColorPickerLineComponent extends React.Component<IColorPickerComponentProps, IColorPickerComponentState> {
+        private _floatRef;
+        private _floatHostRef;
+        constructor(props: IColorPickerComponentProps);
+        syncPositions(): void;
+        shouldComponentUpdate(nextProps: IColorPickerComponentProps, nextState: IColorPickerComponentState): boolean;
+        componentDidUpdate(): void;
+        componentDidMount(): void;
+        render(): JSX.Element;
+    }
+}
+declare module INSPECTOR {
     export interface IColor3LineComponentProps {
         label: string;
         target: any;
@@ -4228,10 +4291,17 @@ declare module INSPECTOR {
     }
     export class FactorGradientStepGridComponent extends React.Component<IFactorGradientStepGridComponent, {
         gradient: number;
+        factor1: string;
+        factor2?: string;
     }> {
         constructor(props: IFactorGradientStepGridComponent);
-        updateFactor1(factor: number): void;
-        updateFactor2(factor: number): void;
+        shouldComponentUpdate(nextProps: IFactorGradientStepGridComponent, nextState: {
+            gradient: number;
+            factor1: string;
+            factor2?: string;
+        }): boolean;
+        updateFactor1(valueString: string): void;
+        updateFactor2(valueString: string): void;
         updateGradient(gradient: number): void;
         onPointerUp(): void;
         lock(): void;
@@ -4271,6 +4341,7 @@ declare module INSPECTOR {
         buttonLabel: string;
         url?: string;
         onClick: () => void;
+        onIconClick?: () => void;
     }
     export class LinkButtonComponent extends React.Component<ILinkButtonComponentProps> {
         constructor(props: ILinkButtonComponentProps);
@@ -4876,7 +4947,7 @@ declare module INSPECTOR {
         private static _CreateSceneExplorer;
         private static _CreateActionTabs;
         private static _CreateEmbedHost;
-        static _CreatePopup(title: string, windowVariableName: string, width?: number, height?: number): BABYLON.Nullable<HTMLDivElement>;
+        static _CreatePopup(title: string, windowVariableName: string, width?: number, height?: number): HTMLDivElement | null;
         static get IsVisible(): boolean;
         static EarlyAttachToLoader(): void;
         static Show(scene: BABYLON.Scene, userOptions: Partial<BABYLON.IInspectorOptions>): void;

+ 7 - 7
dist/preview release/inspector/package.json

@@ -4,7 +4,7 @@
     },
     "name": "babylonjs-inspector",
     "description": "The Babylon.js inspector.",
-    "version": "4.2.0-alpha.3",
+    "version": "4.2.0-alpha.8",
     "repository": {
         "type": "git",
         "url": "https://github.com/BabylonJS/Babylon.js.git"
@@ -29,12 +29,12 @@
     ],
     "license": "Apache-2.0",
     "dependencies": {
-        "babylonjs": "4.2.0-alpha.3",
-        "babylonjs-gui": "4.2.0-alpha.3",
-        "babylonjs-loaders": "4.2.0-alpha.3",
-        "babylonjs-materials": "4.2.0-alpha.3",
-        "babylonjs-serializers": "4.2.0-alpha.3",
-        "babylonjs-gltf2interface": "4.2.0-alpha.3"
+        "babylonjs": "4.2.0-alpha.8",
+        "babylonjs-gui": "4.2.0-alpha.8",
+        "babylonjs-loaders": "4.2.0-alpha.8",
+        "babylonjs-materials": "4.2.0-alpha.8",
+        "babylonjs-serializers": "4.2.0-alpha.8",
+        "babylonjs-gltf2interface": "4.2.0-alpha.8"
     },
     "devDependencies": {
         "@types/react": "~16.7.3",

+ 8 - 3
dist/preview release/loaders/babylon.glTF1FileLoader.js

@@ -97,9 +97,9 @@ return /******/ (function(modules) { // webpackBootstrap
 /******/ ({
 
 /***/ "../../node_modules/tslib/tslib.es6.js":
-/*!***********************************************************!*\
-  !*** E:/Repos/Babylon.js/node_modules/tslib/tslib.es6.js ***!
-  \***********************************************************/
+/*!*****************************************************************!*\
+  !*** C:/Dev/Babylon/Babylon.js/node_modules/tslib/tslib.es6.js ***!
+  \*****************************************************************/
 /*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
@@ -3206,6 +3206,10 @@ var GLTFFileLoader = /** @class */ (function () {
             _this.onTextureLoadedObservable.add(function (texture) {
                 textures.push(texture);
             });
+            var cameras = [];
+            _this.onCameraLoadedObservable.add(function (camera) {
+                cameras.push(camera);
+            });
             return _this._loader.importMeshAsync(null, scene, true, data, rootUrl, onProgress, fileName).then(function (result) {
                 var container = new babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_0__["AssetContainer"](scene);
                 Array.prototype.push.apply(container.meshes, result.meshes);
@@ -3216,6 +3220,7 @@ var GLTFFileLoader = /** @class */ (function () {
                 Array.prototype.push.apply(container.textures, textures);
                 Array.prototype.push.apply(container.lights, result.lights);
                 Array.prototype.push.apply(container.transformNodes, result.transformNodes);
+                Array.prototype.push.apply(container.cameras, cameras);
                 return container;
             });
         });

File diff suppressed because it is too large
+ 1 - 1
dist/preview release/loaders/babylon.glTF1FileLoader.js.map


File diff suppressed because it is too large
+ 2 - 2
dist/preview release/loaders/babylon.glTF1FileLoader.min.js


+ 7 - 0
dist/preview release/loaders/babylon.glTF2FileLoader.js

@@ -2605,7 +2605,9 @@ var GLTFLoader = /** @class */ (function () {
             }));
         }
         else {
+            this._babylonScene._blockEntityCollection = this._forAssetContainer;
             node._babylonTransformNode = new babylonjs_Misc_deferred__WEBPACK_IMPORTED_MODULE_0__["TransformNode"](name, this._babylonScene);
+            this._babylonScene._blockEntityCollection = false;
             node._primitiveBabylonMeshes = [];
             for (var _i = 0, primitives_1 = primitives; _i < primitives_1.length; _i++) {
                 var primitive = primitives_1[_i];
@@ -4676,6 +4678,10 @@ var GLTFFileLoader = /** @class */ (function () {
             _this.onTextureLoadedObservable.add(function (texture) {
                 textures.push(texture);
             });
+            var cameras = [];
+            _this.onCameraLoadedObservable.add(function (camera) {
+                cameras.push(camera);
+            });
             return _this._loader.importMeshAsync(null, scene, true, data, rootUrl, onProgress, fileName).then(function (result) {
                 var container = new babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_0__["AssetContainer"](scene);
                 Array.prototype.push.apply(container.meshes, result.meshes);
@@ -4686,6 +4692,7 @@ var GLTFFileLoader = /** @class */ (function () {
                 Array.prototype.push.apply(container.textures, textures);
                 Array.prototype.push.apply(container.lights, result.lights);
                 Array.prototype.push.apply(container.transformNodes, result.transformNodes);
+                Array.prototype.push.apply(container.cameras, cameras);
                 return container;
             });
         });

File diff suppressed because it is too large
+ 1 - 1
dist/preview release/loaders/babylon.glTF2FileLoader.js.map


File diff suppressed because it is too large
+ 1 - 1
dist/preview release/loaders/babylon.glTF2FileLoader.min.js


+ 10 - 3
dist/preview release/loaders/babylon.glTFFileLoader.js

@@ -97,9 +97,9 @@ return /******/ (function(modules) { // webpackBootstrap
 /******/ ({
 
 /***/ "../../node_modules/tslib/tslib.es6.js":
-/*!***********************************************************!*\
-  !*** E:/Repos/Babylon.js/node_modules/tslib/tslib.es6.js ***!
-  \***********************************************************/
+/*!*****************************************************************!*\
+  !*** C:/Dev/Babylon/Babylon.js/node_modules/tslib/tslib.es6.js ***!
+  \*****************************************************************/
 /*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
@@ -5185,7 +5185,9 @@ var GLTFLoader = /** @class */ (function () {
             }));
         }
         else {
+            this._babylonScene._blockEntityCollection = this._forAssetContainer;
             node._babylonTransformNode = new babylonjs_Misc_deferred__WEBPACK_IMPORTED_MODULE_0__["TransformNode"](name, this._babylonScene);
+            this._babylonScene._blockEntityCollection = false;
             node._primitiveBabylonMeshes = [];
             for (var _i = 0, primitives_1 = primitives; _i < primitives_1.length; _i++) {
                 var primitive = primitives_1[_i];
@@ -7256,6 +7258,10 @@ var GLTFFileLoader = /** @class */ (function () {
             _this.onTextureLoadedObservable.add(function (texture) {
                 textures.push(texture);
             });
+            var cameras = [];
+            _this.onCameraLoadedObservable.add(function (camera) {
+                cameras.push(camera);
+            });
             return _this._loader.importMeshAsync(null, scene, true, data, rootUrl, onProgress, fileName).then(function (result) {
                 var container = new babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_0__["AssetContainer"](scene);
                 Array.prototype.push.apply(container.meshes, result.meshes);
@@ -7266,6 +7272,7 @@ var GLTFFileLoader = /** @class */ (function () {
                 Array.prototype.push.apply(container.textures, textures);
                 Array.prototype.push.apply(container.lights, result.lights);
                 Array.prototype.push.apply(container.transformNodes, result.transformNodes);
+                Array.prototype.push.apply(container.cameras, cameras);
                 return container;
             });
         });

File diff suppressed because it is too large
+ 1 - 1
dist/preview release/loaders/babylon.glTFFileLoader.js.map


File diff suppressed because it is too large
+ 2 - 2
dist/preview release/loaders/babylon.glTFFileLoader.min.js


File diff suppressed because it is too large
+ 1 - 1
dist/preview release/loaders/babylon.objFileLoader.js.map


File diff suppressed because it is too large
+ 1 - 1
dist/preview release/loaders/babylon.objFileLoader.min.js


File diff suppressed because it is too large
+ 1 - 1
dist/preview release/loaders/babylon.stlFileLoader.js.map


File diff suppressed because it is too large
+ 1 - 1
dist/preview release/loaders/babylon.stlFileLoader.min.js


+ 10 - 3
dist/preview release/loaders/babylonjs.loaders.js

@@ -97,9 +97,9 @@ return /******/ (function(modules) { // webpackBootstrap
 /******/ ({
 
 /***/ "../../node_modules/tslib/tslib.es6.js":
-/*!***********************************************************!*\
-  !*** E:/Repos/Babylon.js/node_modules/tslib/tslib.es6.js ***!
-  \***********************************************************/
+/*!*****************************************************************!*\
+  !*** C:/Dev/Babylon/Babylon.js/node_modules/tslib/tslib.es6.js ***!
+  \*****************************************************************/
 /*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
@@ -6565,7 +6565,9 @@ var GLTFLoader = /** @class */ (function () {
             }));
         }
         else {
+            this._babylonScene._blockEntityCollection = this._forAssetContainer;
             node._babylonTransformNode = new babylonjs_Misc_deferred__WEBPACK_IMPORTED_MODULE_0__["TransformNode"](name, this._babylonScene);
+            this._babylonScene._blockEntityCollection = false;
             node._primitiveBabylonMeshes = [];
             for (var _i = 0, primitives_1 = primitives; _i < primitives_1.length; _i++) {
                 var primitive = primitives_1[_i];
@@ -8636,6 +8638,10 @@ var GLTFFileLoader = /** @class */ (function () {
             _this.onTextureLoadedObservable.add(function (texture) {
                 textures.push(texture);
             });
+            var cameras = [];
+            _this.onCameraLoadedObservable.add(function (camera) {
+                cameras.push(camera);
+            });
             return _this._loader.importMeshAsync(null, scene, true, data, rootUrl, onProgress, fileName).then(function (result) {
                 var container = new babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_0__["AssetContainer"](scene);
                 Array.prototype.push.apply(container.meshes, result.meshes);
@@ -8646,6 +8652,7 @@ var GLTFFileLoader = /** @class */ (function () {
                 Array.prototype.push.apply(container.textures, textures);
                 Array.prototype.push.apply(container.lights, result.lights);
                 Array.prototype.push.apply(container.transformNodes, result.transformNodes);
+                Array.prototype.push.apply(container.cameras, cameras);
                 return container;
             });
         });

File diff suppressed because it is too large
+ 1 - 1
dist/preview release/loaders/babylonjs.loaders.js.map


File diff suppressed because it is too large
+ 2 - 2
dist/preview release/loaders/babylonjs.loaders.min.js


+ 3 - 3
dist/preview release/loaders/package.json

@@ -4,7 +4,7 @@
     },
     "name": "babylonjs-loaders",
     "description": "The Babylon.js file loaders library is an extension you can use to load different 3D file types into a Babylon scene.",
-    "version": "4.2.0-alpha.3",
+    "version": "4.2.0-alpha.8",
     "repository": {
         "type": "git",
         "url": "https://github.com/BabylonJS/Babylon.js.git"
@@ -28,8 +28,8 @@
     ],
     "license": "Apache-2.0",
     "dependencies": {
-        "babylonjs-gltf2interface": "4.2.0-alpha.3",
-        "babylonjs": "4.2.0-alpha.3"
+        "babylonjs-gltf2interface": "4.2.0-alpha.8",
+        "babylonjs": "4.2.0-alpha.8"
     },
     "engines": {
         "node": "*"

+ 3 - 3
dist/preview release/materialsLibrary/babylon.cellMaterial.js

@@ -97,9 +97,9 @@ return /******/ (function(modules) { // webpackBootstrap
 /******/ ({
 
 /***/ "../../node_modules/tslib/tslib.es6.js":
-/*!***********************************************************!*\
-  !*** E:/Repos/Babylon.js/node_modules/tslib/tslib.es6.js ***!
-  \***********************************************************/
+/*!*****************************************************************!*\
+  !*** C:/Dev/Babylon/Babylon.js/node_modules/tslib/tslib.es6.js ***!
+  \*****************************************************************/
 /*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 

File diff suppressed because it is too large
+ 1 - 1
dist/preview release/materialsLibrary/babylon.cellMaterial.js.map


File diff suppressed because it is too large
+ 2 - 2
dist/preview release/materialsLibrary/babylon.cellMaterial.min.js


+ 3 - 3
dist/preview release/materialsLibrary/babylon.customMaterial.js

@@ -97,9 +97,9 @@ return /******/ (function(modules) { // webpackBootstrap
 /******/ ({
 
 /***/ "../../node_modules/tslib/tslib.es6.js":
-/*!***********************************************************!*\
-  !*** E:/Repos/Babylon.js/node_modules/tslib/tslib.es6.js ***!
-  \***********************************************************/
+/*!*****************************************************************!*\
+  !*** C:/Dev/Babylon/Babylon.js/node_modules/tslib/tslib.es6.js ***!
+  \*****************************************************************/
 /*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 

File diff suppressed because it is too large
+ 1 - 1
dist/preview release/materialsLibrary/babylon.customMaterial.js.map


File diff suppressed because it is too large
+ 2 - 2
dist/preview release/materialsLibrary/babylon.customMaterial.min.js


+ 3 - 3
dist/preview release/materialsLibrary/babylon.fireMaterial.js

@@ -97,9 +97,9 @@ return /******/ (function(modules) { // webpackBootstrap
 /******/ ({
 
 /***/ "../../node_modules/tslib/tslib.es6.js":
-/*!***********************************************************!*\
-  !*** E:/Repos/Babylon.js/node_modules/tslib/tslib.es6.js ***!
-  \***********************************************************/
+/*!*****************************************************************!*\
+  !*** C:/Dev/Babylon/Babylon.js/node_modules/tslib/tslib.es6.js ***!
+  \*****************************************************************/
 /*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 

File diff suppressed because it is too large
+ 1 - 1
dist/preview release/materialsLibrary/babylon.fireMaterial.js.map


File diff suppressed because it is too large
+ 2 - 2
dist/preview release/materialsLibrary/babylon.fireMaterial.min.js


+ 3 - 3
dist/preview release/materialsLibrary/babylon.furMaterial.js

@@ -97,9 +97,9 @@ return /******/ (function(modules) { // webpackBootstrap
 /******/ ({
 
 /***/ "../../node_modules/tslib/tslib.es6.js":
-/*!***********************************************************!*\
-  !*** E:/Repos/Babylon.js/node_modules/tslib/tslib.es6.js ***!
-  \***********************************************************/
+/*!*****************************************************************!*\
+  !*** C:/Dev/Babylon/Babylon.js/node_modules/tslib/tslib.es6.js ***!
+  \*****************************************************************/
 /*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 

File diff suppressed because it is too large
+ 1 - 1
dist/preview release/materialsLibrary/babylon.furMaterial.js.map


File diff suppressed because it is too large
+ 2 - 2
dist/preview release/materialsLibrary/babylon.furMaterial.min.js


+ 3 - 3
dist/preview release/materialsLibrary/babylon.gradientMaterial.js

@@ -97,9 +97,9 @@ return /******/ (function(modules) { // webpackBootstrap
 /******/ ({
 
 /***/ "../../node_modules/tslib/tslib.es6.js":
-/*!***********************************************************!*\
-  !*** E:/Repos/Babylon.js/node_modules/tslib/tslib.es6.js ***!
-  \***********************************************************/
+/*!*****************************************************************!*\
+  !*** C:/Dev/Babylon/Babylon.js/node_modules/tslib/tslib.es6.js ***!
+  \*****************************************************************/
 /*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 

File diff suppressed because it is too large
+ 1 - 1
dist/preview release/materialsLibrary/babylon.gradientMaterial.js.map


File diff suppressed because it is too large
+ 2 - 2
dist/preview release/materialsLibrary/babylon.gradientMaterial.min.js


+ 3 - 3
dist/preview release/materialsLibrary/babylon.gridMaterial.js

@@ -97,9 +97,9 @@ return /******/ (function(modules) { // webpackBootstrap
 /******/ ({
 
 /***/ "../../node_modules/tslib/tslib.es6.js":
-/*!***********************************************************!*\
-  !*** E:/Repos/Babylon.js/node_modules/tslib/tslib.es6.js ***!
-  \***********************************************************/
+/*!*****************************************************************!*\
+  !*** C:/Dev/Babylon/Babylon.js/node_modules/tslib/tslib.es6.js ***!
+  \*****************************************************************/
 /*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 

File diff suppressed because it is too large
+ 1 - 1
dist/preview release/materialsLibrary/babylon.gridMaterial.js.map


File diff suppressed because it is too large
+ 2 - 2
dist/preview release/materialsLibrary/babylon.gridMaterial.min.js


+ 3 - 3
dist/preview release/materialsLibrary/babylon.lavaMaterial.js

@@ -97,9 +97,9 @@ return /******/ (function(modules) { // webpackBootstrap
 /******/ ({
 
 /***/ "../../node_modules/tslib/tslib.es6.js":
-/*!***********************************************************!*\
-  !*** E:/Repos/Babylon.js/node_modules/tslib/tslib.es6.js ***!
-  \***********************************************************/
+/*!*****************************************************************!*\
+  !*** C:/Dev/Babylon/Babylon.js/node_modules/tslib/tslib.es6.js ***!
+  \*****************************************************************/
 /*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 

File diff suppressed because it is too large
+ 1 - 1
dist/preview release/materialsLibrary/babylon.lavaMaterial.js.map


File diff suppressed because it is too large
+ 2 - 2
dist/preview release/materialsLibrary/babylon.lavaMaterial.min.js


+ 0 - 0
dist/preview release/materialsLibrary/babylon.mixMaterial.js


Some files were not shown because too many files changed in this diff