Establishing the Transformation Library
· One min read
translate, rotate, scale - done. They now live in helios.math.transform.
I standardized on post-multiplication (M' = M * T) to stay consistent with glm. Transformations are applied in local space.
constexpr - mostly
translate and scale are constexpr. rotate isn't - sin, cos, sqrt aren't constexpr in the standard library, so that's that for now.
I also skipped the temporary matrices for translate and scale and went with direct element-wise modification instead. Mathematically equivalent, slightly more efficient.
On to the rendering pipeline!