master
ブランチ master
ShaderPlayground / deps / glm / glm / gtx / matrix_operation.inl
2.2 KB、117行 生 Blame 履歴
1/// @ref gtx_matrix_operation
2
3namespace glm
4{
5 template<typename T, qualifier Q>
6 GLM_FUNC_QUALIFIER mat<2, 2, T, Q> diagonal2x2
7 (
8 vec<2, T, Q> const& v
9 )
10 {
11 mat<2, 2, T, Q> Result(static_cast<T>(1));
12 Result[0][0] = v[0];
13 Result[1][1] = v[1];
14 return Result;
15 }
16
17 template<typename T, qualifier Q>
18 GLM_FUNC_QUALIFIER mat<2, 3, T, Q> diagonal2x3
19 (
20 vec<2, T, Q> const& v
21 )
22 {
23 mat<2, 3, T, Q> Result(static_cast<T>(1));
24 Result[0][0] = v[0];
25 Result[1][1] = v[1];
26 return Result;
27 }
28
29 template<typename T, qualifier Q>
30 GLM_FUNC_QUALIFIER mat<2, 4, T, Q> diagonal2x4
31 (
32 vec<2, T, Q> const& v
33 )
34 {
35 mat<2, 4, T, Q> Result(static_cast<T>(1));
36 Result[0][0] = v[0];
37 Result[1][1] = v[1];
38 return Result;
39 }
40
41 template<typename T, qualifier Q>
42 GLM_FUNC_QUALIFIER mat<3, 2, T, Q> diagonal3x2
43 (
44 vec<2, T, Q> const& v
45 )
46 {
47 mat<3, 2, T, Q> Result(static_cast<T>(1));
48 Result[0][0] = v[0];
49 Result[1][1] = v[1];
50 return Result;
51 }
52
53 template<typename T, qualifier Q>
54 GLM_FUNC_QUALIFIER mat<3, 3, T, Q> diagonal3x3
55 (
56 vec<3, T, Q> const& v
57 )
58 {
59 mat<3, 3, T, Q> Result(static_cast<T>(1));
60 Result[0][0] = v[0];
61 Result[1][1] = v[1];
62 Result[2][2] = v[2];
63 return Result;
64 }
65
66 template<typename T, qualifier Q>
67 GLM_FUNC_QUALIFIER mat<3, 4, T, Q> diagonal3x4
68 (
69 vec<3, T, Q> const& v
70 )
71 {
72 mat<3, 4, T, Q> Result(static_cast<T>(1));
73 Result[0][0] = v[0];
74 Result[1][1] = v[1];
75 Result[2][2] = v[2];
76 return Result;
77 }
78
79 template<typename T, qualifier Q>
80 GLM_FUNC_QUALIFIER mat<4, 4, T, Q> diagonal4x4
81 (
82 vec<4, T, Q> const& v
83 )
84 {
85 mat<4, 4, T, Q> Result(static_cast<T>(1));
86 Result[0][0] = v[0];
87 Result[1][1] = v[1];
88 Result[2][2] = v[2];
89 Result[3][3] = v[3];
90 return Result;
91 }
92
93 template<typename T, qualifier Q>
94 GLM_FUNC_QUALIFIER mat<4, 3, T, Q> diagonal4x3
95 (
96 vec<3, T, Q> const& v
97 )
98 {
99 mat<4, 3, T, Q> Result(static_cast<T>(1));
100 Result[0][0] = v[0];
101 Result[1][1] = v[1];
102 Result[2][2] = v[2];
103 return Result;
104 }
105
106 template<typename T, qualifier Q>
107 GLM_FUNC_QUALIFIER mat<4, 2, T, Q> diagonal4x2
108 (
109 vec<2, T, Q> const& v
110 )
111 {
112 mat<4, 2, T, Q> Result(static_cast<T>(1));
113 Result[0][0] = v[0];
114 Result[1][1] = v[1];
115 return Result;
116 }
117}//namespace glm