This API is experimental
Its behavior may change in a future version of p5.js.
Creates a 3x3 matrix inside a p5.strands shader callback.
mat3() is the same function as transform2D(), named the way it is in GLSL.
Passing a 4x4 matrix to mat3() keeps only its upper-left 3x3 block, which drops the move part of a 3D transform and leaves the rotation and scale. That block is what lighting calculations need, so this is a handy way to turn a transform3D() into a matrix for surface directions.
Note: mat3() can only be used inside a p5.strands shader callback.
Examples
Syntax
mat3(values1, values2, ..., valuesn)
Parameters
values1, ..., valuesn
Number: nothing for the identity matrix, one number, one matrix, 3 column vectors, or 9 values in column-major order.
Returns
a 3x3 matrix.
Notice any errors or typos? Please let us know. Please feel free to edit src/strands/strands_transform.js and open a pull request!