diff options
Diffstat (limited to '')
-rw-r--r-- | external/include/glm/gtc/type_ptr.hpp | 126 |
1 files changed, 104 insertions, 22 deletions
diff --git a/external/include/glm/gtc/type_ptr.hpp b/external/include/glm/gtc/type_ptr.hpp index 008665e..5c15cc4 100644 --- a/external/include/glm/gtc/type_ptr.hpp +++ b/external/include/glm/gtc/type_ptr.hpp @@ -2,19 +2,20 @@ /// @file glm/gtc/type_ptr.hpp /// /// @see core (dependence) -/// @see gtc_half_float (dependence) /// @see gtc_quaternion (dependence) /// /// @defgroup gtc_type_ptr GLM_GTC_type_ptr /// @ingroup gtc /// -/// @brief Handles the interaction between pointers and vector, matrix types. +/// Include <glm/gtc/type_ptr.hpp> to use the features of this extension. +/// +/// Handles the interaction between pointers and vector, matrix types. /// /// This extension defines an overloaded function, glm::value_ptr, which /// takes any of the \ref core_template "core template types". It returns /// a pointer to the memory layout of the object. Matrix types store their values /// in column-major order. -/// +/// /// This is useful for uploading data to matrices or copying data to buffer objects. /// /// Example: @@ -29,12 +30,13 @@ /// glUniformMatrix4fv(uniformMatrixLoc, 1, GL_FALSE, glm::value_ptr(someMatrix)); /// @endcode /// -/// <glm/gtc/type_ptr.hpp> need to be included to use these functionalities. +/// <glm/gtc/type_ptr.hpp> need to be included to use the features of this extension. #pragma once // Dependency: #include "../gtc/quaternion.hpp" +#include "../gtc/vec1.hpp" #include "../vec2.hpp" #include "../vec3.hpp" #include "../vec4.hpp" @@ -61,82 +63,162 @@ namespace glm /// Return the constant address to the data of the input parameter. /// @see gtc_type_ptr template<typename genType> - GLM_FUNC_DECL typename genType::value_type const * value_ptr(genType const & vec); + GLM_FUNC_DECL typename genType::value_type const * value_ptr(genType const& v); + + /// Build a vector from a pointer. + /// @see gtc_type_ptr + template <typename T, qualifier Q> + GLM_FUNC_DECL vec<1, T, Q> make_vec1(vec<1, T, Q> const& v); + + /// Build a vector from a pointer. + /// @see gtc_type_ptr + template <typename T, qualifier Q> + GLM_FUNC_DECL vec<1, T, Q> make_vec1(vec<2, T, Q> const& v); + + /// Build a vector from a pointer. + /// @see gtc_type_ptr + template <typename T, qualifier Q> + GLM_FUNC_DECL vec<1, T, Q> make_vec1(vec<3, T, Q> const& v); + + /// Build a vector from a pointer. + /// @see gtc_type_ptr + template <typename T, qualifier Q> + GLM_FUNC_DECL vec<1, T, Q> make_vec1(vec<4, T, Q> const& v); + + /// Build a vector from a pointer. + /// @see gtc_type_ptr + template <typename T, qualifier Q> + GLM_FUNC_DECL vec<2, T, Q> make_vec2(vec<1, T, Q> const& v); + + /// Build a vector from a pointer. + /// @see gtc_type_ptr + template <typename T, qualifier Q> + GLM_FUNC_DECL vec<2, T, Q> make_vec2(vec<2, T, Q> const& v); + + /// Build a vector from a pointer. + /// @see gtc_type_ptr + template <typename T, qualifier Q> + GLM_FUNC_DECL vec<2, T, Q> make_vec2(vec<3, T, Q> const& v); + + /// Build a vector from a pointer. + /// @see gtc_type_ptr + template <typename T, qualifier Q> + GLM_FUNC_DECL vec<2, T, Q> make_vec2(vec<4, T, Q> const& v); + + /// Build a vector from a pointer. + /// @see gtc_type_ptr + template <typename T, qualifier Q> + GLM_FUNC_DECL vec<3, T, Q> make_vec3(vec<1, T, Q> const& v); + + /// Build a vector from a pointer. + /// @see gtc_type_ptr + template <typename T, qualifier Q> + GLM_FUNC_DECL vec<3, T, Q> make_vec3(vec<2, T, Q> const& v); + + /// Build a vector from a pointer. + /// @see gtc_type_ptr + template <typename T, qualifier Q> + GLM_FUNC_DECL vec<3, T, Q> make_vec3(vec<3, T, Q> const& v); + + /// Build a vector from a pointer. + /// @see gtc_type_ptr + template <typename T, qualifier Q> + GLM_FUNC_DECL vec<3, T, Q> make_vec3(vec<4, T, Q> const& v); + + /// Build a vector from a pointer. + /// @see gtc_type_ptr + template <typename T, qualifier Q> + GLM_FUNC_DECL vec<4, T, Q> make_vec4(vec<1, T, Q> const& v); + + /// Build a vector from a pointer. + /// @see gtc_type_ptr + template <typename T, qualifier Q> + GLM_FUNC_DECL vec<4, T, Q> make_vec4(vec<2, T, Q> const& v); + + /// Build a vector from a pointer. + /// @see gtc_type_ptr + template <typename T, qualifier Q> + GLM_FUNC_DECL vec<4, T, Q> make_vec4(vec<3, T, Q> const& v); + + /// Build a vector from a pointer. + /// @see gtc_type_ptr + template <typename T, qualifier Q> + GLM_FUNC_DECL vec<4, T, Q> make_vec4(vec<4, T, Q> const& v); /// Build a vector from a pointer. /// @see gtc_type_ptr template<typename T> - GLM_FUNC_DECL tvec2<T, defaultp> make_vec2(T const * const ptr); + GLM_FUNC_DECL vec<2, T, defaultp> make_vec2(T const * const ptr); /// Build a vector from a pointer. /// @see gtc_type_ptr template<typename T> - GLM_FUNC_DECL tvec3<T, defaultp> make_vec3(T const * const ptr); + GLM_FUNC_DECL vec<3, T, defaultp> make_vec3(T const * const ptr); /// Build a vector from a pointer. /// @see gtc_type_ptr template<typename T> - GLM_FUNC_DECL tvec4<T, defaultp> make_vec4(T const * const ptr); + GLM_FUNC_DECL vec<4, T, defaultp> make_vec4(T const * const ptr); /// Build a matrix from a pointer. /// @see gtc_type_ptr template<typename T> - GLM_FUNC_DECL tmat2x2<T, defaultp> make_mat2x2(T const * const ptr); + GLM_FUNC_DECL mat<2, 2, T, defaultp> make_mat2x2(T const * const ptr); /// Build a matrix from a pointer. /// @see gtc_type_ptr template<typename T> - GLM_FUNC_DECL tmat2x3<T, defaultp> make_mat2x3(T const * const ptr); + GLM_FUNC_DECL mat<2, 3, T, defaultp> make_mat2x3(T const * const ptr); /// Build a matrix from a pointer. /// @see gtc_type_ptr template<typename T> - GLM_FUNC_DECL tmat2x4<T, defaultp> make_mat2x4(T const * const ptr); + GLM_FUNC_DECL mat<2, 4, T, defaultp> make_mat2x4(T const * const ptr); /// Build a matrix from a pointer. /// @see gtc_type_ptr template<typename T> - GLM_FUNC_DECL tmat3x2<T, defaultp> make_mat3x2(T const * const ptr); + GLM_FUNC_DECL mat<3, 2, T, defaultp> make_mat3x2(T const * const ptr); /// Build a matrix from a pointer. /// @see gtc_type_ptr template<typename T> - GLM_FUNC_DECL tmat3x3<T, defaultp> make_mat3x3(T const * const ptr); + GLM_FUNC_DECL mat<3, 3, T, defaultp> make_mat3x3(T const * const ptr); /// Build a matrix from a pointer. /// @see gtc_type_ptr template<typename T> - GLM_FUNC_DECL tmat3x4<T, defaultp> make_mat3x4(T const * const ptr); + GLM_FUNC_DECL mat<3, 4, T, defaultp> make_mat3x4(T const * const ptr); /// Build a matrix from a pointer. /// @see gtc_type_ptr template<typename T> - GLM_FUNC_DECL tmat4x2<T, defaultp> make_mat4x2(T const * const ptr); + GLM_FUNC_DECL mat<4, 2, T, defaultp> make_mat4x2(T const * const ptr); /// Build a matrix from a pointer. /// @see gtc_type_ptr template<typename T> - GLM_FUNC_DECL tmat4x3<T, defaultp> make_mat4x3(T const * const ptr); + GLM_FUNC_DECL mat<4, 3, T, defaultp> make_mat4x3(T const * const ptr); /// Build a matrix from a pointer. /// @see gtc_type_ptr template<typename T> - GLM_FUNC_DECL tmat4x4<T, defaultp> make_mat4x4(T const * const ptr); - + GLM_FUNC_DECL mat<4, 4, T, defaultp> make_mat4x4(T const * const ptr); + /// Build a matrix from a pointer. /// @see gtc_type_ptr template<typename T> - GLM_FUNC_DECL tmat2x2<T, defaultp> make_mat2(T const * const ptr); + GLM_FUNC_DECL mat<2, 2, T, defaultp> make_mat2(T const * const ptr); /// Build a matrix from a pointer. /// @see gtc_type_ptr template<typename T> - GLM_FUNC_DECL tmat3x3<T, defaultp> make_mat3(T const * const ptr); - + GLM_FUNC_DECL mat<3, 3, T, defaultp> make_mat3(T const * const ptr); + /// Build a matrix from a pointer. /// @see gtc_type_ptr template<typename T> - GLM_FUNC_DECL tmat4x4<T, defaultp> make_mat4(T const * const ptr); + GLM_FUNC_DECL mat<4, 4, T, defaultp> make_mat4(T const * const ptr); /// Build a quaternion from a pointer. /// @see gtc_type_ptr |