function StandardRenderingPipeline(name, scene, ratio, originalPostProcess, cameras) {
            if (originalPostProcess === void 0) { originalPostProcess = null; }
            var _this = _super.call(this, scene.getEngine(), name) || this;
            _this.downSampleX4PostProcess = null;
            _this.brightPassPostProcess = null;
            _this.blurHPostProcesses = [];
            _this.blurVPostProcesses = [];
            _this.textureAdderPostProcess = null;
            _this.volumetricLightPostProcess = null;
            _this.volumetricLightSmoothXPostProcess = null;
            _this.volumetricLightSmoothYPostProcess = null;
            _this.volumetricLightMergePostProces = null;
            _this.volumetricLightFinalPostProcess = null;
            _this.luminancePostProcess = null;
            _this.luminanceDownSamplePostProcesses = [];
            _this.hdrPostProcess = null;
            _this.textureAdderFinalPostProcess = null;
            _this.lensFlareFinalPostProcess = null;
            _this.hdrFinalPostProcess = null;
            _this.lensFlarePostProcess = null;
            _this.lensFlareComposePostProcess = null;
            _this.motionBlurPostProcess = null;
            _this.depthOfFieldPostProcess = null;
            // Values
            _this.brightThreshold = 1.0;
            _this.blurWidth = 512.0;
            _this.horizontalBlur = false;
            _this.exposure = 1.0;
            _this.lensTexture = null;
            _this.volumetricLightCoefficient = 0.2;
            _this.volumetricLightPower = 4.0;
            _this.volumetricLightBlurScale = 64.0;
            _this.sourceLight = null;
            _this.hdrMinimumLuminance = 1.0;
            _this.hdrDecreaseRate = 0.5;
            _this.hdrIncreaseRate = 0.5;
            _this.lensColorTexture = null;
            _this.lensFlareStrength = 20.0;
            _this.lensFlareGhostDispersal = 1.4;
            _this.lensFlareHaloWidth = 0.7;
            _this.lensFlareDistortionStrength = 16.0;
            _this.lensStarTexture = null;
            _this.lensFlareDirtTexture = null;
            _this.depthOfFieldDistance = 10.0;
            _this.depthOfFieldBlurWidth = 64.0;
            _this.motionStrength = 1.0;
            // IAnimatable
            _this.animations = [];
            _this._currentDepthOfFieldSource = null;
            _this._hdrCurrentLuminance = 1.0;
            // Getters and setters
            _this._bloomEnabled = true;
            _this._depthOfFieldEnabled = false;
            _this._vlsEnabled = false;
            _this._lensFlareEnabled = false;
            _this._hdrEnabled = false;
            _this._motionBlurEnabled = false;
            _this._motionBlurSamples = 64.0;
            _this._volumetricLightStepsCount = 50.0;
            _this._cameras = cameras || [];
            // Initialize
            _this._scene = scene;
            _this._basePostProcess = originalPostProcess;
            _this._ratio = ratio;
            // Misc
            _this._floatTextureType = scene.getEngine().getCaps().textureFloatRender ? BABYLON.Engine.TEXTURETYPE_FLOAT : BABYLON.Engine.TEXTURETYPE_HALF_FLOAT;
            // Finish
            scene.postProcessRenderPipelineManager.addPipeline(_this);
            _this._buildPipeline();
            return _this;
        }
@constructor
@param {string} name - The rendering pipeline name
@param {BABYLON.Scene} scene - The scene linked to this pipeline
@param {any} ratio - The size of the postprocesses (0.5 means that your postprocess will have a width = canvas.width 0.5 and a height = canvas.height 0.5)
@param {BABYLON.PostProcess} originalPostProcess - the custom original color post-process. Must be "reusable". Can be null.
@param {BABYLON.Camera[]} cameras - The array of cameras that the rendering pipeline will be attached to