diff options
author | LaG1924 <12997935+LaG1924@users.noreply.github.com> | 2018-08-21 17:40:38 +0200 |
---|---|---|
committer | LaG1924 <12997935+LaG1924@users.noreply.github.com> | 2018-08-21 17:40:38 +0200 |
commit | 2877f4eda3d1b0c7431039e3142ecf1a282a34b1 (patch) | |
tree | 58ad35e27ab2a3b8955f5adbf28f296670681ffc /external/include/glm/gtc/type_ptr.inl | |
parent | Smooth sun movement (diff) | |
download | AltCraft-2877f4eda3d1b0c7431039e3142ecf1a282a34b1.tar AltCraft-2877f4eda3d1b0c7431039e3142ecf1a282a34b1.tar.gz AltCraft-2877f4eda3d1b0c7431039e3142ecf1a282a34b1.tar.bz2 AltCraft-2877f4eda3d1b0c7431039e3142ecf1a282a34b1.tar.lz AltCraft-2877f4eda3d1b0c7431039e3142ecf1a282a34b1.tar.xz AltCraft-2877f4eda3d1b0c7431039e3142ecf1a282a34b1.tar.zst AltCraft-2877f4eda3d1b0c7431039e3142ecf1a282a34b1.zip |
Diffstat (limited to '')
-rw-r--r-- | external/include/glm/gtc/type_ptr.inl | 621 |
1 files changed, 279 insertions, 342 deletions
diff --git a/external/include/glm/gtc/type_ptr.inl b/external/include/glm/gtc/type_ptr.inl index 3aa6ae6..7a9e21e 100644 --- a/external/include/glm/gtc/type_ptr.inl +++ b/external/include/glm/gtc/type_ptr.inl @@ -8,437 +8,374 @@ namespace glm /// @addtogroup gtc_type_ptr /// @{ - /// Return the constant address to the data of the vector input. - /// @see gtc_type_ptr - template<typename T, precision P> - GLM_FUNC_QUALIFIER T const * value_ptr - ( - tvec2<T, P> const & vec - ) - { - return &(vec.x); + template<typename T, qualifier Q> + GLM_FUNC_QUALIFIER T const* value_ptr(vec<2, T, Q> const& v) + { + return &(v.x); + } + + template<typename T, qualifier Q> + GLM_FUNC_QUALIFIER T* value_ptr(vec<2, T, Q>& v) + { + return &(v.x); + } + + template<typename T, qualifier Q> + GLM_FUNC_QUALIFIER T const * value_ptr(vec<3, T, Q> const& v) + { + return &(v.x); + } + + template<typename T, qualifier Q> + GLM_FUNC_QUALIFIER T* value_ptr(vec<3, T, Q>& v) + { + return &(v.x); + } + + template<typename T, qualifier Q> + GLM_FUNC_QUALIFIER T const* value_ptr(vec<4, T, Q> const& v) + { + return &(v.x); + } + + template<typename T, qualifier Q> + GLM_FUNC_QUALIFIER T* value_ptr(vec<4, T, Q>& v) + { + return &(v.x); + } + + template<typename T, qualifier Q> + GLM_FUNC_QUALIFIER T const* value_ptr(mat<2, 2, T, Q> const& m) + { + return &(m[0].x); + } + + template<typename T, qualifier Q> + GLM_FUNC_QUALIFIER T* value_ptr(mat<2, 2, T, Q>& m) + { + return &(m[0].x); + } + + template<typename T, qualifier Q> + GLM_FUNC_QUALIFIER T const* value_ptr(mat<3, 3, T, Q> const& m) + { + return &(m[0].x); } - //! Return the address to the data of the vector input. - /// @see gtc_type_ptr - template<typename T, precision P> - GLM_FUNC_QUALIFIER T * value_ptr - ( - tvec2<T, P> & vec - ) - { - return &(vec.x); + template<typename T, qualifier Q> + GLM_FUNC_QUALIFIER T* value_ptr(mat<3, 3, T, Q>& m) + { + return &(m[0].x); } - /// Return the constant address to the data of the vector input. - /// @see gtc_type_ptr - template<typename T, precision P> - GLM_FUNC_QUALIFIER T const * value_ptr - ( - tvec3<T, P> const & vec - ) - { - return &(vec.x); + template<typename T, qualifier Q> + GLM_FUNC_QUALIFIER T const* value_ptr(mat<4, 4, T, Q> const& m) + { + return &(m[0].x); } - //! Return the address to the data of the vector input. - /// @see gtc_type_ptr - template<typename T, precision P> - GLM_FUNC_QUALIFIER T * value_ptr - ( - tvec3<T, P> & vec - ) - { - return &(vec.x); + template<typename T, qualifier Q> + GLM_FUNC_QUALIFIER T* value_ptr(mat<4, 4, T, Q>& m) + { + return &(m[0].x); } - - /// Return the constant address to the data of the vector input. - /// @see gtc_type_ptr - template<typename T, precision P> - GLM_FUNC_QUALIFIER T const * value_ptr - ( - tvec4<T, P> const & vec - ) - { - return &(vec.x); + + template<typename T, qualifier Q> + GLM_FUNC_QUALIFIER T const* value_ptr(mat<2, 3, T, Q> const& m) + { + return &(m[0].x); } - //! Return the address to the data of the vector input. - //! From GLM_GTC_type_ptr extension. - template<typename T, precision P> - GLM_FUNC_QUALIFIER T * value_ptr - ( - tvec4<T, P> & vec - ) - { - return &(vec.x); + template<typename T, qualifier Q> + GLM_FUNC_QUALIFIER T* value_ptr(mat<2, 3, T, Q>& m) + { + return &(m[0].x); } - /// Return the constant address to the data of the matrix input. - /// @see gtc_type_ptr - template<typename T, precision P> - GLM_FUNC_QUALIFIER T const * value_ptr - ( - tmat2x2<T, P> const & mat - ) - { - return &(mat[0].x); - } - - //! Return the address to the data of the matrix input. - /// @see gtc_type_ptr - template<typename T, precision P> - GLM_FUNC_QUALIFIER T * value_ptr - ( - tmat2x2<T, P> & mat - ) - { - return &(mat[0].x); + template<typename T, qualifier Q> + GLM_FUNC_QUALIFIER T const* value_ptr(mat<3, 2, T, Q> const& m) + { + return &(m[0].x); } - - /// Return the constant address to the data of the matrix input. - /// @see gtc_type_ptr - template<typename T, precision P> - GLM_FUNC_QUALIFIER T const * value_ptr - ( - tmat3x3<T, P> const & mat - ) - { - return &(mat[0].x); - } - - //! Return the address to the data of the matrix input. - /// @see gtc_type_ptr - template<typename T, precision P> - GLM_FUNC_QUALIFIER T * value_ptr - ( - tmat3x3<T, P> & mat - ) - { - return &(mat[0].x); + + template<typename T, qualifier Q> + GLM_FUNC_QUALIFIER T* value_ptr(mat<3, 2, T, Q>& m) + { + return &(m[0].x); } - - /// Return the constant address to the data of the matrix input. - /// @see gtc_type_ptr - template<typename T, precision P> - GLM_FUNC_QUALIFIER T const * value_ptr - ( - tmat4x4<T, P> const & mat - ) - { - return &(mat[0].x); - } - - //! Return the address to the data of the matrix input. - //! From GLM_GTC_type_ptr extension. - template<typename T, precision P> - GLM_FUNC_QUALIFIER T * value_ptr - ( - tmat4x4<T, P> & mat - ) - { - return &(mat[0].x); - } - - /// Return the constant address to the data of the matrix input. - /// @see gtc_type_ptr - template<typename T, precision P> - GLM_FUNC_QUALIFIER T const * value_ptr - ( - tmat2x3<T, P> const & mat - ) - { - return &(mat[0].x); - } - - //! Return the address to the data of the matrix input. - /// @see gtc_type_ptr - template<typename T, precision P> - GLM_FUNC_QUALIFIER T * value_ptr - ( - tmat2x3<T, P> & mat - ) - { - return &(mat[0].x); - } - - /// Return the constant address to the data of the matrix input. - /// @see gtc_type_ptr - template<typename T, precision P> - GLM_FUNC_QUALIFIER T const * value_ptr - ( - tmat3x2<T, P> const & mat - ) + + template<typename T, qualifier Q> + GLM_FUNC_QUALIFIER T const* value_ptr(mat<2, 4, T, Q> const& m) { - return &(mat[0].x); - } - - //! Return the address to the data of the matrix input. - /// @see gtc_type_ptr - template<typename T, precision P> - GLM_FUNC_QUALIFIER T * value_ptr - ( - tmat3x2<T, P> & mat - ) - { - return &(mat[0].x); - } - - /// Return the constant address to the data of the matrix input. - /// @see gtc_type_ptr - template<typename T, precision P> - GLM_FUNC_QUALIFIER T const * value_ptr - ( - tmat2x4<T, P> const & mat - ) - { - return &(mat[0].x); - } - - //! Return the address to the data of the matrix input. - /// @see gtc_type_ptr - template<typename T, precision P> - GLM_FUNC_QUALIFIER T * value_ptr - ( - tmat2x4<T, P> & mat - ) + return &(m[0].x); + } + + template<typename T, qualifier Q> + GLM_FUNC_QUALIFIER T* value_ptr(mat<2, 4, T, Q>& m) { - return &(mat[0].x); - } - - /// Return the constant address to the data of the matrix input. - /// @see gtc_type_ptr - template<typename T, precision P> - GLM_FUNC_QUALIFIER T const * value_ptr - ( - tmat4x2<T, P> const & mat - ) - { - return &(mat[0].x); - } - - //! Return the address to the data of the matrix input. - /// @see gtc_type_ptr - template<typename T, precision P> - GLM_FUNC_QUALIFIER T * value_ptr - ( - tmat4x2<T, P> & mat - ) + return &(m[0].x); + } + + template<typename T, qualifier Q> + GLM_FUNC_QUALIFIER T const* value_ptr(mat<4, 2, T, Q> const& m) + { + return &(m[0].x); + } + + template<typename T, qualifier Q> + GLM_FUNC_QUALIFIER T* value_ptr(mat<4, 2, T, Q>& m) + { + return &(m[0].x); + } + + template<typename T, qualifier Q> + GLM_FUNC_QUALIFIER T const* value_ptr(mat<3, 4, T, Q> const& m) + { + return &(m[0].x); + } + + template<typename T, qualifier Q> + GLM_FUNC_QUALIFIER T* value_ptr(mat<3, 4, T, Q>& m) { - return &(mat[0].x); + return &(m[0].x); } - - /// Return the constant address to the data of the matrix input. - /// @see gtc_type_ptr - template<typename T, precision P> - GLM_FUNC_QUALIFIER T const * value_ptr - ( - tmat3x4<T, P> const & mat - ) + + template<typename T, qualifier Q> + GLM_FUNC_QUALIFIER T const* value_ptr(mat<4, 3, T, Q> const& m) { - return &(mat[0].x); - } + return &(m[0].x); + } - //! Return the address to the data of the matrix input. - /// @see gtc_type_ptr - template<typename T, precision P> - GLM_FUNC_QUALIFIER T * value_ptr - ( - tmat3x4<T, P> & mat - ) + template<typename T, qualifier Q> + GLM_FUNC_QUALIFIER T * value_ptr(mat<4, 3, T, Q>& m) { - return &(mat[0].x); - } - - /// Return the constant address to the data of the matrix input. - /// @see gtc_type_ptr - template<typename T, precision P> - GLM_FUNC_QUALIFIER T const * value_ptr - ( - tmat4x3<T, P> const & mat - ) - { - return &(mat[0].x); - } - - /// Return the address to the data of the matrix input. - /// @see gtc_type_ptr - template<typename T, precision P> - GLM_FUNC_QUALIFIER T * value_ptr(tmat4x3<T, P> & mat) - { - return &(mat[0].x); + return &(m[0].x); } - /// Return the constant address to the data of the input parameter. - /// @see gtc_type_ptr - template<typename T, precision P> - GLM_FUNC_QUALIFIER T const * value_ptr - ( - tquat<T, P> const & q - ) + template<typename T, qualifier Q> + GLM_FUNC_QUALIFIER T const * value_ptr(tquat<T, Q> const& q) { return &(q[0]); } - /// Return the address to the data of the quaternion input. - /// @see gtc_type_ptr - template<typename T, precision P> - GLM_FUNC_QUALIFIER T * value_ptr - ( - tquat<T, P> & q - ) + template<typename T, qualifier Q> + GLM_FUNC_QUALIFIER T* value_ptr(tquat<T, Q>& q) { return &(q[0]); } - /// Build a vector from a pointer. - /// @see gtc_type_ptr - template <typename T> - GLM_FUNC_QUALIFIER tvec2<T, defaultp> make_vec2(T const * const ptr) + template <typename T, qualifier Q> + inline vec<1, T, Q> make_vec1(vec<1, T, Q> const& v) { - tvec2<T, defaultp> Result; - memcpy(value_ptr(Result), ptr, sizeof(tvec2<T, defaultp>)); + return v; + } + + template <typename T, qualifier Q> + inline vec<1, T, Q> make_vec1(vec<2, T, Q> const& v) + { + return vec<1, T, Q>(v); + } + + template <typename T, qualifier Q> + inline vec<1, T, Q> make_vec1(vec<3, T, Q> const& v) + { + return vec<1, T, Q>(v); + } + + template <typename T, qualifier Q> + inline vec<1, T, Q> make_vec1(vec<4, T, Q> const& v) + { + return vec<1, T, Q>(v); + } + + template <typename T, qualifier Q> + inline vec<2, T, Q> make_vec2(vec<1, T, Q> const& v) + { + return vec<2, T, Q>(v.x, static_cast<T>(0)); + } + + template <typename T, qualifier Q> + inline vec<2, T, Q> make_vec2(vec<2, T, Q> const& v) + { + return v; + } + + template <typename T, qualifier Q> + inline vec<2, T, Q> make_vec2(vec<3, T, Q> const& v) + { + return vec<2, T, Q>(v); + } + + template <typename T, qualifier Q> + inline vec<2, T, Q> make_vec2(vec<4, T, Q> const& v) + { + return vec<2, T, Q>(v); + } + + template <typename T, qualifier Q> + inline vec<3, T, Q> make_vec3(vec<1, T, Q> const& v) + { + return vec<3, T, Q>(v.x, static_cast<T>(0), static_cast<T>(0)); + } + + template <typename T, qualifier Q> + inline vec<3, T, Q> make_vec3(vec<2, T, Q> const& v) + { + return vec<3, T, Q>(v.x, v.y, static_cast<T>(0)); + } + + template <typename T, qualifier Q> + inline vec<3, T, Q> make_vec3(vec<3, T, Q> const& v) + { + return v; + } + + template <typename T, qualifier Q> + inline vec<3, T, Q> make_vec3(vec<4, T, Q> const& v) + { + return vec<3, T, Q>(v); + } + + template <typename T, qualifier Q> + inline vec<4, T, Q> make_vec4(vec<1, T, Q> const& v) + { + return vec<4, T, Q>(v.x, static_cast<T>(0), static_cast<T>(0), static_cast<T>(1)); + } + + template <typename T, qualifier Q> + inline vec<4, T, Q> make_vec4(vec<2, T, Q> const& v) + { + return vec<4, T, Q>(v.x, v.y, static_cast<T>(0), static_cast<T>(1)); + } + + template <typename T, qualifier Q> + inline vec<4, T, Q> make_vec4(vec<3, T, Q> const& v) + { + return vec<4, T, Q>(v.x, v.y, v.z, static_cast<T>(1)); + } + + template <typename T, qualifier Q> + inline vec<4, T, Q> make_vec4(vec<4, T, Q> const& v) + { + return v; + } + + template<typename T> + GLM_FUNC_QUALIFIER vec<2, T, defaultp> make_vec2(T const *const ptr) + { + vec<2, T, defaultp> Result; + memcpy(value_ptr(Result), ptr, sizeof(vec<2, T, defaultp>)); return Result; } - /// Build a vector from a pointer. - /// @see gtc_type_ptr - template <typename T> - GLM_FUNC_QUALIFIER tvec3<T, defaultp> make_vec3(T const * const ptr) + template<typename T> + GLM_FUNC_QUALIFIER vec<3, T, defaultp> make_vec3(T const *const ptr) { - tvec3<T, defaultp> Result; - memcpy(value_ptr(Result), ptr, sizeof(tvec3<T, defaultp>)); + vec<3, T, defaultp> Result; + memcpy(value_ptr(Result), ptr, sizeof(vec<3, T, defaultp>)); return Result; } - /// Build a vector from a pointer. - /// @see gtc_type_ptr - template <typename T> - GLM_FUNC_QUALIFIER tvec4<T, defaultp> make_vec4(T const * const ptr) + template<typename T> + GLM_FUNC_QUALIFIER vec<4, T, defaultp> make_vec4(T const *const ptr) { - tvec4<T, defaultp> Result; - memcpy(value_ptr(Result), ptr, sizeof(tvec4<T, defaultp>)); + vec<4, T, defaultp> Result; + memcpy(value_ptr(Result), ptr, sizeof(vec<4, T, defaultp>)); return Result; } - /// Build a matrix from a pointer. - /// @see gtc_type_ptr - template <typename T> - GLM_FUNC_QUALIFIER tmat2x2<T, defaultp> make_mat2x2(T const * const ptr) + template<typename T> + GLM_FUNC_QUALIFIER mat<2, 2, T, defaultp> make_mat2x2(T const *const ptr) { - tmat2x2<T, defaultp> Result; - memcpy(value_ptr(Result), ptr, sizeof(tmat2x2<T, defaultp>)); + mat<2, 2, T, defaultp> Result; + memcpy(value_ptr(Result), ptr, sizeof(mat<2, 2, T, defaultp>)); return Result; } - /// Build a matrix from a pointer. - /// @see gtc_type_ptr - template <typename T> - GLM_FUNC_QUALIFIER tmat2x3<T, defaultp> make_mat2x3(T const * const ptr) + template<typename T> + GLM_FUNC_QUALIFIER mat<2, 3, T, defaultp> make_mat2x3(T const *const ptr) { - tmat2x3<T, defaultp> Result; - memcpy(value_ptr(Result), ptr, sizeof(tmat2x3<T, defaultp>)); + mat<2, 3, T, defaultp> Result; + memcpy(value_ptr(Result), ptr, sizeof(mat<2, 3, T, defaultp>)); return Result; } - /// Build a matrix from a pointer. - /// @see gtc_type_ptr - template <typename T> - GLM_FUNC_QUALIFIER tmat2x4<T, defaultp> make_mat2x4(T const * const ptr) + template<typename T> + GLM_FUNC_QUALIFIER mat<2, 4, T, defaultp> make_mat2x4(T const *const ptr) { - tmat2x4<T, defaultp> Result; - memcpy(value_ptr(Result), ptr, sizeof(tmat2x4<T, defaultp>)); + mat<2, 4, T, defaultp> Result; + memcpy(value_ptr(Result), ptr, sizeof(mat<2, 4, T, defaultp>)); return Result; } - /// Build a matrix from a pointer. - /// @see gtc_type_ptr - template <typename T> - GLM_FUNC_QUALIFIER tmat3x2<T, defaultp> make_mat3x2(T const * const ptr) + template<typename T> + GLM_FUNC_QUALIFIER mat<3, 2, T, defaultp> make_mat3x2(T const *const ptr) { - tmat3x2<T, defaultp> Result; - memcpy(value_ptr(Result), ptr, sizeof(tmat3x2<T, defaultp>)); + mat<3, 2, T, defaultp> Result; + memcpy(value_ptr(Result), ptr, sizeof(mat<3, 2, T, defaultp>)); return Result; } - //! Build a matrix from a pointer. - /// @see gtc_type_ptr - template <typename T> - GLM_FUNC_QUALIFIER tmat3x3<T, defaultp> make_mat3x3(T const * const ptr) + template<typename T> + GLM_FUNC_QUALIFIER mat<3, 3, T, defaultp> make_mat3x3(T const *const ptr) { - tmat3x3<T, defaultp> Result; - memcpy(value_ptr(Result), ptr, sizeof(tmat3x3<T, defaultp>)); + mat<3, 3, T, defaultp> Result; + memcpy(value_ptr(Result), ptr, sizeof(mat<3, 3, T, defaultp>)); return Result; } - //! Build a matrix from a pointer. - /// @see gtc_type_ptr - template <typename T> - GLM_FUNC_QUALIFIER tmat3x4<T, defaultp> make_mat3x4(T const * const ptr) + template<typename T> + GLM_FUNC_QUALIFIER mat<3, 4, T, defaultp> make_mat3x4(T const *const ptr) { - tmat3x4<T, defaultp> Result; - memcpy(value_ptr(Result), ptr, sizeof(tmat3x4<T, defaultp>)); + mat<3, 4, T, defaultp> Result; + memcpy(value_ptr(Result), ptr, sizeof(mat<3, 4, T, defaultp>)); return Result; } - //! Build a matrix from a pointer. - /// @see gtc_type_ptr - template <typename T> - GLM_FUNC_QUALIFIER tmat4x2<T, defaultp> make_mat4x2(T const * const ptr) + template<typename T> + GLM_FUNC_QUALIFIER mat<4, 2, T, defaultp> make_mat4x2(T const *const ptr) { - tmat4x2<T, defaultp> Result; - memcpy(value_ptr(Result), ptr, sizeof(tmat4x2<T, defaultp>)); + mat<4, 2, T, defaultp> Result; + memcpy(value_ptr(Result), ptr, sizeof(mat<4, 2, T, defaultp>)); return Result; } - //! Build a matrix from a pointer. - /// @see gtc_type_ptr - template <typename T> - GLM_FUNC_QUALIFIER tmat4x3<T, defaultp> make_mat4x3(T const * const ptr) + template<typename T> + GLM_FUNC_QUALIFIER mat<4, 3, T, defaultp> make_mat4x3(T const *const ptr) { - tmat4x3<T, defaultp> Result; - memcpy(value_ptr(Result), ptr, sizeof(tmat4x3<T, defaultp>)); + mat<4, 3, T, defaultp> Result; + memcpy(value_ptr(Result), ptr, sizeof(mat<4, 3, T, defaultp>)); return Result; } - //! Build a matrix from a pointer. - /// @see gtc_type_ptr - template <typename T> - GLM_FUNC_QUALIFIER tmat4x4<T, defaultp> make_mat4x4(T const * const ptr) + template<typename T> + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> make_mat4x4(T const *const ptr) { - tmat4x4<T, defaultp> Result; - memcpy(value_ptr(Result), ptr, sizeof(tmat4x4<T, defaultp>)); + mat<4, 4, T, defaultp> Result; + memcpy(value_ptr(Result), ptr, sizeof(mat<4, 4, T, defaultp>)); return Result; } - //! Build a matrix from a pointer. - /// @see gtc_type_ptr - template <typename T> - GLM_FUNC_QUALIFIER tmat2x2<T, defaultp> make_mat2(T const * const ptr) + template<typename T> + GLM_FUNC_QUALIFIER mat<2, 2, T, defaultp> make_mat2(T const *const ptr) { return make_mat2x2(ptr); } - //! Build a matrix from a pointer. - /// @see gtc_type_ptr - template <typename T> - GLM_FUNC_QUALIFIER tmat3x3<T, defaultp> make_mat3(T const * const ptr) + template<typename T> + GLM_FUNC_QUALIFIER mat<3, 3, T, defaultp> make_mat3(T const *const ptr) { return make_mat3x3(ptr); } - - //! Build a matrix from a pointer. - /// @see gtc_type_ptr - template <typename T> - GLM_FUNC_QUALIFIER tmat4x4<T, defaultp> make_mat4(T const * const ptr) + + template<typename T> + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> make_mat4(T const *const ptr) { return make_mat4x4(ptr); } - //! Build a quaternion from a pointer. - /// @see gtc_type_ptr - template <typename T> - GLM_FUNC_QUALIFIER tquat<T, defaultp> make_quat(T const * const ptr) + template<typename T> + GLM_FUNC_QUALIFIER tquat<T, defaultp> make_quat(T const *const ptr) { tquat<T, defaultp> Result; memcpy(value_ptr(Result), ptr, sizeof(tquat<T, defaultp>)); |