Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
This was motivated by wanting to set the near and far clip values. This can be done by `map.camera().clipbounds = {near: <near value>, far: <far value>}`. This simplifies some of the camera code. Before, we were generating a display matrix but separately calculating the transform in a series of steps, and similarly we were doing the inverse via a set of steps instead of a matrix multiplication. This uses the `display` and `world` matrices explicitly in the transforms. The `css` transform property was ambiguous about the transform origin. We now explicitly expect a transform-origin of `0 0`, as we use that elsewhere in the project. This adjusts several tests. Some of the tests have be rewritten for clarity. Some of the camera helper functions have been eliminated as they were simple wrappers around matrix functions. There are now distinct clipbounds for perspective and parallel projections. The css transform format was rewritten to be more compact and not lose precision in some instances. Note that the webgl use of the perspective camera projection will need additional refactoring to handle any clipbounds.
- Loading branch information