Unravel Engine C++ Reference
Loading...
Searching...
No Matches
gradient.cpp
Go to the documentation of this file.
1
#include "
gradient.h
"
2
3
namespace
math
4
{
5
6
7
template
<>
8
auto
gradient_lerp
(
const
vec4& start,
const
vec4& end,
float
progress) -> vec4
9
{
10
return
glm::lerp(start, end, vec4(progress));
11
}
12
13
template
<>
14
auto
gradient_lerp
(
const
vec3& start,
const
vec3& end,
float
progress) -> vec3
15
{
16
return
glm::lerp(start, end, vec3(progress));
17
}
18
19
template
<>
20
auto
gradient_lerp
(
const
vec2& start,
const
vec2& end,
float
progress) -> vec2
21
{
22
return
glm::lerp(start, end, vec2(progress));
23
}
24
25
26
template
<>
27
auto
gradient_lerp
(
const
float
& start,
const
float
& end,
float
progress) ->
float
28
{
29
return
glm::lerp(start, end, progress);
30
}
31
32
template
<>
33
auto
gradient_lerp
(
const
color
& start,
const
color
& end,
float
progress) ->
color
34
{
35
return
color
(
gradient_lerp
(start.value, end.value, progress));
36
}
37
auto
to_string
(
gradient_interpolation_mode_t
mode) -> std::string
38
{
39
switch
(mode)
40
{
41
case
gradient_interpolation_mode_t::constant
:
42
return
"constant"
;
43
case
gradient_interpolation_mode_t::linear
:
44
return
"linear"
;
45
default
:
46
return
"constant"
;
47
}
48
49
}
50
auto
interpolation_mode_from_string
(
const
std::string& mode) ->
gradient_interpolation_mode_t
51
{
52
if
(mode ==
"constant"
)
53
{
54
return
gradient_interpolation_mode_t::constant
;
55
}
56
else
if
(mode ==
"linear"
)
57
{
58
return
gradient_interpolation_mode_t::linear
;
59
}
60
61
return
gradient_interpolation_mode_t::constant
;
62
}
63
64
65
66
}
// namespace math
gradient.h
math
Definition
bbox.cpp:5
math::gradient_lerp
auto gradient_lerp(const vec4 &start, const vec4 &end, float progress) -> vec4
Definition
gradient.cpp:8
math::interpolation_mode_from_string
auto interpolation_mode_from_string(const std::string &mode) -> gradient_interpolation_mode_t
Definition
gradient.cpp:50
math::gradient_interpolation_mode_t
gradient_interpolation_mode_t
Definition
gradient.h:22
math::gradient_interpolation_mode_t::constant
@ constant
math::gradient_interpolation_mode_t::linear
@ linear
math::to_string
auto to_string(gradient_interpolation_mode_t mode) -> std::string
Definition
gradient.cpp:37
math::color
Definition
color.h:12
UnravelEngine
UnravelEngine
engine
core
math
gradient.cpp
Generated by
1.12.0