diff --git a/src/glm-extras/intersect.hh b/src/glm-extras/2D/intersect.hh similarity index 100% rename from src/glm-extras/intersect.hh rename to src/glm-extras/2D/intersect.hh diff --git a/src/glm-extras/2D/transform.hh b/src/glm-extras/2D/transform.hh new file mode 100644 index 0000000000000000000000000000000000000000..f4535e838c8a6933fb0fb1c0f6287fbdd017488c --- /dev/null +++ b/src/glm-extras/2D/transform.hh @@ -0,0 +1,33 @@ +#pragma once + +#include <glm/mat3x3.hpp> +#include <glm/vec2.hpp> +#include <glm/vec3.hpp> + +namespace transform2D +{ +inline glm::mat3 scale(glm::vec2 const& v) +{ + glm::mat3 m; + m[0][0] = v.x; + m[1][1] = v.y; + return m; +} +inline glm::mat3 translate(glm::vec2 const& v) +{ + glm::mat3 m; + m[2][0] = v.x; + m[2][1] = v.y; + return m; +} +// scale -> translate +inline glm::mat3 TS(glm::vec2 const& t, glm::vec2 const& s) +{ + glm::mat3 m; + m[0][0] = s.x; + m[1][1] = s.y; + m[2][0] = t.x; + m[2][1] = t.y; + return m; +} +} diff --git a/src/glm-extras/3D/intersect.hh b/src/glm-extras/3D/intersect.hh new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391