00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039 #pragma once
00040
00041
00042 #include "../glm.hpp"
00043
00044 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
00045 # pragma message("GLM: GLM_GTX_matrix_major_storage extension included")
00046 #endif
00047
00048 namespace glm
00049 {
00052
00055 template <typename T, precision P>
00056 GLM_FUNC_DECL detail::tmat2x2<T, P> rowMajor2(
00057 detail::tvec2<T, P> const & v1,
00058 detail::tvec2<T, P> const & v2);
00059
00062 template <typename T, precision P>
00063 GLM_FUNC_DECL detail::tmat2x2<T, P> rowMajor2(
00064 detail::tmat2x2<T, P> const & m);
00065
00068 template <typename T, precision P>
00069 GLM_FUNC_DECL detail::tmat3x3<T, P> rowMajor3(
00070 detail::tvec3<T, P> const & v1,
00071 detail::tvec3<T, P> const & v2,
00072 detail::tvec3<T, P> const & v3);
00073
00076 template <typename T, precision P>
00077 GLM_FUNC_DECL detail::tmat3x3<T, P> rowMajor3(
00078 detail::tmat3x3<T, P> const & m);
00079
00082 template <typename T, precision P>
00083 GLM_FUNC_DECL detail::tmat4x4<T, P> rowMajor4(
00084 detail::tvec4<T, P> const & v1,
00085 detail::tvec4<T, P> const & v2,
00086 detail::tvec4<T, P> const & v3,
00087 detail::tvec4<T, P> const & v4);
00088
00091 template <typename T, precision P>
00092 GLM_FUNC_DECL detail::tmat4x4<T, P> rowMajor4(
00093 detail::tmat4x4<T, P> const & m);
00094
00097 template <typename T, precision P>
00098 GLM_FUNC_DECL detail::tmat2x2<T, P> colMajor2(
00099 detail::tvec2<T, P> const & v1,
00100 detail::tvec2<T, P> const & v2);
00101
00104 template <typename T, precision P>
00105 GLM_FUNC_DECL detail::tmat2x2<T, P> colMajor2(
00106 detail::tmat2x2<T, P> const & m);
00107
00110 template <typename T, precision P>
00111 GLM_FUNC_DECL detail::tmat3x3<T, P> colMajor3(
00112 detail::tvec3<T, P> const & v1,
00113 detail::tvec3<T, P> const & v2,
00114 detail::tvec3<T, P> const & v3);
00115
00118 template <typename T, precision P>
00119 GLM_FUNC_DECL detail::tmat3x3<T, P> colMajor3(
00120 detail::tmat3x3<T, P> const & m);
00121
00124 template <typename T, precision P>
00125 GLM_FUNC_DECL detail::tmat4x4<T, P> colMajor4(
00126 detail::tvec4<T, P> const & v1,
00127 detail::tvec4<T, P> const & v2,
00128 detail::tvec4<T, P> const & v3,
00129 detail::tvec4<T, P> const & v4);
00130
00133 template <typename T, precision P>
00134 GLM_FUNC_DECL detail::tmat4x4<T, P> colMajor4(
00135 detail::tmat4x4<T, P> const & m);
00136
00138 }
00139
00140 #include "matrix_major_storage.inl"