|
@@ -2862,8 +2862,8 @@ var BABYLON;
|
|
|
*/
|
|
|
Quaternion.RotationQuaternionFromAxisToRef = function (axis1, axis2, axis3, ref) {
|
|
|
var rotMat = MathTmp.Matrix[0];
|
|
|
- BABYLON.Matrix.FromXYZAxesToRef(axis1.normalize(), axis2.normalize(), axis3.normalize(), rotMat);
|
|
|
- BABYLON.Quaternion.FromRotationMatrixToRef(rotMat, ref);
|
|
|
+ Matrix.FromXYZAxesToRef(axis1.normalize(), axis2.normalize(), axis3.normalize(), rotMat);
|
|
|
+ Quaternion.FromRotationMatrixToRef(rotMat, ref);
|
|
|
};
|
|
|
Quaternion.Slerp = function (left, right, amount) {
|
|
|
var result = Quaternion.Identity();
|
|
@@ -3801,7 +3801,7 @@ var BABYLON;
|
|
|
var b = 2.0 / height;
|
|
|
var c = 2.0 / (f - n);
|
|
|
var d = -(f + n) / (f - n);
|
|
|
- BABYLON.Matrix.FromValuesToRef(a, 0.0, 0.0, 0.0, 0.0, b, 0.0, 0.0, 0.0, 0.0, c, 0.0, 0.0, 0.0, d, 1.0, result);
|
|
|
+ Matrix.FromValuesToRef(a, 0.0, 0.0, 0.0, 0.0, b, 0.0, 0.0, 0.0, 0.0, c, 0.0, 0.0, 0.0, d, 1.0, result);
|
|
|
};
|
|
|
/**
|
|
|
* Returns a new Matrix as a left-handed orthographic projection matrix computed from the passed floats : left, right, top and bottom being the coordinates of the projection plane, z near and far limits.
|
|
@@ -3823,7 +3823,7 @@ var BABYLON;
|
|
|
var d = -(f + n) / (f - n);
|
|
|
var i0 = (left + right) / (left - right);
|
|
|
var i1 = (top + bottom) / (bottom - top);
|
|
|
- BABYLON.Matrix.FromValuesToRef(a, 0.0, 0.0, 0.0, 0.0, b, 0.0, 0.0, 0.0, 0.0, c, 0.0, i0, i1, d, 1.0, result);
|
|
|
+ Matrix.FromValuesToRef(a, 0.0, 0.0, 0.0, 0.0, b, 0.0, 0.0, 0.0, 0.0, c, 0.0, i0, i1, d, 1.0, result);
|
|
|
};
|
|
|
/**
|
|
|
* Returns a new Matrix as a right-handed orthographic projection matrix computed from the passed floats : left, right, top and bottom being the coordinates of the projection plane, z near and far limits.
|
|
@@ -3851,7 +3851,7 @@ var BABYLON;
|
|
|
var b = 2.0 * n / height;
|
|
|
var c = (f + n) / (f - n);
|
|
|
var d = -2.0 * f * n / (f - n);
|
|
|
- BABYLON.Matrix.FromValuesToRef(a, 0.0, 0.0, 0.0, 0.0, b, 0.0, 0.0, 0.0, 0.0, c, 1.0, 0.0, 0.0, d, 0.0, matrix);
|
|
|
+ Matrix.FromValuesToRef(a, 0.0, 0.0, 0.0, 0.0, b, 0.0, 0.0, 0.0, 0.0, c, 1.0, 0.0, 0.0, d, 0.0, matrix);
|
|
|
return matrix;
|
|
|
};
|
|
|
/**
|
|
@@ -3874,7 +3874,7 @@ var BABYLON;
|
|
|
var b = isVerticalFovFixed ? t : (t * aspect);
|
|
|
var c = (f + n) / (f - n);
|
|
|
var d = -2.0 * f * n / (f - n);
|
|
|
- BABYLON.Matrix.FromValuesToRef(a, 0.0, 0.0, 0.0, 0.0, b, 0.0, 0.0, 0.0, 0.0, c, 1.0, 0.0, 0.0, d, 0.0, result);
|
|
|
+ Matrix.FromValuesToRef(a, 0.0, 0.0, 0.0, 0.0, b, 0.0, 0.0, 0.0, 0.0, c, 1.0, 0.0, 0.0, d, 0.0, result);
|
|
|
};
|
|
|
/**
|
|
|
* Returns a new Matrix as a right-handed perspective projection matrix computed from the passed floats : vertical angle of view (fov), width/height ratio (aspect), z near and far limits.
|
|
@@ -3900,7 +3900,7 @@ var BABYLON;
|
|
|
var b = isVerticalFovFixed ? t : (t * aspect);
|
|
|
var c = -(f + n) / (f - n);
|
|
|
var d = -2 * f * n / (f - n);
|
|
|
- BABYLON.Matrix.FromValuesToRef(a, 0.0, 0.0, 0.0, 0.0, b, 0.0, 0.0, 0.0, 0.0, c, -1.0, 0.0, 0.0, d, 0.0, result);
|
|
|
+ Matrix.FromValuesToRef(a, 0.0, 0.0, 0.0, 0.0, b, 0.0, 0.0, 0.0, 0.0, c, -1.0, 0.0, 0.0, d, 0.0, result);
|
|
|
};
|
|
|
/**
|
|
|
* Sets the passed matrix "result" as a left-handed perspective projection matrix for WebVR computed from the passed floats : vertical angle of view (fov), width/height ratio (aspect), z near and far limits.
|
|
@@ -8722,7 +8722,7 @@ var BABYLON;
|
|
|
// Empty texture
|
|
|
get: function () {
|
|
|
if (!this._emptyTexture) {
|
|
|
- this._emptyTexture = this.createRawTexture(new Uint8Array(4), 1, 1, BABYLON.Engine.TEXTUREFORMAT_RGBA, false, false, BABYLON.Texture.NEAREST_SAMPLINGMODE);
|
|
|
+ this._emptyTexture = this.createRawTexture(new Uint8Array(4), 1, 1, Engine.TEXTUREFORMAT_RGBA, false, false, BABYLON.Texture.NEAREST_SAMPLINGMODE);
|
|
|
}
|
|
|
return this._emptyTexture;
|
|
|
},
|
|
@@ -8732,7 +8732,7 @@ var BABYLON;
|
|
|
Object.defineProperty(Engine.prototype, "emptyTexture3D", {
|
|
|
get: function () {
|
|
|
if (!this._emptyTexture3D) {
|
|
|
- this._emptyTexture3D = this.createRawTexture3D(new Uint8Array(4), 1, 1, 1, BABYLON.Engine.TEXTUREFORMAT_RGBA, false, false, BABYLON.Texture.NEAREST_SAMPLINGMODE);
|
|
|
+ this._emptyTexture3D = this.createRawTexture3D(new Uint8Array(4), 1, 1, 1, Engine.TEXTUREFORMAT_RGBA, false, false, BABYLON.Texture.NEAREST_SAMPLINGMODE);
|
|
|
}
|
|
|
return this._emptyTexture3D;
|
|
|
},
|
|
@@ -8744,7 +8744,7 @@ var BABYLON;
|
|
|
if (!this._emptyCubeTexture) {
|
|
|
var faceData = new Uint8Array(4);
|
|
|
var cubeData = [faceData, faceData, faceData, faceData, faceData, faceData];
|
|
|
- this._emptyCubeTexture = this.createRawCubeTexture(cubeData, 1, BABYLON.Engine.TEXTUREFORMAT_RGBA, BABYLON.Engine.TEXTURETYPE_UNSIGNED_INT, false, false, BABYLON.Texture.NEAREST_SAMPLINGMODE);
|
|
|
+ this._emptyCubeTexture = this.createRawCubeTexture(cubeData, 1, Engine.TEXTUREFORMAT_RGBA, Engine.TEXTURETYPE_UNSIGNED_INT, false, false, BABYLON.Texture.NEAREST_SAMPLINGMODE);
|
|
|
}
|
|
|
return this._emptyCubeTexture;
|
|
|
},
|
|
@@ -10638,7 +10638,7 @@ var BABYLON;
|
|
|
};
|
|
|
Engine.prototype.createRawTexture = function (data, width, height, format, generateMipMaps, invertY, samplingMode, compression, type) {
|
|
|
if (compression === void 0) { compression = null; }
|
|
|
- if (type === void 0) { type = BABYLON.Engine.TEXTURETYPE_UNSIGNED_INT; }
|
|
|
+ if (type === void 0) { type = Engine.TEXTURETYPE_UNSIGNED_INT; }
|
|
|
var texture = new BABYLON.InternalTexture(this, BABYLON.InternalTexture.DATASOURCE_RAW);
|
|
|
texture.baseWidth = width;
|
|
|
texture.baseHeight = height;
|
|
@@ -12212,13 +12212,13 @@ var BABYLON;
|
|
|
if (this._webGLVersion > 1) {
|
|
|
return this._caps.colorBufferFloat;
|
|
|
}
|
|
|
- return this._canRenderToFramebuffer(BABYLON.Engine.TEXTURETYPE_FLOAT);
|
|
|
+ return this._canRenderToFramebuffer(Engine.TEXTURETYPE_FLOAT);
|
|
|
};
|
|
|
Engine.prototype._canRenderToHalfFloatFramebuffer = function () {
|
|
|
if (this._webGLVersion > 1) {
|
|
|
return this._caps.colorBufferFloat;
|
|
|
}
|
|
|
- return this._canRenderToFramebuffer(BABYLON.Engine.TEXTURETYPE_HALF_FLOAT);
|
|
|
+ return this._canRenderToFramebuffer(Engine.TEXTURETYPE_HALF_FLOAT);
|
|
|
};
|
|
|
// Thank you : http://stackoverflow.com/questions/28827511/webgl-ios-render-to-floating-point-texture
|
|
|
Engine.prototype._canRenderToFramebuffer = function (type) {
|
|
@@ -15049,11 +15049,12 @@ var BABYLON;
|
|
|
for (var _i = 0, descendants_1 = descendants; _i < descendants_1.length; _i++) {
|
|
|
var descendant = descendants_1[_i];
|
|
|
var childMesh = descendant;
|
|
|
- childMesh.computeWorldMatrix(true);
|
|
|
- var childBoundingInfo = childMesh.getBoundingInfo();
|
|
|
- if (childMesh.getTotalVertices() === 0) {
|
|
|
+ //make sure we have the needed params to get mix and max
|
|
|
+ if (!childMesh.getBoundingInfo || childMesh.getTotalVertices() === 0) {
|
|
|
continue;
|
|
|
}
|
|
|
+ childMesh.computeWorldMatrix(true);
|
|
|
+ var childBoundingInfo = childMesh.getBoundingInfo();
|
|
|
var boundingBox = childBoundingInfo.boundingBox;
|
|
|
var minBox = boundingBox.minimumWorld;
|
|
|
var maxBox = boundingBox.maximumWorld;
|
|
@@ -26167,7 +26168,7 @@ var BABYLON;
|
|
|
* Returns a Vector3, the center of the `{min:` Vector3`, max:` Vector3`}` or the center of MinMax vector3 computed from a mesh array.
|
|
|
*/
|
|
|
Mesh.Center = function (meshesOrMinMaxVector) {
|
|
|
- var minMaxVector = (meshesOrMinMaxVector instanceof Array) ? BABYLON.Mesh.MinMax(meshesOrMinMaxVector) : meshesOrMinMaxVector;
|
|
|
+ var minMaxVector = (meshesOrMinMaxVector instanceof Array) ? Mesh.MinMax(meshesOrMinMaxVector) : meshesOrMinMaxVector;
|
|
|
return BABYLON.Vector3.Center(minMaxVector.min, minMaxVector.max);
|
|
|
};
|
|
|
/**
|
|
@@ -33352,7 +33353,7 @@ var BABYLON;
|
|
|
ColorGradingTexture.Parse = function (parsedTexture, scene, rootUrl) {
|
|
|
var texture = null;
|
|
|
if (parsedTexture.name && !parsedTexture.isRenderTarget) {
|
|
|
- texture = new BABYLON.ColorGradingTexture(parsedTexture.name, scene);
|
|
|
+ texture = new ColorGradingTexture(parsedTexture.name, scene);
|
|
|
texture.name = parsedTexture.name;
|
|
|
texture.level = parsedTexture.level;
|
|
|
}
|
|
@@ -41392,7 +41393,7 @@ var BABYLON;
|
|
|
* @returns The created animation
|
|
|
*/
|
|
|
Animation.CreateAnimation = function (property, animationType, framePerSecond, easingFunction) {
|
|
|
- var animation = new BABYLON.Animation(property + "Animation", property, framePerSecond, animationType, BABYLON.Animation.ANIMATIONLOOPMODE_CONSTANT);
|
|
|
+ var animation = new Animation(property + "Animation", property, framePerSecond, animationType, Animation.ANIMATIONLOOPMODE_CONSTANT);
|
|
|
animation.setEasingFunction(easingFunction);
|
|
|
return animation;
|
|
|
};
|
|
@@ -43352,13 +43353,14 @@ var BABYLON;
|
|
|
return root;
|
|
|
};
|
|
|
ActionManager.Parse = function (parsedActions, object, scene) {
|
|
|
- var actionManager = new BABYLON.ActionManager(scene);
|
|
|
+ var actionManager = new ActionManager(scene);
|
|
|
if (object === null)
|
|
|
scene.actionManager = actionManager;
|
|
|
else
|
|
|
object.actionManager = actionManager;
|
|
|
// instanciate a new object
|
|
|
var instanciate = function (name, params) {
|
|
|
+ // TODO: We will need to find a solution for the next line when using commonjs / es6 .
|
|
|
var newInstance = Object.create(BABYLON.Tools.Instantiate("BABYLON." + name).prototype);
|
|
|
newInstance.constructor.apply(newInstance, params);
|
|
|
return newInstance;
|
|
@@ -45875,6 +45877,13 @@ var BABYLON;
|
|
|
serializationObject.blendMode = this.blendMode;
|
|
|
serializationObject.customShader = this.customShader;
|
|
|
serializationObject.preventAutoStart = this.preventAutoStart;
|
|
|
+ serializationObject.startSpriteCellID = this.startSpriteCellID;
|
|
|
+ serializationObject.endSpriteCellID = this.endSpriteCellID;
|
|
|
+ serializationObject.spriteCellLoop = this.spriteCellLoop;
|
|
|
+ serializationObject.spriteCellChangeSpeed = this.spriteCellChangeSpeed;
|
|
|
+ serializationObject.spriteCellWidth = this.spriteCellWidth;
|
|
|
+ serializationObject.spriteCellHeight = this.spriteCellHeight;
|
|
|
+ serializationObject.isAnimationSheetEnabled = this._isAnimationSheetEnabled;
|
|
|
return serializationObject;
|
|
|
};
|
|
|
ParticleSystem.Parse = function (parsedParticleSystem, scene, rootUrl) {
|
|
@@ -45886,7 +45895,7 @@ var BABYLON;
|
|
|
var defines = (program.shaderOptions.defines.length > 0) ? program.shaderOptions.defines.join("\n") : "";
|
|
|
custom = scene.getEngine().createEffectForParticles(program.shaderPath.fragmentElement, program.shaderOptions.uniforms, program.shaderOptions.samplers, defines);
|
|
|
}
|
|
|
- var particleSystem = new ParticleSystem(name, parsedParticleSystem.capacity, scene, custom);
|
|
|
+ var particleSystem = new ParticleSystem(name, parsedParticleSystem.capacity, scene, custom, parsedParticleSystem.isAnimationSheetEnabled);
|
|
|
particleSystem.customShader = program;
|
|
|
if (parsedParticleSystem.id) {
|
|
|
particleSystem.id = parsedParticleSystem.id;
|
|
@@ -45939,6 +45948,12 @@ var BABYLON;
|
|
|
particleSystem.targetStopDuration = parsedParticleSystem.targetStopDuration;
|
|
|
particleSystem.textureMask = BABYLON.Color4.FromArray(parsedParticleSystem.textureMask);
|
|
|
particleSystem.blendMode = parsedParticleSystem.blendMode;
|
|
|
+ particleSystem.startSpriteCellID = parsedParticleSystem.startSpriteCellID;
|
|
|
+ particleSystem.endSpriteCellID = parsedParticleSystem.endSpriteCellID;
|
|
|
+ particleSystem.spriteCellLoop = parsedParticleSystem.spriteCellLoop;
|
|
|
+ particleSystem.spriteCellChangeSpeed = parsedParticleSystem.spriteCellChangeSpeed;
|
|
|
+ particleSystem.spriteCellWidth = parsedParticleSystem.spriteCellWidth;
|
|
|
+ particleSystem.spriteCellHeight = parsedParticleSystem.spriteCellHeight;
|
|
|
if (!particleSystem.preventAutoStart) {
|
|
|
particleSystem.start();
|
|
|
}
|
|
@@ -50828,7 +50843,7 @@ var BABYLON;
|
|
|
};
|
|
|
CubeTexture.Parse = function (parsedTexture, scene, rootUrl) {
|
|
|
var texture = BABYLON.SerializationHelper.Parse(function () {
|
|
|
- return new BABYLON.CubeTexture(rootUrl + parsedTexture.name, scene, parsedTexture.extensions);
|
|
|
+ return new CubeTexture(rootUrl + parsedTexture.name, scene, parsedTexture.extensions);
|
|
|
}, parsedTexture, scene);
|
|
|
// Animations
|
|
|
if (parsedTexture.animations) {
|
|
@@ -52083,7 +52098,7 @@ var BABYLON;
|
|
|
}
|
|
|
video.play();
|
|
|
if (onReady) {
|
|
|
- onReady(new BABYLON.VideoTexture("video", video, scene, true, true));
|
|
|
+ onReady(new VideoTexture("video", video, scene, true, true));
|
|
|
}
|
|
|
}, function (e) {
|
|
|
BABYLON.Tools.Error(e.name);
|
|
@@ -60567,6 +60582,9 @@ var BABYLON;
|
|
|
], StandardRenderingPipeline.prototype, "motionStrength", void 0);
|
|
|
__decorate([
|
|
|
BABYLON.serialize()
|
|
|
+ ], StandardRenderingPipeline.prototype, "_ratio", void 0);
|
|
|
+ __decorate([
|
|
|
+ BABYLON.serialize()
|
|
|
], StandardRenderingPipeline.prototype, "BloomEnabled", null);
|
|
|
__decorate([
|
|
|
BABYLON.serialize()
|
|
@@ -61071,7 +61089,7 @@ var BABYLON;
|
|
|
return;
|
|
|
}
|
|
|
// Culling
|
|
|
- engine.setState(material.backFaceCulling);
|
|
|
+ engine.setState(material.backFaceCulling, 0, false, scene.useRightHandedSystem);
|
|
|
// Managing instances
|
|
|
var batch = mesh._getInstancesRenderList(subMesh._id);
|
|
|
if (batch.mustReturn) {
|
|
@@ -63746,7 +63764,7 @@ var BABYLON;
|
|
|
if (this._transformYawPitch) {
|
|
|
BABYLON.Vector3.TransformCoordinatesToRef(boneFwd, this._transformYawPitchInv, boneFwd);
|
|
|
}
|
|
|
- var boneRotMat = BABYLON.BoneLookController._tmpMats[4];
|
|
|
+ var boneRotMat = BoneLookController._tmpMats[4];
|
|
|
this._boneQuat.toRotationMatrix(boneRotMat);
|
|
|
this.mesh.getWorldMatrix().multiplyToRef(boneRotMat, boneRotMat);
|
|
|
BABYLON.Vector3.TransformCoordinatesToRef(boneFwd, boneRotMat, boneFwd);
|
|
@@ -65284,7 +65302,7 @@ var BABYLON;
|
|
|
var texture = null;
|
|
|
if (parsedTexture.name && !parsedTexture.isRenderTarget) {
|
|
|
var size = parsedTexture.isBABYLONPreprocessed ? null : parsedTexture.size;
|
|
|
- texture = new BABYLON.HDRCubeTexture(rootUrl + parsedTexture.name, scene, size, parsedTexture.noMipmap, parsedTexture.generateHarmonics, parsedTexture.useInGammaSpace, parsedTexture.usePMREMGenerator);
|
|
|
+ texture = new HDRCubeTexture(rootUrl + parsedTexture.name, scene, size, parsedTexture.noMipmap, parsedTexture.generateHarmonics, parsedTexture.useInGammaSpace, parsedTexture.usePMREMGenerator);
|
|
|
texture.name = parsedTexture.name;
|
|
|
texture.hasAlpha = parsedTexture.hasAlpha;
|
|
|
texture.level = parsedTexture.level;
|
|
@@ -70738,7 +70756,7 @@ var BABYLON;
|
|
|
this._colorShader.setColor4("color", this.frontColor.toColor4());
|
|
|
this._colorShader.bind(worldMatrix);
|
|
|
// Draw order
|
|
|
- engine.drawElementsType(BABYLON.Material.TriangleFillMode, 0, 24);
|
|
|
+ engine.drawElementsType(BABYLON.Material.LineListDrawMode, 0, 24);
|
|
|
}
|
|
|
this._colorShader.unbind();
|
|
|
engine.setDepthFunctionToLessOrEqual();
|
|
@@ -80211,9 +80229,11 @@ var BABYLON;
|
|
|
this._groundMaterial.dispose();
|
|
|
this._groundMaterial = null;
|
|
|
}
|
|
|
- if (this._options.groundTexture && !newOptions.groundTexture && this._groundTexture) {
|
|
|
- this._groundTexture.dispose();
|
|
|
- this._groundTexture = null;
|
|
|
+ if (this._groundTexture) {
|
|
|
+ if (this._options.groundTexture != newOptions.groundTexture) {
|
|
|
+ this._groundTexture.dispose();
|
|
|
+ this._groundTexture = null;
|
|
|
+ }
|
|
|
}
|
|
|
if (this._skybox && !newOptions.createSkybox) {
|
|
|
this._skybox.dispose();
|
|
@@ -80223,16 +80243,20 @@ var BABYLON;
|
|
|
this._skyboxMaterial.dispose();
|
|
|
this._skyboxMaterial = null;
|
|
|
}
|
|
|
- if (this._options.skyboxTexture && !newOptions.skyboxTexture && this._skyboxTexture) {
|
|
|
- this._skyboxTexture.dispose();
|
|
|
- this._skyboxTexture = null;
|
|
|
+ if (this._skyboxTexture) {
|
|
|
+ if (this._options.skyboxTexture != newOptions.skyboxTexture) {
|
|
|
+ this._skyboxTexture.dispose();
|
|
|
+ this._skyboxTexture = null;
|
|
|
+ }
|
|
|
}
|
|
|
if (this._groundMirror && !newOptions.enableGroundMirror) {
|
|
|
this._groundMirror.dispose();
|
|
|
this._groundMirror = null;
|
|
|
}
|
|
|
- if (this._options.environmentTexture && !newOptions.environmentTexture && this._scene.environmentTexture) {
|
|
|
- this._scene.environmentTexture.dispose();
|
|
|
+ if (this._scene.environmentTexture) {
|
|
|
+ if (this._options.environmentTexture != newOptions.environmentTexture) {
|
|
|
+ this._scene.environmentTexture.dispose();
|
|
|
+ }
|
|
|
}
|
|
|
this._options = newOptions;
|
|
|
this._setupBackground();
|