The logic in this function seems too complicated.  We should let `_scaleByDistance` be `undefined`, and deal with it when we write the vertex buffer and rely on `NearFarScalar.clone` to do the right thing.
```javascript
this._scaleByDistance = NearFarScalar.clone(scale, this._scaleByDistance);
```
I've advocated before (but not very strongly) that we should always call `clone` like this.