Browse Source

Adding checks on setters for Standard Rendering Pipeline

Julien Moreau-Mathis 8 years ago
parent
commit
70e60f8656

+ 34 - 10
src/PostProcess/RenderPipeline/Pipelines/babylon.standardRenderingPipeline.ts

@@ -125,6 +125,10 @@
         }
         }
 
 
         public set BloomEnabled(enabled: boolean) {
         public set BloomEnabled(enabled: boolean) {
+            if (this._bloomEnabled === enabled) {
+                return;
+            }
+
             this._bloomEnabled = enabled;
             this._bloomEnabled = enabled;
             this._buildPipeline();
             this._buildPipeline();
         }
         }
@@ -135,6 +139,10 @@
         }
         }
 
 
         public set DepthOfFieldEnabled(enabled: boolean) {
         public set DepthOfFieldEnabled(enabled: boolean) {
+            if (this._depthOfFieldEnabled === enabled) {
+                return;
+            }
+
             this._depthOfFieldEnabled = enabled;
             this._depthOfFieldEnabled = enabled;
             this._buildPipeline();
             this._buildPipeline();
         }
         }
@@ -145,6 +153,10 @@
         }
         }
 
 
         public set LensFlareEnabled(enabled: boolean) {
         public set LensFlareEnabled(enabled: boolean) {
+            if (this._lensFlareEnabled === enabled) {
+                return;
+            }
+
             this._lensFlareEnabled = enabled;
             this._lensFlareEnabled = enabled;
             this._buildPipeline();
             this._buildPipeline();
         }
         }
@@ -155,6 +167,10 @@
         }
         }
 
 
         public set HDREnabled(enabled: boolean) {
         public set HDREnabled(enabled: boolean) {
+            if (this._hdrEnabled === enabled) {
+                return;
+            }
+
             this._hdrEnabled = enabled;
             this._hdrEnabled = enabled;
             this._buildPipeline();
             this._buildPipeline();
         }
         }
@@ -165,6 +181,10 @@
         }
         }
 
 
         public set VLSEnabled(enabled) {
         public set VLSEnabled(enabled) {
+            if (this._vlsEnabled === enabled) {
+                return;
+            }
+
             if (enabled) {
             if (enabled) {
                 var geometry = this._scene.enableGeometryBufferRenderer();
                 var geometry = this._scene.enableGeometryBufferRenderer();
                 if (!geometry.isSupported) {
                 if (!geometry.isSupported) {
@@ -178,26 +198,30 @@
         }
         }
 
 
         @serialize()
         @serialize()
-        public get volumetricLightStepsCount(): number {
-            return this._volumetricLightStepsCount;
-        }
-
-        public set volumetricLightStepsCount(count: number) {
-            this.volumetricLightPostProcess.updateEffect("#define VLS\n#define NB_STEPS " + count.toFixed(1));
-            this._volumetricLightStepsCount = count;
-        }
-
-        @serialize()
         public get MotionBlurEnabled(): boolean {
         public get MotionBlurEnabled(): boolean {
             return this._motionBlurEnabled;
             return this._motionBlurEnabled;
         }
         }
 
 
         public set MotionBlurEnabled(enabled: boolean) {
         public set MotionBlurEnabled(enabled: boolean) {
+            if (this._motionBlurEnabled === enabled) {
+                return;
+            }
+
             this._motionBlurEnabled = enabled;
             this._motionBlurEnabled = enabled;
             this._buildPipeline();
             this._buildPipeline();
         }
         }
 
 
         @serialize()
         @serialize()
+        public get volumetricLightStepsCount(): number {
+            return this._volumetricLightStepsCount;
+        }
+
+        public set volumetricLightStepsCount(count: number) {
+            this.volumetricLightPostProcess.updateEffect("#define VLS\n#define NB_STEPS " + count.toFixed(1));
+            this._volumetricLightStepsCount = count;
+        }
+
+        @serialize()
         public get motionBlurSamples(): number {
         public get motionBlurSamples(): number {
             return this._motionBlurSamples;
             return this._motionBlurSamples;
         }
         }