37 #include "../gtc/quaternion.hpp"
38 #include "../gtc/vec1.hpp"
39 #include "../vec2.hpp"
40 #include "../vec3.hpp"
41 #include "../vec4.hpp"
42 #include "../mat2x2.hpp"
43 #include "../mat2x3.hpp"
44 #include "../mat2x4.hpp"
45 #include "../mat3x2.hpp"
46 #include "../mat3x3.hpp"
47 #include "../mat3x4.hpp"
48 #include "../mat4x2.hpp"
49 #include "../mat4x3.hpp"
50 #include "../mat4x4.hpp"
53 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
54 # pragma message("GLM: GLM_GTC_type_ptr extension included")
64 template<
typename genType>
65 GLM_FUNC_DECL
typename genType::value_type
const *
value_ptr(genType
const& v);
69 template <
typename T, qualifier Q>
70 GLM_FUNC_DECL vec<1, T, Q>
make_vec1(vec<1, T, Q>
const& v);
74 template <
typename T, qualifier Q>
75 GLM_FUNC_DECL vec<1, T, Q>
make_vec1(vec<2, T, Q>
const& v);
79 template <
typename T, qualifier Q>
80 GLM_FUNC_DECL vec<1, T, Q>
make_vec1(vec<3, T, Q>
const& v);
84 template <
typename T, qualifier Q>
85 GLM_FUNC_DECL vec<1, T, Q>
make_vec1(vec<4, T, Q>
const& v);
89 template <
typename T, qualifier Q>
90 GLM_FUNC_DECL vec<2, T, Q>
make_vec2(vec<1, T, Q>
const& v);
94 template <
typename T, qualifier Q>
95 GLM_FUNC_DECL vec<2, T, Q>
make_vec2(vec<2, T, Q>
const& v);
99 template <
typename T, qualifier Q>
100 GLM_FUNC_DECL vec<2, T, Q>
make_vec2(vec<3, T, Q>
const& v);
104 template <
typename T, qualifier Q>
105 GLM_FUNC_DECL vec<2, T, Q>
make_vec2(vec<4, T, Q>
const& v);
109 template <
typename T, qualifier Q>
110 GLM_FUNC_DECL vec<3, T, Q>
make_vec3(vec<1, T, Q>
const& v);
114 template <
typename T, qualifier Q>
115 GLM_FUNC_DECL vec<3, T, Q>
make_vec3(vec<2, T, Q>
const& v);
119 template <
typename T, qualifier Q>
120 GLM_FUNC_DECL vec<3, T, Q>
make_vec3(vec<3, T, Q>
const& v);
124 template <
typename T, qualifier Q>
125 GLM_FUNC_DECL vec<3, T, Q>
make_vec3(vec<4, T, Q>
const& v);
129 template <
typename T, qualifier Q>
130 GLM_FUNC_DECL vec<4, T, Q>
make_vec4(vec<1, T, Q>
const& v);
134 template <
typename T, qualifier Q>
135 GLM_FUNC_DECL vec<4, T, Q>
make_vec4(vec<2, T, Q>
const& v);
139 template <
typename T, qualifier Q>
140 GLM_FUNC_DECL vec<4, T, Q>
make_vec4(vec<3, T, Q>
const& v);
144 template <
typename T, qualifier Q>
145 GLM_FUNC_DECL vec<4, T, Q>
make_vec4(vec<4, T, Q>
const& v);
150 GLM_FUNC_DECL vec<2, T, defaultp>
make_vec2(T
const *
const ptr);
155 GLM_FUNC_DECL vec<3, T, defaultp>
make_vec3(T
const *
const ptr);
160 GLM_FUNC_DECL vec<4, T, defaultp>
make_vec4(T
const *
const ptr);
165 GLM_FUNC_DECL mat<2, 2, T, defaultp>
make_mat2x2(T
const *
const ptr);
170 GLM_FUNC_DECL mat<2, 3, T, defaultp>
make_mat2x3(T
const *
const ptr);
175 GLM_FUNC_DECL mat<2, 4, T, defaultp>
make_mat2x4(T
const *
const ptr);
180 GLM_FUNC_DECL mat<3, 2, T, defaultp>
make_mat3x2(T
const *
const ptr);
185 GLM_FUNC_DECL mat<3, 3, T, defaultp>
make_mat3x3(T
const *
const ptr);
190 GLM_FUNC_DECL mat<3, 4, T, defaultp>
make_mat3x4(T
const *
const ptr);
195 GLM_FUNC_DECL mat<4, 2, T, defaultp>
make_mat4x2(T
const *
const ptr);
200 GLM_FUNC_DECL mat<4, 3, T, defaultp>
make_mat4x3(T
const *
const ptr);
205 GLM_FUNC_DECL mat<4, 4, T, defaultp>
make_mat4x4(T
const *
const ptr);
210 GLM_FUNC_DECL mat<2, 2, T, defaultp>
make_mat2(T
const *
const ptr);
215 GLM_FUNC_DECL mat<3, 3, T, defaultp>
make_mat3(T
const *
const ptr);
220 GLM_FUNC_DECL mat<4, 4, T, defaultp>
make_mat4(T
const *
const ptr);
225 GLM_FUNC_DECL qua<T, defaultp>
make_quat(T
const *
const ptr);
230 #include "type_ptr.inl"