gl-matrix 3.4.0, but with strict types to help the browser optimiser. You are expected to use gl-matrix alongside this, for cases where you don't know the type of the inputs/outputs, to avoid deoptimising functions in this library.
There are also other changes to the library, such as:
- No chaining (no return values in most functions)
- Some utils are missing
- If matrix inversion fails, you're on your own. There is no return value, and you will get a bad result
- No
strfunctions - No
mat2,mat2d,mat3dorvec2 - Renamed functions are not re-exported. For example:
quat.lengthdoesn't exist, usevec4.lengthquat2.getReal/quat2.setReal->quat.copy*.mul->*.multiply
- No
forEachfunctions - No custom types. Use typed arrays instead
randomhas no scale factor anymore. Callscaleafterwards instead- Far planes can't be
null; must either be a finite number or Infinity, notnull perspectiveFromFieldOfViewdoesn't use an object for passing degrees- Random function is not configurable
roundfunction no longer exists, and the browser's round implementation is used instead- Default angle order is no longer configurable
- Angle order is now passed as a numeric enum
- Epsilon is no longer configurable
TODO:
- tests