master
ブランチ master
VulkanExample / dep / include / glm / gtx / color_space.hpp
2 KB、70行 生 Blame 履歴
1/// @ref gtx_color_space
2/// @file glm/gtx/color_space.hpp
3///
4/// @see core (dependence)
5///
6/// @defgroup gtx_color_space GLM_GTX_color_space
7/// @ingroup gtx
8///
9/// Include <glm/gtx/color_space.hpp> to use the features of this extension.
10///
11/// Related to RGB to HSV conversions and operations.
12
13#pragma once
14
15// Dependency:
16#include "../glm.hpp"
17
18#ifndef GLM_ENABLE_EXPERIMENTAL
19# error "GLM: GLM_GTX_color_space 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."
20#elif GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
21# pragma message("GLM: GLM_GTX_color_space extension included")
22#endif
23
24namespace glm
25{
26 /// @addtogroup gtx_color_space
27 /// @{
28
29 /// Converts a color from HSV color space to its color in RGB color space.
30 /// @see gtx_color_space
31 template<typename T, qualifier Q>
32 GLM_FUNC_DECL vec<3, T, Q> rgbColor(
33 vec<3, T, Q> const& hsvValue);
34
35 /// Converts a color from RGB color space to its color in HSV color space.
36 /// @see gtx_color_space
37 template<typename T, qualifier Q>
38 GLM_FUNC_DECL vec<3, T, Q> hsvColor(
39 vec<3, T, Q> const& rgbValue);
40
41 /// Build a saturation matrix.
42 /// @see gtx_color_space
43 template<typename T>
44 GLM_FUNC_DECL mat<4, 4, T, defaultp> saturation(
45 T const s);
46
47 /// Modify the saturation of a color.
48 /// @see gtx_color_space
49 template<typename T, qualifier Q>
50 GLM_FUNC_DECL vec<3, T, Q> saturation(
51 T const s,
52 vec<3, T, Q> const& color);
53
54 /// Modify the saturation of a color.
55 /// @see gtx_color_space
56 template<typename T, qualifier Q>
57 GLM_FUNC_DECL vec<4, T, Q> saturation(
58 T const s,
59 vec<4, T, Q> const& color);
60
61 /// Compute color luminosity associating ratios (0.33, 0.59, 0.11) to RGB canals.
62 /// @see gtx_color_space
63 template<typename T, qualifier Q>
64 GLM_FUNC_DECL T luminosity(
65 vec<3, T, Q> const& color);
66
67 /// @}
68}//namespace glm
69
70#include "color_space.inl"