OLD | NEW |
| (Empty) |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | |
2 // Use of this source code is governed by a BSD-style license that can be | |
3 // found in the LICENSE file. | |
4 | |
5 #ifndef REMOTING_CLIENT_OPENGL_GL_MATH_H_ | |
6 #define REMOTING_CLIENT_OPENGL_GL_MATH_H_ | |
7 | |
8 #include <array> | |
9 #include <string> | |
10 | |
11 #include "base/macros.h" | |
12 | |
13 namespace remoting { | |
14 | |
15 // Transposes matrix [ m0, m1, m2, m3, m4, m5, m6, m7, m8 ]: | |
16 // | |
17 // | m0, m1, m2, | | x | | |
18 // | m3, m4, m5, | * | y | | |
19 // | m6, m7, m8 | | 1 | | |
20 // | |
21 // Into [ m0, m3, m6, m1, m4, m7, m2, m5, m8 ]. | |
22 void TransposeTransformationMatrix(std::array<float, 9>* matrix); | |
23 | |
24 // Given left, top, width, height of a rectangle, fills |positions| with | |
25 // coordinates of four vertices of the rectangle. | |
26 // positions: [ x_upperleft, y_upperleft, x_lowerleft, y_lowerleft, | |
27 // x_upperright, y_upperright, x_lowerright, y_lowerright ] | |
28 void FillRectangleVertexPositions(float left, | |
29 float top, | |
30 float width, | |
31 float height, | |
32 std::array<float, 8>* positions); | |
33 | |
34 // Returns the string representation of the matrix for debugging. | |
35 // | |
36 // For example: | |
37 // [ | |
38 // 1, 0, 0, | |
39 // 0, 1, 0, | |
40 // 0, 0, 1, | |
41 // ] | |
42 std::string MatrixToString(const float* mat, int num_rows, int num_cols); | |
43 | |
44 } // namespace remoting | |
45 | |
46 #endif // REMOTING_CLIENT_OPENGL_GL_MATH_H_ | |
OLD | NEW |