Я перекрываю приложение OpenGL (c ++), это приложение openGL использует SetDeviceGammaRamp, чтобы установить яркость рабочего стола на очень высокую (не знаю почему). Это приложение полноэкранное и выглядит хорошо, но мой оверлей очень яркий. Вместо оранжевого цвета с нормальной яркостью я получаю желтый из-за высокой гаммы.
Что я хочу сделать: получить гамму, которая установлена в данный момент (используя GetDeviceGammaRamp), а затем использовать ее для настройки цветов, которые я установил.
Как; glColor4f (r, g, b, a) становится glColor4f (r / гамма, г / гамма, b / гамма, а);
Таким образом, если яркость рабочего стола очень высока, значения r g и b будут ниже (темнее) и будут выглядеть так, как они должны.
Как мне это сделать? GetDeviceGammaRamp заполняет таблицу, как я могу использовать ее для изменения моих цветов?
Спасибо