Bladeren bron

Fixed fresnel cache issue

David Catuhe 8 jaren geleden
bovenliggende
commit
baf2ff0269

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


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


+ 4 - 5
dist/preview release/babylon.max.js

@@ -24721,6 +24721,7 @@ var BABYLON;
             if (flag & BABYLON.Material.MiscDirtyFlag) {
                 this._markAllSubMeshesAsMiscDirty();
             }
+            this.getScene().resetCachedMaterial();
         };
         PushMaterial.prototype._markAllSubMeshesAsDirty = function (func) {
             for (var _i = 0, _a = this.getScene().meshes; _i < _a.length; _i++) {
@@ -28666,11 +28667,9 @@ var BABYLON;
             if (defines._areFresnelDirty) {
                 if (StandardMaterial.FresnelEnabled) {
                     // Fresnel
-                    if (this._diffuseFresnelParameters && this._diffuseFresnelParameters.isEnabled ||
-                        this._opacityFresnelParameters && this._opacityFresnelParameters.isEnabled ||
-                        this._emissiveFresnelParameters && this._emissiveFresnelParameters.isEnabled ||
-                        this._refractionFresnelParameters && this._refractionFresnelParameters.isEnabled ||
-                        this._reflectionFresnelParameters && this._reflectionFresnelParameters.isEnabled) {
+                    if (this._diffuseFresnelParameters || this._opacityFresnelParameters ||
+                        this._emissiveFresnelParameters || this._refractionFresnelParameters ||
+                        this._reflectionFresnelParameters) {
                         defines.DIFFUSEFRESNEL = (this._diffuseFresnelParameters && this._diffuseFresnelParameters.isEnabled);
                         defines.OPACITYFRESNEL = (this._opacityFresnelParameters && this._opacityFresnelParameters.isEnabled);
                         defines.REFLECTIONFRESNEL = (this._reflectionFresnelParameters && this._reflectionFresnelParameters.isEnabled);

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


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


+ 2 - 0
src/Materials/babylon.pushMaterial.ts

@@ -65,6 +65,8 @@
             if (flag & Material.MiscDirtyFlag) {
                 this._markAllSubMeshesAsMiscDirty();
             }
+
+            this.getScene().resetCachedMaterial();
         }
 
         protected _markAllSubMeshesAsDirty(func: (defines: MaterialDefines) => void) {

+ 3 - 5
src/Materials/babylon.standardMaterial.ts

@@ -563,11 +563,9 @@ module BABYLON {
             if (defines._areFresnelDirty) {
                 if (StandardMaterial.FresnelEnabled) {
                     // Fresnel
-                    if (this._diffuseFresnelParameters && this._diffuseFresnelParameters.isEnabled ||
-                        this._opacityFresnelParameters && this._opacityFresnelParameters.isEnabled ||
-                        this._emissiveFresnelParameters && this._emissiveFresnelParameters.isEnabled ||
-                        this._refractionFresnelParameters && this._refractionFresnelParameters.isEnabled ||
-                        this._reflectionFresnelParameters && this._reflectionFresnelParameters.isEnabled) {
+                    if (this._diffuseFresnelParameters || this._opacityFresnelParameters ||
+                        this._emissiveFresnelParameters || this._refractionFresnelParameters ||
+                        this._reflectionFresnelParameters) {
 
                         defines.DIFFUSEFRESNEL = (this._diffuseFresnelParameters && this._diffuseFresnelParameters.isEnabled);