setFar(far) {
        far = isNaN(far) ? this.far : parseFloat(far);
        far = Math.max(far, 50);

        if(far !== this.far) {
            this.far = far;
            this._shouldUpdate = true;
        }
    }
Sets the camera far plane value
     Update the camera projection matrix only if the far plane actually changed

     params:
     @far (float, optional): far plane value to use
*