Bladeren bron

Fix http://www.html5gamedevs.com/topic/35913-gui-textblock-flick-on-addcontrol/

David Catuhe 7 jaren geleden
bovenliggende
commit
6c19290be7
31 gewijzigde bestanden met toevoegingen van 35839 en 35748 verwijderingen
  1. 16953 16866
      Playground/babylon.d.txt
  2. 11024 11024
      dist/preview release/babylon.d.ts
  3. 44 44
      dist/preview release/babylon.js
  4. 3 3
      dist/preview release/babylon.max.js
  5. 45 45
      dist/preview release/babylon.worker.js
  6. 7532 7532
      dist/preview release/customConfigurations/minimalGLTFViewer/babylon.d.ts
  7. 46 46
      dist/preview release/customConfigurations/minimalGLTFViewer/babylon.js
  8. 3 3
      dist/preview release/customConfigurations/minimalGLTFViewer/babylon.max.js
  9. 3 3
      dist/preview release/customConfigurations/minimalGLTFViewer/es6.js
  10. 3 3
      dist/preview release/es6.js
  11. 3 3
      dist/preview release/gui/babylon.gui.min.js
  12. 4 4
      dist/preview release/inspector/babylon.inspector.bundle.js
  13. 3 3
      dist/preview release/inspector/babylon.inspector.min.js
  14. 2 2
      dist/preview release/loaders/babylon.glTF1FileLoader.min.js
  15. 2 2
      dist/preview release/loaders/babylon.glTF2FileLoader.min.js
  16. 3 3
      dist/preview release/loaders/babylon.glTFFileLoader.min.js
  17. 1 1
      dist/preview release/loaders/babylon.objFileLoader.min.js
  18. 3 3
      dist/preview release/loaders/babylonjs.loaders.min.js
  19. 1 1
      dist/preview release/materialsLibrary/babylon.customMaterial.min.js
  20. 1 1
      dist/preview release/materialsLibrary/babylon.shadowOnlyMaterial.min.js
  21. 1 1
      dist/preview release/materialsLibrary/babylon.waterMaterial.min.js
  22. 3 3
      dist/preview release/materialsLibrary/babylonjs.materials.min.js
  23. 1 1
      dist/preview release/postProcessesLibrary/babylon.asciiArtPostProcess.min.js
  24. 1 1
      dist/preview release/postProcessesLibrary/babylon.digitalRainPostProcess.min.js
  25. 1 1
      dist/preview release/postProcessesLibrary/babylonjs.postProcess.min.js
  26. 1 1
      dist/preview release/serializers/babylon.glTF2Serializer.min.js
  27. 1 1
      dist/preview release/serializers/babylonjs.serializers.min.js
  28. 58 58
      dist/preview release/viewer/babylon.viewer.js
  29. 84 89
      dist/preview release/viewer/babylon.viewer.max.js
  30. 2 0
      gui/src/controls/container.ts
  31. 7 0
      gui/src/controls/control.ts

File diff suppressed because it is too large
+ 16953 - 16866
Playground/babylon.d.txt


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


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


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

@@ -11050,7 +11050,7 @@ var BABYLON;
         });
         Object.defineProperty(Engine, "Version", {
             get: function () {
-                return "3.2.0-alpha10";
+                return "3.2.0-alphaA";
             },
             enumerable: true,
             configurable: true
@@ -21990,7 +21990,7 @@ var BABYLON;
                 if (!BABYLON.CollisionCoordinatorLegacy) {
                     return;
                 }
-                enabled = (enabled && !!Worker);
+                enabled = (enabled && !!Worker && !!BABYLON.CollisionWorker);
                 this._workerCollisions = enabled;
                 if (this.collisionCoordinator) {
                     this.collisionCoordinator.destroy();
@@ -50550,7 +50550,7 @@ var BABYLON;
                 geometryId = geometry ? geometry.id : null;
             }
             else if (mesh instanceof BABYLON.InstancedMesh) {
-                var geometry = mesh.sourceMesh.geometry;
+                var geometry = mesh.sourceMesh && mesh.sourceMesh.geometry;
                 geometryId = geometry ? geometry.id : null;
             }
             var boundingInfo = mesh.getBoundingInfo();

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


File diff suppressed because it is too large
+ 7532 - 7532
dist/preview release/customConfigurations/minimalGLTFViewer/babylon.d.ts


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


+ 3 - 3
dist/preview release/customConfigurations/minimalGLTFViewer/babylon.max.js

@@ -11050,7 +11050,7 @@ var BABYLON;
         });
         Object.defineProperty(Engine, "Version", {
             get: function () {
-                return "3.2.0-alpha10";
+                return "3.2.0-alphaA";
             },
             enumerable: true,
             configurable: true
@@ -21990,7 +21990,7 @@ var BABYLON;
                 if (!BABYLON.CollisionCoordinatorLegacy) {
                     return;
                 }
-                enabled = (enabled && !!Worker);
+                enabled = (enabled && !!Worker && !!BABYLON.CollisionWorker);
                 this._workerCollisions = enabled;
                 if (this.collisionCoordinator) {
                     this.collisionCoordinator.destroy();
@@ -50550,7 +50550,7 @@ var BABYLON;
                 geometryId = geometry ? geometry.id : null;
             }
             else if (mesh instanceof BABYLON.InstancedMesh) {
-                var geometry = mesh.sourceMesh.geometry;
+                var geometry = mesh.sourceMesh && mesh.sourceMesh.geometry;
                 geometryId = geometry ? geometry.id : null;
             }
             var boundingInfo = mesh.getBoundingInfo();

+ 3 - 3
dist/preview release/customConfigurations/minimalGLTFViewer/es6.js

@@ -11023,7 +11023,7 @@ var BABYLON;
         });
         Object.defineProperty(Engine, "Version", {
             get: function () {
-                return "3.2.0-alpha10";
+                return "3.2.0-alphaA";
             },
             enumerable: true,
             configurable: true
@@ -21963,7 +21963,7 @@ var BABYLON;
                 if (!BABYLON.CollisionCoordinatorLegacy) {
                     return;
                 }
-                enabled = (enabled && !!Worker);
+                enabled = (enabled && !!Worker && !!BABYLON.CollisionWorker);
                 this._workerCollisions = enabled;
                 if (this.collisionCoordinator) {
                     this.collisionCoordinator.destroy();
@@ -50523,7 +50523,7 @@ var BABYLON;
                 geometryId = geometry ? geometry.id : null;
             }
             else if (mesh instanceof BABYLON.InstancedMesh) {
-                var geometry = mesh.sourceMesh.geometry;
+                var geometry = mesh.sourceMesh && mesh.sourceMesh.geometry;
                 geometryId = geometry ? geometry.id : null;
             }
             var boundingInfo = mesh.getBoundingInfo();

+ 3 - 3
dist/preview release/es6.js

@@ -11023,7 +11023,7 @@ var BABYLON;
         });
         Object.defineProperty(Engine, "Version", {
             get: function () {
-                return "3.2.0-alpha10";
+                return "3.2.0-alphaA";
             },
             enumerable: true,
             configurable: true
@@ -21963,7 +21963,7 @@ var BABYLON;
                 if (!BABYLON.CollisionCoordinatorLegacy) {
                     return;
                 }
-                enabled = (enabled && !!Worker);
+                enabled = (enabled && !!Worker && !!BABYLON.CollisionWorker);
                 this._workerCollisions = enabled;
                 if (this.collisionCoordinator) {
                     this.collisionCoordinator.destroy();
@@ -50523,7 +50523,7 @@ var BABYLON;
                 geometryId = geometry ? geometry.id : null;
             }
             else if (mesh instanceof BABYLON.InstancedMesh) {
-                var geometry = mesh.sourceMesh.geometry;
+                var geometry = mesh.sourceMesh && mesh.sourceMesh.geometry;
                 geometryId = geometry ? geometry.id : null;
             }
             var boundingInfo = mesh.getBoundingInfo();

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


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


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


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


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


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


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
+ 3 - 3
dist/preview release/loaders/babylonjs.loaders.min.js


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


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


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


File diff suppressed because it is too large
+ 3 - 3
dist/preview release/materialsLibrary/babylonjs.materials.min.js


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


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


File diff suppressed because it is too large
+ 1 - 1
dist/preview release/postProcessesLibrary/babylonjs.postProcess.min.js


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


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


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


File diff suppressed because it is too large
+ 84 - 89
dist/preview release/viewer/babylon.viewer.max.js


+ 2 - 0
gui/src/controls/container.ts

@@ -80,6 +80,8 @@ module BABYLON.GUI {
                 control.parent = null;
             }
 
+            control.linkWithMesh(null);
+
             this._markAsDirty();
             return this;
         }

+ 7 - 0
gui/src/controls/control.ts

@@ -36,6 +36,7 @@ module BABYLON.GUI {
         private _transformMatrix = Matrix2D.Identity();
         protected _invertTransformMatrix = Matrix2D.Identity();
         protected _transformedPosition = Vector2.Zero();
+        private _onlyMeasureMode = false;
         private _isMatrixDirty = true;
         private _cachedOffsetX: number;
         private _cachedOffsetY: number;
@@ -567,6 +568,7 @@ module BABYLON.GUI {
             this.horizontalAlignment = BABYLON.GUI.Control.HORIZONTAL_ALIGNMENT_LEFT;
             this.verticalAlignment = BABYLON.GUI.Control.VERTICAL_ALIGNMENT_TOP;
             this._linkedMesh = mesh;
+            this._onlyMeasureMode = true;
             this._host._linkedControls.push(this);
         }
 
@@ -701,6 +703,11 @@ module BABYLON.GUI {
             // Transform
             this._transform(context);
 
+            if (this._onlyMeasureMode) {
+                this._onlyMeasureMode = false;
+                return false; // We do not want rendering for this frame as they are measure dependant information that need to be gathered
+            }
+
             // Clip
             this._clip(context);
             context.clip();