master
ブランチ master
VulkanExample / dep / include / glm / gtx / transform.hpp
1.7 KB、58行 生 Blame 履歴
1/// @ref gtx_transform
2/// @file glm/gtx/transform.hpp
3///
4/// @see core (dependence)
5/// @see gtc_matrix_transform (dependence)
6/// @see gtx_transform
7/// @see gtx_transform2
8///
9/// @defgroup gtx_transform GLM_GTX_transform
10/// @ingroup gtx
11///
12/// Include <glm/gtx/transform.hpp> to use the features of this extension.
13///
14/// Add transformation matrices
15
16#pragma once
17
18// Dependency:
19#include "../glm.hpp"
20#include "../gtc/matrix_transform.hpp"
21
22#ifndef GLM_ENABLE_EXPERIMENTAL
23# error "GLM: GLM_GTX_transform is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
24#elif GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
25# pragma message("GLM: GLM_GTX_transform extension included")
26#endif
27
28namespace glm
29{
30 /// @addtogroup gtx_transform
31 /// @{
32
33 /// Transforms a matrix with a translation 4 * 4 matrix created from 3 scalars.
34 /// @see gtc_matrix_transform
35 /// @see gtx_transform
36 template<typename T, qualifier Q>
37 GLM_FUNC_DECL mat<4, 4, T, Q> translate(
38 vec<3, T, Q> const& v);
39
40 /// Builds a rotation 4 * 4 matrix created from an axis of 3 scalars and an angle expressed in radians.
41 /// @see gtc_matrix_transform
42 /// @see gtx_transform
43 template<typename T, qualifier Q>
44 GLM_FUNC_DECL mat<4, 4, T, Q> rotate(
45 T angle,
46 vec<3, T, Q> const& v);
47
48 /// Transforms a matrix with a scale 4 * 4 matrix created from a vector of 3 components.
49 /// @see gtc_matrix_transform
50 /// @see gtx_transform
51 template<typename T, qualifier Q>
52 GLM_FUNC_DECL mat<4, 4, T, Q> scale(
53 vec<3, T, Q> const& v);
54
55 /// @}
56}// namespace glm
57
58#include "transform.inl"