Date: TBD, target end of June 2019
A benchmarking example has been added that makes it easy to assess the performance. The performance of the library has been significantly improved tuned based on these benchmarks.
A new module (developed in collaboration with the Cesium team) providing framework-independent geospatial math classes and algorithms:
- New class
Ellipsoid
and constantEllipsoid.WGS84
for working with WSG84 coordinates
The API for transformations (i.e. multiplying vectors with matrices or quaternions) has been extended and made more orthogonal:
- The
transform*
methods are now available on allVector
classes, in addition to on theMatrix
classes. Among other things, this enables transformations without usingMatrix
classes. - Naming consistency of transform methods across classes (
transform
,transformAsPoint
,transformAsVector
). - Alternative transform methods added to the
Vector
classes (transformByMatrix3
,transformByMatrix2
,transformByMatrix2x3
andtransformByQuaternion
). Simplifies using the most efficient transformation for the job.
- New methods
Matrix*.setColumn()
andMatrix*.getColumn()
- New method
Matrix*.toString()
- Improved method:
Matrix4.frustum()
now supports infinitefar
plane (parity withMatrix4.perspective
, which already supported this).
- New: global functions
toRadians
andtoDegrees
- New: global function
exactEqual
Date: Jan 29, 2019
- New class:
Matrix3
- New: Add
scale
factor support toMatrix3
andMatrix4
- Support quaternion to euler conversion
- Now uses the official
gl-matrix@3.0.0
package as dependency instead of forked gl-matrix packages.
Date: Sep 20, 2018
- Use
@babel/runtime
to reduce bundle size equals
function fix on arrays
Date: June 25, 2018
Experimental exports are now exported with a leading underscore (_), instead of as members of the experimental
namespace.
The change was made to make it possible for tree-shaking bundlers to remove unused experimental exports from applications.
Date: May 4, 2018
- New
lerp
utility - Experimental
Pose
class
Date: April 16, 2018
Matrix4.orthographic()
- To simplify switching between perspective and orthographic views, math.gl now offers an additional method for creating orthographic projection matrix, that takes the same parameters as Matrix4.perspective()
, with the addition of one additional parameter, focalDistance
. See Matrix4.orthographic
({fovy, aspect, focalDistance, near, far})
math.gl has been tuned to have approximately 20% smaller footprint when bundled in applications.
math.gl classes now pass large parts of the THREE.js test suite, which should make it easier to reuse code written for the THREE.js math library.
Date: Jan 9, 2018
Initial release.