Prechádzať zdrojové kódy

Merge pull request #2270 from sebavan/Development

Prevent Tags to break custom configurations
David Catuhe 8 rokov pred
rodič
commit
db8879e104

Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 2456 - 2451
dist/preview release/customConfigurations/minimalViewer/babylon.d.ts


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 23 - 23
dist/preview release/customConfigurations/minimalViewer/babylon.js


+ 77 - 25
dist/preview release/customConfigurations/minimalViewer/babylon.max.js

@@ -4809,7 +4809,9 @@ var BABYLON;
                 serializationObject = {};
             }
             // Tags
-            serializationObject.tags = BABYLON.Tags.GetTags(entity);
+            if (BABYLON.Tags) {
+                serializationObject.tags = BABYLON.Tags.GetTags(entity);
+            }
             // Properties
             for (var property in entity.__serializableMembers) {
                 var propertyDescriptor = entity.__serializableMembers[property];
@@ -4850,7 +4852,9 @@ var BABYLON;
         SerializationHelper.Parse = function (creationFunction, source, scene, rootUrl) {
             var destination = creationFunction();
             // Tags
-            BABYLON.Tags.AddTagsTo(destination, source.tags);
+            if (BABYLON.Tags) {
+                BABYLON.Tags.AddTagsTo(destination, source.tags);
+            }
             // Properties
             for (var property in destination.__serializableMembers) {
                 var propertyDescriptor = destination.__serializableMembers[property];
@@ -4890,7 +4894,9 @@ var BABYLON;
         SerializationHelper.Clone = function (creationFunction, source) {
             var destination = creationFunction();
             // Tags
-            BABYLON.Tags.AddTagsTo(destination, source.tags);
+            if (BABYLON.Tags) {
+                BABYLON.Tags.AddTagsTo(destination, source.tags);
+            }
             // Properties
             for (var property in destination.__serializableMembers) {
                 var propertyDescriptor = destination.__serializableMembers[property];
@@ -7597,6 +7603,13 @@ var BABYLON;
             enumerable: true,
             configurable: true
         });
+        Object.defineProperty(Engine, "ALPHA_SCREENMODE", {
+            get: function () {
+                return Engine._ALPHA_SCREENMODE;
+            },
+            enumerable: true,
+            configurable: true
+        });
         Object.defineProperty(Engine, "DELAYLOADSTATE_NONE", {
             get: function () {
                 return Engine._DELAYLOADSTATE_NONE;
@@ -8889,6 +8902,10 @@ var BABYLON;
                     this._alphaState.setAlphaBlendFunctionParameters(this._gl.CONSTANT_COLOR, this._gl.ONE_MINUS_CONSTANT_COLOR, this._gl.CONSTANT_ALPHA, this._gl.ONE_MINUS_CONSTANT_ALPHA);
                     this._alphaState.alphaBlend = true;
                     break;
+                case Engine.ALPHA_SCREENMODE:
+                    this._alphaState.setAlphaBlendFunctionParameters(this._gl.ONE, this._gl.ONE_MINUS_SRC_COLOR, this._gl.ONE, this._gl.ONE_MINUS_SRC_ALPHA);
+                    this._alphaState.alphaBlend = true;
+                    break;
             }
             if (!noDepthWriteChange) {
                 this.setDepthWrite(mode === Engine.ALPHA_DISABLE);
@@ -10365,6 +10382,7 @@ var BABYLON;
     Engine._ALPHA_PREMULTIPLIED = 7;
     Engine._ALPHA_PREMULTIPLIED_PORTERDUFF = 8;
     Engine._ALPHA_INTERPOLATE = 9;
+    Engine._ALPHA_SCREENMODE = 10;
     Engine._DELAYLOADSTATE_NONE = 0;
     Engine._DELAYLOADSTATE_LOADED = 1;
     Engine._DELAYLOADSTATE_LOADING = 2;
@@ -20973,7 +20991,7 @@ var BABYLON;
             serializationObject.name = this.name;
             serializationObject.id = this.id;
             serializationObject.type = this.getClassName();
-            if (BABYLON.Tags.HasTags(this)) {
+            if (BABYLON.Tags && BABYLON.Tags.HasTags(this)) {
                 serializationObject.tags = BABYLON.Tags.GetTags(this);
             }
             serializationObject.position = this.position.asArray();
@@ -21136,7 +21154,9 @@ var BABYLON;
                 mesh = new Mesh(parsedMesh.name, scene);
             }
             mesh.id = parsedMesh.id;
-            BABYLON.Tags.AddTagsTo(mesh, parsedMesh.tags);
+            if (BABYLON.Tags) {
+                BABYLON.Tags.AddTagsTo(mesh, parsedMesh.tags);
+            }
             mesh.position = BABYLON.Vector3.FromArray(parsedMesh.position);
             if (parsedMesh.metadata !== undefined) {
                 mesh.metadata = parsedMesh.metadata;
@@ -21294,7 +21314,9 @@ var BABYLON;
                 for (var index = 0; index < parsedMesh.instances.length; index++) {
                     var parsedInstance = parsedMesh.instances[index];
                     var instance = mesh.createInstance(parsedInstance.name);
-                    BABYLON.Tags.AddTagsTo(instance, parsedInstance.tags);
+                    if (BABYLON.Tags) {
+                        BABYLON.Tags.AddTagsTo(instance, parsedInstance.tags);
+                    }
                     instance.position = BABYLON.Vector3.FromArray(parsedInstance.position);
                     if (parsedInstance.parentId) {
                         instance._waitingParentId = parsedInstance.parentId;
@@ -23987,7 +24009,9 @@ var BABYLON;
         Material.ParseMultiMaterial = function (parsedMultiMaterial, scene) {
             var multiMaterial = new BABYLON.MultiMaterial(parsedMultiMaterial.name, scene);
             multiMaterial.id = parsedMultiMaterial.id;
-            BABYLON.Tags.AddTagsTo(multiMaterial, parsedMultiMaterial.tags);
+            if (BABYLON.Tags) {
+                BABYLON.Tags.AddTagsTo(multiMaterial, parsedMultiMaterial.tags);
+            }
             for (var matIndex = 0; matIndex < parsedMultiMaterial.materials.length; matIndex++) {
                 var subMatId = parsedMultiMaterial.materials[matIndex];
                 if (subMatId) {
@@ -27321,7 +27345,7 @@ var BABYLON;
         Geometry.prototype.serialize = function () {
             var serializationObject = {};
             serializationObject.id = this.id;
-            if (BABYLON.Tags.HasTags(this)) {
+            if (BABYLON.Tags && BABYLON.Tags.HasTags(this)) {
                 serializationObject.tags = BABYLON.Tags.GetTags(this);
             }
             return serializationObject;
@@ -27587,7 +27611,9 @@ var BABYLON;
                 return null; // null since geometry could be something else than a box...
             }
             var geometry = new Geometry(parsedVertexData.id, scene);
-            BABYLON.Tags.AddTagsTo(geometry, parsedVertexData.tags);
+            if (BABYLON.Tags) {
+                BABYLON.Tags.AddTagsTo(geometry, parsedVertexData.tags);
+            }
             if (parsedVertexData.delayLoadingFile) {
                 geometry.delayLoadState = BABYLON.Engine.DELAYLOADSTATE_NOTLOADED;
                 geometry.delayLoadingFile = rootUrl + parsedVertexData.delayLoadingFile;
@@ -27737,7 +27763,9 @@ var BABYLON;
                         return null; // null since geometry could be something else than a box...
                     }
                     var box = new Geometry.Primitives.Box(parsedBox.id, scene, parsedBox.size, parsedBox.canBeRegenerated, null);
-                    BABYLON.Tags.AddTagsTo(box, parsedBox.tags);
+                    if (BABYLON.Tags) {
+                        BABYLON.Tags.AddTagsTo(box, parsedBox.tags);
+                    }
                     scene.pushGeometry(box, true);
                     return box;
                 };
@@ -27771,7 +27799,9 @@ var BABYLON;
                         return null; // null since geometry could be something else than a sphere...
                     }
                     var sphere = new Geometry.Primitives.Sphere(parsedSphere.id, scene, parsedSphere.segments, parsedSphere.diameter, parsedSphere.canBeRegenerated, null);
-                    BABYLON.Tags.AddTagsTo(sphere, parsedSphere.tags);
+                    if (BABYLON.Tags) {
+                        BABYLON.Tags.AddTagsTo(sphere, parsedSphere.tags);
+                    }
                     scene.pushGeometry(sphere, true);
                     return sphere;
                 };
@@ -27831,7 +27861,9 @@ var BABYLON;
                         return null; // null since geometry could be something else than a cylinder...
                     }
                     var cylinder = new Geometry.Primitives.Cylinder(parsedCylinder.id, scene, parsedCylinder.height, parsedCylinder.diameterTop, parsedCylinder.diameterBottom, parsedCylinder.tessellation, parsedCylinder.subdivisions, parsedCylinder.canBeRegenerated, null);
-                    BABYLON.Tags.AddTagsTo(cylinder, parsedCylinder.tags);
+                    if (BABYLON.Tags) {
+                        BABYLON.Tags.AddTagsTo(cylinder, parsedCylinder.tags);
+                    }
                     scene.pushGeometry(cylinder, true);
                     return cylinder;
                 };
@@ -27867,7 +27899,9 @@ var BABYLON;
                         return null; // null since geometry could be something else than a torus...
                     }
                     var torus = new Geometry.Primitives.Torus(parsedTorus.id, scene, parsedTorus.diameter, parsedTorus.thickness, parsedTorus.tessellation, parsedTorus.canBeRegenerated, null);
-                    BABYLON.Tags.AddTagsTo(torus, parsedTorus.tags);
+                    if (BABYLON.Tags) {
+                        BABYLON.Tags.AddTagsTo(torus, parsedTorus.tags);
+                    }
                     scene.pushGeometry(torus, true);
                     return torus;
                 };
@@ -27901,7 +27935,9 @@ var BABYLON;
                         return null; // null since geometry could be something else than a ground...
                     }
                     var ground = new Geometry.Primitives.Ground(parsedGround.id, scene, parsedGround.width, parsedGround.height, parsedGround.subdivisions, parsedGround.canBeRegenerated, null);
-                    BABYLON.Tags.AddTagsTo(ground, parsedGround.tags);
+                    if (BABYLON.Tags) {
+                        BABYLON.Tags.AddTagsTo(ground, parsedGround.tags);
+                    }
                     scene.pushGeometry(ground, true);
                     return ground;
                 };
@@ -27954,7 +27990,9 @@ var BABYLON;
                         return null; // null since geometry could be something else than a ground...
                     }
                     var plane = new Geometry.Primitives.Plane(parsedPlane.id, scene, parsedPlane.size, parsedPlane.canBeRegenerated, null);
-                    BABYLON.Tags.AddTagsTo(plane, parsedPlane.tags);
+                    if (BABYLON.Tags) {
+                        BABYLON.Tags.AddTagsTo(plane, parsedPlane.tags);
+                    }
                     scene.pushGeometry(plane, true);
                     return plane;
                 };
@@ -27997,7 +28035,9 @@ var BABYLON;
                         return null; // null since geometry could be something else than a ground...
                     }
                     var torusKnot = new Geometry.Primitives.TorusKnot(parsedTorusKnot.id, scene, parsedTorusKnot.radius, parsedTorusKnot.tube, parsedTorusKnot.radialSegments, parsedTorusKnot.tubularSegments, parsedTorusKnot.p, parsedTorusKnot.q, parsedTorusKnot.canBeRegenerated, null);
-                    BABYLON.Tags.AddTagsTo(torusKnot, parsedTorusKnot.tags);
+                    if (BABYLON.Tags) {
+                        BABYLON.Tags.AddTagsTo(torusKnot, parsedTorusKnot.tags);
+                    }
                     scene.pushGeometry(torusKnot, true);
                     return torusKnot;
                 };
@@ -40773,6 +40813,7 @@ var BABYLON;
             this._textures = new BABYLON.SmartArray(2);
             this._currentRenderTextureInd = 0;
             this._scaleRatio = new BABYLON.Vector2(1, 1);
+            this._texelSize = BABYLON.Vector2.Zero();
             // Events
             /**
             * An event triggered when the postprocess is activated.
@@ -40883,6 +40924,16 @@ var BABYLON;
         PostProcess.prototype.getCamera = function () {
             return this._camera;
         };
+        Object.defineProperty(PostProcess.prototype, "texelSize", {
+            get: function () {
+                if (this._shareOutputWithPostProcess) {
+                    return this._shareOutputWithPostProcess.texelSize;
+                }
+                return this._texelSize;
+            },
+            enumerable: true,
+            configurable: true
+        });
         PostProcess.prototype.getEngine = function () {
             return this._engine;
         };
@@ -40940,6 +40991,7 @@ var BABYLON;
                     if (this._reusable) {
                         this._textures.push(this._engine.createRenderTargetTexture(textureSize, textureOptions));
                     }
+                    this._texelSize.copyFromFloats(1.0 / this.width, 1.0 / this.height);
                     this.onSizeChangedObservable.notifyObservers(this);
                 }
                 this._textures.forEach(function (texture) {
@@ -41228,12 +41280,9 @@ var BABYLON;
         function FxaaPostProcess(name, options, camera, samplingMode, engine, reusable, textureType) {
             if (textureType === void 0) { textureType = BABYLON.Engine.TEXTURETYPE_UNSIGNED_INT; }
             var _this = _super.call(this, name, "fxaa", ["texelSize"], null, options, camera, samplingMode || BABYLON.Texture.BILINEAR_SAMPLINGMODE, engine, reusable, null, textureType) || this;
-            _this.onSizeChangedObservable.add(function () {
-                _this.texelWidth = 1.0 / _this.width;
-                _this.texelHeight = 1.0 / _this.height;
-            });
             _this.onApplyObservable.add(function (effect) {
-                effect.setFloat2("texelSize", _this.texelWidth, _this.texelHeight);
+                var texelSize = _this.texelSize;
+                effect.setFloat2("texelSize", texelSize.x, texelSize.y);
             });
             return _this;
         }
@@ -41946,7 +41995,10 @@ var BABYLON;
          * @param colorCurves The color curve to bind
          * @param effect The effect to bind to
          */
-        ColorCurves.Bind = function (colorCurves, effect) {
+        ColorCurves.Bind = function (colorCurves, effect, positiveUniform, neutralUniform, negativeUniform) {
+            if (positiveUniform === void 0) { positiveUniform = "vCameraColorCurvePositive"; }
+            if (neutralUniform === void 0) { neutralUniform = "vCameraColorCurveNeutral"; }
+            if (negativeUniform === void 0) { negativeUniform = "vCameraColorCurveNegative"; }
             if (colorCurves._dirty) {
                 colorCurves._dirty = false;
                 // Fill in global info.
@@ -41964,9 +42016,9 @@ var BABYLON;
                 colorCurves._highlightsCurve.subtractToRef(colorCurves._midtonesCurve, colorCurves._positiveCurve);
                 colorCurves._midtonesCurve.subtractToRef(colorCurves._shadowsCurve, colorCurves._negativeCurve);
             }
-            effect.setFloat4("vCameraColorCurvePositive", colorCurves._positiveCurve.r, colorCurves._positiveCurve.g, colorCurves._positiveCurve.b, colorCurves._positiveCurve.a);
-            effect.setFloat4("vCameraColorCurveNeutral", colorCurves._midtonesCurve.r, colorCurves._midtonesCurve.g, colorCurves._midtonesCurve.b, colorCurves._midtonesCurve.a);
-            effect.setFloat4("vCameraColorCurveNegative", colorCurves._negativeCurve.r, colorCurves._negativeCurve.g, colorCurves._negativeCurve.b, colorCurves._negativeCurve.a);
+            effect.setFloat4(positiveUniform, colorCurves._positiveCurve.r, colorCurves._positiveCurve.g, colorCurves._positiveCurve.b, colorCurves._positiveCurve.a);
+            effect.setFloat4(neutralUniform, colorCurves._midtonesCurve.r, colorCurves._midtonesCurve.g, colorCurves._midtonesCurve.b, colorCurves._midtonesCurve.a);
+            effect.setFloat4(negativeUniform, colorCurves._negativeCurve.r, colorCurves._negativeCurve.g, colorCurves._negativeCurve.b, colorCurves._negativeCurve.a);
         };
         /**
          * Prepare the list of uniforms associated with the ColorCurves effects.

Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 2456 - 2451
dist/preview release/customConfigurations/minimalViewer/babylon.module.d.ts


+ 3 - 1
src/Materials/babylon.material.ts

@@ -566,7 +566,9 @@
 
             multiMaterial.id = parsedMultiMaterial.id;
 
-            Tags.AddTagsTo(multiMaterial, parsedMultiMaterial.tags);
+            if (Tags) {
+                Tags.AddTagsTo(multiMaterial, parsedMultiMaterial.tags);
+            }
 
             for (var matIndex = 0; matIndex < parsedMultiMaterial.materials.length; matIndex++) {
                 var subMatId = parsedMultiMaterial.materials[matIndex];

+ 25 - 9
src/Mesh/babylon.geometry.ts

@@ -655,7 +655,7 @@
 
             serializationObject.id = this.id;
 
-            if (Tags.HasTags(this)) {
+            if (Tags && Tags.HasTags(this)) {
                 serializationObject.tags = Tags.GetTags(this);
             }
 
@@ -981,7 +981,9 @@
 
             var geometry = new Geometry(parsedVertexData.id, scene);
 
-            Tags.AddTagsTo(geometry, parsedVertexData.tags);
+            if (Tags) {
+                Tags.AddTagsTo(geometry, parsedVertexData.tags);
+            }
 
             if (parsedVertexData.delayLoadingFile) {
                 geometry.delayLoadState = Engine.DELAYLOADSTATE_NOTLOADED;
@@ -1146,7 +1148,9 @@
                 }
 
                 var box = new Geometry.Primitives.Box(parsedBox.id, scene, parsedBox.size, parsedBox.canBeRegenerated, null);
-                Tags.AddTagsTo(box, parsedBox.tags);
+                if (Tags) {
+                    Tags.AddTagsTo(box, parsedBox.tags);
+                }
 
                 scene.pushGeometry(box, true);
 
@@ -1183,7 +1187,9 @@
                 }
 
                 var sphere = new Geometry.Primitives.Sphere(parsedSphere.id, scene, parsedSphere.segments, parsedSphere.diameter, parsedSphere.canBeRegenerated, null);
-                Tags.AddTagsTo(sphere, parsedSphere.tags);
+                if (Tags) {
+                    Tags.AddTagsTo(sphere, parsedSphere.tags);
+                }
 
                 scene.pushGeometry(sphere, true);
 
@@ -1239,7 +1245,9 @@
                 }
 
                 var cylinder = new Geometry.Primitives.Cylinder(parsedCylinder.id, scene, parsedCylinder.height, parsedCylinder.diameterTop, parsedCylinder.diameterBottom, parsedCylinder.tessellation, parsedCylinder.subdivisions, parsedCylinder.canBeRegenerated, null);
-                Tags.AddTagsTo(cylinder, parsedCylinder.tags);
+                if (Tags) {
+                    Tags.AddTagsTo(cylinder, parsedCylinder.tags);
+                }
 
                 scene.pushGeometry(cylinder, true);
 
@@ -1277,7 +1285,9 @@
                 }
 
                 var torus = new Geometry.Primitives.Torus(parsedTorus.id, scene, parsedTorus.diameter, parsedTorus.thickness, parsedTorus.tessellation, parsedTorus.canBeRegenerated, null);
-                Tags.AddTagsTo(torus, parsedTorus.tags);
+                if (Tags) {
+                    Tags.AddTagsTo(torus, parsedTorus.tags);
+                }
 
                 scene.pushGeometry(torus, true);
 
@@ -1315,7 +1325,9 @@
                 }
 
                 var ground = new Geometry.Primitives.Ground(parsedGround.id, scene, parsedGround.width, parsedGround.height, parsedGround.subdivisions, parsedGround.canBeRegenerated, null);
-                Tags.AddTagsTo(ground, parsedGround.tags);
+                if (Tags) {
+                    Tags.AddTagsTo(ground, parsedGround.tags);
+                }
 
                 scene.pushGeometry(ground, true);
 
@@ -1366,7 +1378,9 @@
                 }
 
                 var plane = new Geometry.Primitives.Plane(parsedPlane.id, scene, parsedPlane.size, parsedPlane.canBeRegenerated, null);
-                Tags.AddTagsTo(plane, parsedPlane.tags);
+                if (Tags) {
+                    Tags.AddTagsTo(plane, parsedPlane.tags);
+                }
 
                 scene.pushGeometry(plane, true);
 
@@ -1407,7 +1421,9 @@
                 }
 
                 var torusKnot = new Geometry.Primitives.TorusKnot(parsedTorusKnot.id, scene, parsedTorusKnot.radius, parsedTorusKnot.tube, parsedTorusKnot.radialSegments, parsedTorusKnot.tubularSegments, parsedTorusKnot.p, parsedTorusKnot.q, parsedTorusKnot.canBeRegenerated, null);
-                Tags.AddTagsTo(torusKnot, parsedTorusKnot.tags);
+                if (Tags) {
+                    Tags.AddTagsTo(torusKnot, parsedTorusKnot.tags);
+                }
 
                 scene.pushGeometry(torusKnot, true);
 

+ 7 - 3
src/Mesh/babylon.mesh.ts

@@ -1864,7 +1864,7 @@
             serializationObject.id = this.id;
             serializationObject.type = this.getClassName();
 
-            if (Tags.HasTags(this)) {
+            if (Tags && Tags.HasTags(this)) {
                 serializationObject.tags = Tags.GetTags(this);
             }
 
@@ -2060,7 +2060,9 @@
             }
             mesh.id = parsedMesh.id;
 
-            Tags.AddTagsTo(mesh, parsedMesh.tags);
+            if (Tags) {
+                Tags.AddTagsTo(mesh, parsedMesh.tags);
+            }
 
             mesh.position = Vector3.FromArray(parsedMesh.position);
 
@@ -2261,7 +2263,9 @@
                     var parsedInstance = parsedMesh.instances[index];
                     var instance = mesh.createInstance(parsedInstance.name);
 
-                    Tags.AddTagsTo(instance, parsedInstance.tags);
+                    if (Tags) {
+                        Tags.AddTagsTo(instance, parsedInstance.tags);
+                    }
 
                     instance.position = Vector3.FromArray(parsedInstance.position);
 

+ 9 - 3
src/Tools/babylon.decorators.ts

@@ -78,7 +78,9 @@
             }
 
             // Tags
-            serializationObject.tags = Tags.GetTags(entity);
+            if (Tags) {
+                serializationObject.tags = Tags.GetTags(entity);
+            }
 
             // Properties
             for (var property in (<any>entity).__serializableMembers) {
@@ -124,7 +126,9 @@
             var destination = creationFunction();
 
             // Tags
-            Tags.AddTagsTo(destination, source.tags);
+            if (Tags) {
+                Tags.AddTagsTo(destination, source.tags);
+            }
 
             // Properties
             for (var property in (<any>destination).__serializableMembers) {
@@ -169,7 +173,9 @@
             var destination = creationFunction();
 
             // Tags
-            Tags.AddTagsTo(destination, (<any>source).tags);
+            if (Tags) {
+                Tags.AddTagsTo(destination, (<any>source).tags);
+            }
 
             // Properties
             for (var property in (<any>destination).__serializableMembers) {