Я хочу получить средний цвет содержимого экрана при запуске XBMC, чтобы изменить цвет окружающего света телевизора. XBMC работает на небольшом HTPC с оборудованием OpenGL ES 2.0 (Raspberry Pi), работающим с дистрибутивом Debian. Думаю, мне нужно читать из буфера кадра экрана, в котором XBMC рисует с помощью OpenGL. (По крайней мере, я думаю и надеюсь, что XBMC отображает все, используя OpenGL.)
Можно ли читать буфер кадров OpenGL, представляющий весь экранный вывод? Что мне нужно получить к нему? Мне также нужен собственный контекст визуализации для доступа к буферу кадра экрана? (Я ничего не делаю для себя на экране, я только хочу прочитать).
Эффективным вычислением среднего цвета является следующая задача. Я думаю о чтении каждого 8-го или 16-го пикселя на строку/столбец (было бы достаточно, мы говорим о 1080p HD-фильмах), а затем вычисляем среднее значение на процессоре. Любые идеи для лучшего решения приветствуются.