David Catuhe 8 tahun lalu
induk
melakukan
9d73af260c

File diff ditekan karena terlalu besar
+ 9100 - 9100
dist/preview release/babylon.d.ts


File diff ditekan karena terlalu besar
+ 17 - 17
dist/preview release/babylon.js


+ 12 - 12
dist/preview release/babylon.max.js

@@ -14421,6 +14421,7 @@ var BABYLON;
             this._alphaTestSubMeshes = new BABYLON.SmartArray(256);
             this._particleSystems = new BABYLON.SmartArray(256);
             this._spriteManagers = new BABYLON.SmartArray(256);
+            this._edgesRenderers = new BABYLON.SmartArray(16);
             this._scene = scene;
             this.opaqueSortCompareFn = opaqueSortCompareFn;
             this.alphaTestSortCompareFn = alphaTestSortCompareFn;
@@ -14517,6 +14518,10 @@ var BABYLON;
                 engine.setAlphaMode(BABYLON.Engine.ALPHA_DISABLE);
             }
             engine.setStencilBuffer(stencilState);
+            // Edges
+            for (var edgesRendererIndex = 0; edgesRendererIndex < this._edgesRenderers.length; edgesRendererIndex++) {
+                this._edgesRenderers.data[edgesRendererIndex].render();
+            }
         };
         /**
          * Renders the opaque submeshes in the order from the opaqueSortCompareFn.
@@ -14635,6 +14640,7 @@ var BABYLON;
             this._alphaTestSubMeshes.reset();
             this._particleSystems.reset();
             this._spriteManagers.reset();
+            this._edgesRenderers.reset();
         };
         RenderingGroup.prototype.dispose = function () {
             this._opaqueSubMeshes.dispose();
@@ -14642,6 +14648,7 @@ var BABYLON;
             this._alphaTestSubMeshes.dispose();
             this._particleSystems.dispose();
             this._spriteManagers.dispose();
+            this._edgesRenderers.dispose();
         };
         /**
          * Inserts the submesh in its correct queue depending on its material.
@@ -14659,6 +14666,9 @@ var BABYLON;
             else {
                 this._opaqueSubMeshes.push(subMesh); // Opaque
             }
+            if (mesh._edgesRenderer) {
+                this._edgesRenderers.push(mesh._edgesRenderer);
+            }
         };
         RenderingGroup.prototype.dispatchSprites = function (spriteManager) {
             this._spriteManagers.push(spriteManager);
@@ -15134,7 +15144,6 @@ var BABYLON;
             this._softwareSkinnedMeshes = new BABYLON.SmartArray(32);
             this._activeAnimatables = new Array();
             this._transformMatrix = BABYLON.Matrix.Zero();
-            this._edgesRenderers = new BABYLON.SmartArray(16);
             this._uniqueIdCounter = 0;
             this.offscreenRenderTarget = null;
             this._engine = engine || BABYLON.Engine.LastCreatedEngine;
@@ -16874,7 +16883,6 @@ var BABYLON;
             if (this._boundingBoxRenderer) {
                 this._boundingBoxRenderer.reset();
             }
-            this._edgesRenderers.reset();
             // Meshes
             var meshes;
             var len;
@@ -16946,9 +16954,6 @@ var BABYLON;
             if (sourceMesh.showBoundingBox || this.forceShowBoundingBoxes) {
                 this.getBoundingBoxRenderer().renderList.push(sourceMesh.getBoundingInfo().boundingBox);
             }
-            if (sourceMesh._edgesRenderer) {
-                this._edgesRenderers.push(sourceMesh._edgesRenderer);
-            }
             if (mesh && mesh.subMeshes) {
                 // Submeshes Octrees
                 var len;
@@ -17080,10 +17085,6 @@ var BABYLON;
             if (this._boundingBoxRenderer) {
                 this._boundingBoxRenderer.render();
             }
-            // Edges
-            for (var edgesRendererIndex = 0; edgesRendererIndex < this._edgesRenderers.length; edgesRendererIndex++) {
-                this._edgesRenderers.data[edgesRendererIndex].render();
-            }
             // Lens flares
             if (this.lensFlaresEnabled) {
                 BABYLON.Tools.StartPerformanceCounter("Lens flares", this.lensFlareSystems.length > 0);
@@ -17502,7 +17503,6 @@ var BABYLON;
             if (this._boundingBoxRenderer) {
                 this._boundingBoxRenderer.dispose();
             }
-            this._edgesRenderers.dispose();
             this._meshesForIntersections.dispose();
             this._toBeDisposed.dispose();
             // Debug layer
@@ -43533,9 +43533,9 @@ var BABYLON;
         };
         SceneLoader._getPluginForDirectLoad = function (data) {
             for (var extension in SceneLoader._registeredPlugins) {
-                var plugin = SceneLoader._registeredPlugins[plugin];
+                var plugin = SceneLoader._registeredPlugins[extension].plugin;
                 if (plugin.canDirectLoad && plugin.canDirectLoad(data)) {
-                    return plugin;
+                    return SceneLoader._registeredPlugins[extension];
                 }
             }
             return SceneLoader._getDefaultPlugin();

File diff ditekan karena terlalu besar
+ 9100 - 9100
dist/preview release/babylon.module.d.ts


File diff ditekan karena terlalu besar
+ 17 - 17
dist/preview release/babylon.worker.js


+ 15 - 2
src/Rendering/babylon.renderingGroup.ts

@@ -16,6 +16,8 @@
         private _renderAlphaTest: (subMeshes: SmartArray<SubMesh>) => void;
         private _renderTransparent: (subMeshes: SmartArray<SubMesh>) => void;
 
+        private _edgesRenderers = new SmartArray<EdgesRenderer>(16);
+
         public onBeforeTransparentRendering: () => void;
 
         /**
@@ -125,6 +127,11 @@
                 engine.setAlphaMode(Engine.ALPHA_DISABLE);
             }
             engine.setStencilBuffer(stencilState);
+
+            // Edges
+            for (var edgesRendererIndex = 0; edgesRendererIndex < this._edgesRenderers.length; edgesRendererIndex++) {
+                this._edgesRenderers.data[edgesRendererIndex].render();
+            }
         }
 
         /**
@@ -256,7 +263,8 @@
             this._transparentSubMeshes.reset();
             this._alphaTestSubMeshes.reset();
             this._particleSystems.reset();
-            this._spriteManagers.reset();
+            this._spriteManagers.reset();            
+            this._edgesRenderers.reset();
         }
 
         public dispose(): void {
@@ -264,7 +272,8 @@
             this._transparentSubMeshes.dispose();
             this._alphaTestSubMeshes.dispose();
             this._particleSystems.dispose();
-            this._spriteManagers.dispose();
+            this._spriteManagers.dispose();                      
+            this._edgesRenderers.dispose();
         }
 
         /**
@@ -282,6 +291,10 @@
             } else {
                 this._opaqueSubMeshes.push(subMesh); // Opaque
             }
+
+            if (mesh._edgesRenderer) {
+                this._edgesRenderers.push(mesh._edgesRenderer);
+            }
         }
 
         public dispatchSprites(spriteManager: SpriteManager) {

+ 1 - 13
src/babylon.scene.ts

@@ -706,8 +706,7 @@
         private _sceneUbo: UniformBuffer;
 
         private _pickWithRayInverseMatrix: Matrix;
-
-        private _edgesRenderers = new SmartArray<EdgesRenderer>(16);
+        
         private _boundingBoxRenderer: BoundingBoxRenderer;
         private _outlineRenderer: OutlineRenderer;
 
@@ -2459,7 +2458,6 @@
             if (this._boundingBoxRenderer) {
                 this._boundingBoxRenderer.reset();
             }
-            this._edgesRenderers.reset();
 
             // Meshes
             var meshes: AbstractMesh[];
@@ -2550,10 +2548,6 @@
                 this.getBoundingBoxRenderer().renderList.push(sourceMesh.getBoundingInfo().boundingBox);
             }
 
-            if (sourceMesh._edgesRenderer) {
-                this._edgesRenderers.push(sourceMesh._edgesRenderer);
-            }
-
             if (mesh && mesh.subMeshes) {
                 // Submeshes Octrees
                 var len: number;
@@ -2720,11 +2714,6 @@
                 this._boundingBoxRenderer.render();
             }
 
-            // Edges
-            for (var edgesRendererIndex = 0; edgesRendererIndex < this._edgesRenderers.length; edgesRendererIndex++) {
-                this._edgesRenderers.data[edgesRendererIndex].render();
-            }
-
             // Lens flares
             if (this.lensFlaresEnabled) {
                 Tools.StartPerformanceCounter("Lens flares", this.lensFlareSystems.length > 0);
@@ -3216,7 +3205,6 @@
             if (this._boundingBoxRenderer) {
                 this._boundingBoxRenderer.dispose();
             }
-            this._edgesRenderers.dispose();
             this._meshesForIntersections.dispose();
             this._toBeDisposed.dispose();