MCPcopy Create free account
hub / github.com/URLab-Sim/UnrealRoboticsLab / HSVToRGB

Function HSVToRGB

Source/URLab/Private/MuJoCo/Utils/MjColor.cpp:27–69  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

25}
26
27FLinearColor HSVToRGB(float H, float S, float V)
28{
29 // Standard HSV -> RGB (matches MuJoCo's hsv2rgb).
30 H = FMath::Fmod(H, 1.0f);
31 if (H < 0.0f)
32 H += 1.0f;
33 const float C = V * S;
34 const float Hp = H * 6.0f;
35 const float X = C * (1.0f - FMath::Abs(FMath::Fmod(Hp, 2.0f) - 1.0f));
36 float R = 0, G = 0, B = 0;
37 if (Hp < 1)
38 {
39 R = C;
40 G = X;
41 }
42 else if (Hp < 2)
43 {
44 R = X;
45 G = C;
46 }
47 else if (Hp < 3)
48 {
49 G = C;
50 B = X;
51 }
52 else if (Hp < 4)
53 {
54 G = X;
55 B = C;
56 }
57 else if (Hp < 5)
58 {
59 R = X;
60 B = C;
61 }
62 else
63 {
64 R = C;
65 B = X;
66 }
67 const float M = V - C;
68 return FLinearColor(R + M, G + M, B + M, 1.0f);
69}
70
71FLinearColor ApplySleepModulation(const FLinearColor& InColor, float SleepValueScale, float SleepSaturationScale)
72{

Callers 5

RunTestMethod · 0.85
ApplySleepModulationFunction · 0.85
IslandColorFunction · 0.85

Calls

no outgoing calls

Tested by 1

RunTestMethod · 0.68