18 #include "../gtx/transform.hpp"    20 #ifndef GLM_ENABLE_EXPERIMENTAL    21 #   error "GLM: GLM_GTX_transform2 is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."    24 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)    25 #   pragma message("GLM: GLM_GTX_transform2 extension included")    35     template<
typename T, qualifier Q>
    36     GLM_FUNC_DECL mat<3, 3, T, Q> 
shearX2D(mat<3, 3, T, Q> 
const& m, T y);
    40     template<
typename T, qualifier Q>
    41     GLM_FUNC_DECL mat<3, 3, T, Q> 
shearY2D(mat<3, 3, T, Q> 
const& m, T x);
    45     template<
typename T, qualifier Q>
    46     GLM_FUNC_DECL mat<4, 4, T, Q> 
shearX3D(mat<4, 4, T, Q> 
const& m, T y, T z);
    50     template<
typename T, qualifier Q>
    51     GLM_FUNC_DECL mat<4, 4, T, Q> 
shearY3D(mat<4, 4, T, Q> 
const& m, T x, T z);
    55     template<
typename T, qualifier Q>
    56     GLM_FUNC_DECL mat<4, 4, T, Q> 
shearZ3D(mat<4, 4, T, Q> 
const& m, T x, T y);
    68     template<
typename T, qualifier Q>
    69     GLM_FUNC_DECL mat<3, 3, T, Q> 
proj2D(mat<3, 3, T, Q> 
const& m, vec<3, T, Q> 
const& normal);
    73     template<
typename T, qualifier Q>
    74     GLM_FUNC_DECL mat<4, 4, T, Q> 
proj3D(mat<4, 4, T, Q> 
const & m, vec<3, T, Q> 
const& normal);
    78     template<
typename T, qualifier Q>
    83     template<
typename T, qualifier Q>
    84     GLM_FUNC_DECL mat<4, 4, T, Q> 
scaleBias(mat<4, 4, T, Q> 
const& m, T 
scale, T bias);
    89 #include "transform2.inl" GLM_FUNC_DECL mat< 3, 3, T, Q > shearX2D(mat< 3, 3, T, Q > const &m, T y)
Transforms a matrix with a shearing on X axis. 
GLM_FUNC_DECL mat< 4, 4, T, Q > shearX3D(mat< 4, 4, T, Q > const &m, T y, T z)
Transforms a matrix with a shearing on X axis From GLM_GTX_transform2 extension. 
GLM_FUNC_DECL mat< 4, 4, T, Q > shearY3D(mat< 4, 4, T, Q > const &m, T x, T z)
Transforms a matrix with a shearing on Y axis. 
GLM_FUNC_DECL mat< 4, 4, T, Q > proj3D(mat< 4, 4, T, Q > const &m, vec< 3, T, Q > const &normal)
Build planar projection matrix along normal axis. 
GLM_FUNC_DECL mat< 4, 4, T, Q > scale(mat< 4, 4, T, Q > const &m, vec< 3, T, Q > const &v)
Builds a scale 4 * 4 matrix created from 3 scalars. 
GLM_FUNC_DECL mat< 3, 3, T, Q > proj2D(mat< 3, 3, T, Q > const &m, vec< 3, T, Q > const &normal)
Build planar projection matrix along normal axis. 
GLM_FUNC_DECL mat< 4, 4, T, Q > scaleBias(mat< 4, 4, T, Q > const &m, T scale, T bias)
Build a scale bias matrix. 
GLM_FUNC_DECL mat< 3, 3, T, Q > shearY2D(mat< 3, 3, T, Q > const &m, T x)
Transforms a matrix with a shearing on Y axis. 
GLM_FUNC_DECL mat< 4, 4, T, Q > shearZ3D(mat< 4, 4, T, Q > const &m, T x, T y)
Transforms a matrix with a shearing on Z axis.