瀏覽代碼

Environment Helper improve texture update

“Sebastien 7 年之前
父節點
當前提交
0e91375ef5

文件差異過大導致無法顯示
+ 5704 - 5569
dist/preview release/customConfigurations/minimalGLTFViewer/babylon.d.ts


文件差異過大導致無法顯示
+ 22 - 22
dist/preview release/customConfigurations/minimalGLTFViewer/babylon.js


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

@@ -45875,6 +45875,13 @@ var BABYLON;
             serializationObject.blendMode = this.blendMode;
             serializationObject.blendMode = this.blendMode;
             serializationObject.customShader = this.customShader;
             serializationObject.customShader = this.customShader;
             serializationObject.preventAutoStart = this.preventAutoStart;
             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;
             return serializationObject;
         };
         };
         ParticleSystem.Parse = function (parsedParticleSystem, scene, rootUrl) {
         ParticleSystem.Parse = function (parsedParticleSystem, scene, rootUrl) {
@@ -45886,7 +45893,7 @@ var BABYLON;
                 var defines = (program.shaderOptions.defines.length > 0) ? program.shaderOptions.defines.join("\n") : "";
                 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);
                 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;
             particleSystem.customShader = program;
             if (parsedParticleSystem.id) {
             if (parsedParticleSystem.id) {
                 particleSystem.id = parsedParticleSystem.id;
                 particleSystem.id = parsedParticleSystem.id;
@@ -45939,6 +45946,12 @@ var BABYLON;
             particleSystem.targetStopDuration = parsedParticleSystem.targetStopDuration;
             particleSystem.targetStopDuration = parsedParticleSystem.targetStopDuration;
             particleSystem.textureMask = BABYLON.Color4.FromArray(parsedParticleSystem.textureMask);
             particleSystem.textureMask = BABYLON.Color4.FromArray(parsedParticleSystem.textureMask);
             particleSystem.blendMode = parsedParticleSystem.blendMode;
             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) {
             if (!particleSystem.preventAutoStart) {
                 particleSystem.start();
                 particleSystem.start();
             }
             }
@@ -60413,6 +60426,9 @@ var BABYLON;
         ], StandardRenderingPipeline.prototype, "motionStrength", void 0);
         ], StandardRenderingPipeline.prototype, "motionStrength", void 0);
         __decorate([
         __decorate([
             BABYLON.serialize()
             BABYLON.serialize()
+        ], StandardRenderingPipeline.prototype, "_ratio", void 0);
+        __decorate([
+            BABYLON.serialize()
         ], StandardRenderingPipeline.prototype, "BloomEnabled", null);
         ], StandardRenderingPipeline.prototype, "BloomEnabled", null);
         __decorate([
         __decorate([
             BABYLON.serialize()
             BABYLON.serialize()
@@ -60917,7 +60933,7 @@ var BABYLON;
                     return;
                     return;
                 }
                 }
                 // Culling
                 // Culling
-                engine.setState(material.backFaceCulling);
+                engine.setState(material.backFaceCulling, 0, false, scene.useRightHandedSystem);
                 // Managing instances
                 // Managing instances
                 var batch = mesh._getInstancesRenderList(subMesh._id);
                 var batch = mesh._getInstancesRenderList(subMesh._id);
                 if (batch.mustReturn) {
                 if (batch.mustReturn) {
@@ -79707,9 +79723,11 @@ var BABYLON;
                 this._groundMaterial.dispose();
                 this._groundMaterial.dispose();
                 this._groundMaterial = null;
                 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) {
             if (this._skybox && !newOptions.createSkybox) {
                 this._skybox.dispose();
                 this._skybox.dispose();
@@ -79719,16 +79737,20 @@ var BABYLON;
                 this._skyboxMaterial.dispose();
                 this._skyboxMaterial.dispose();
                 this._skyboxMaterial = null;
                 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) {
             if (this._groundMirror && !newOptions.enableGroundMirror) {
                 this._groundMirror.dispose();
                 this._groundMirror.dispose();
                 this._groundMirror = null;
                 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._options = newOptions;
             this._setupBackground();
             this._setupBackground();

+ 14 - 8
src/Helpers/babylon.environmentHelper.ts

@@ -338,9 +338,11 @@ namespace BABYLON {
                 this._groundMaterial = null;
                 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) {
             if (this._skybox && !newOptions.createSkybox) {
@@ -353,9 +355,11 @@ namespace BABYLON {
                 this._skyboxMaterial = null;
                 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) {
             if (this._groundMirror && !newOptions.enableGroundMirror) {
@@ -363,8 +367,10 @@ namespace BABYLON {
                 this._groundMirror = null;
                 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._options = newOptions;