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_MESSAGES_ENABLED && !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< 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. 
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< 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 > 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< 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< 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< 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 > scale(mat< 4, 4, T, Q > const &m, vec< 3, T, Q > const &v)
Builds a scale 4 * 4 matrix created from 3 scalars.