MCPcopy Create free account
hub / github.com/Wemino/MarkerPatch / ColorConvertHSVtoRGB

Method ColorConvertHSVtoRGB

include/imgui/imgui.cpp:2874–2899  ·  view source on GitHub ↗

Convert hsv floats ([0-1],[0-1],[0-1]) to rgb floats ([0-1],[0-1],[0-1]), from Foley & van Dam p593 also http://en.wikipedia.org/wiki/HSL_and_HSV

Source from the content-addressed store, hash-verified

2872// Convert hsv floats ([0-1],[0-1],[0-1]) to rgb floats ([0-1],[0-1],[0-1]), from Foley & van Dam p593
2873// also http://en.wikipedia.org/wiki/HSL_and_HSV
2874void ImGui::ColorConvertHSVtoRGB(float h, float s, float v, float& out_r, float& out_g, float& out_b)
2875{
2876 if (s == 0.0f)
2877 {
2878 // gray
2879 out_r = out_g = out_b = v;
2880 return;
2881 }
2882
2883 h = ImFmod(h, 1.0f) / (60.0f / 360.0f);
2884 int i = (int)h;
2885 float f = h - (float)i;
2886 float p = v * (1.0f - s);
2887 float q = v * (1.0f - s * f);
2888 float t = v * (1.0f - s * (1.0f - f));
2889
2890 switch (i)
2891 {
2892 case 0: out_r = v; out_g = t; out_b = p; break;
2893 case 1: out_r = q; out_g = v; out_b = p; break;
2894 case 2: out_r = p; out_g = v; out_b = t; break;
2895 case 3: out_r = p; out_g = q; out_b = v; break;
2896 case 4: out_r = t; out_g = p; out_b = v; break;
2897 case 5: default: out_r = v; out_g = p; out_b = q; break;
2898 }
2899}
2900
2901//-----------------------------------------------------------------------------
2902// [SECTION] ImGuiStorage

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected