UdonLibrary
1.0.0
機械システム研究部 C++ ライブラリ
読み取り中…
検索中…
一致する文字列を見つけられません
HSV.hpp
[詳解]
1
//
2
// HSV色空間
3
//
4
// Copyright (c) 2022 udonrobo
5
//
6
7
#pragma once
8
9
#include "
Forward/HSV.hpp
"
10
#include "
Forward/RGB.hpp
"
11
12
#ifdef _MSC_VER
13
# pragma warning(push)
14
# pragma warning(disable : 26495)
15
#endif
16
19
inline
Udon::RGB::RGB
(
const
HSV
& hsv) noexcept
20
:
RGB
(hsv.toRGB())
21
{
22
}
23
24
#ifdef _MSC_VER
25
# pragma warning(pop)
26
#endif
27
30
inline
Udon::RGB
Udon::HSV::toRGB
() const noexcept
31
{
32
const
ValueType
f =
h
* 6;
33
const
ValueType
p = (255 -
s
) *
v
>> 8;
34
const
ValueType
q = (255 - (f *
s
>> 8)) *
v
>> 8;
35
const
ValueType
t = (255 - ((255 - f) *
s
>> 8)) *
v
>> 8;
36
switch
(
h
* 6 >> 8)
37
{
38
case
0:
return
{
v
, t, p };
39
case
1:
return
{ q,
v
, p };
40
case
2:
return
{ p,
v
, t };
41
case
3:
return
{ p, q,
v
};
42
case
4:
return
{ t, p,
v
};
43
case
5:
return
{
v
, p, q };
44
default
:
return
{};
45
}
46
}
HSV.hpp
RGB.hpp
Udon::HSV
HSV色空間
Definition
HSV.hpp:20
Udon::HSV::h
ValueType h
色相
Definition
HSV.hpp:26
Udon::HSV::s
ValueType s
彩度
Definition
HSV.hpp:29
Udon::HSV::v
ValueType v
明度
Definition
HSV.hpp:32
Udon::HSV::toRGB
RGB toRGB() const noexcept
RGB色空間に変換
Definition
HSV.hpp:30
Udon::HSV::ValueType
uint8_t ValueType
要素の型
Definition
HSV.hpp:23
Udon::RGB
RGB色空間
Definition
RGB.hpp:21
Udon::RGB::RGB
constexpr RGB() noexcept
デフォルトコンストラクタ
Definition
RGB.hpp:36