Skip to main content

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!