XBMC を実行してテレビの周囲光の色を変更するときに、画面コンテンツの平均色を取得したいと考えています。XBMC は、Debian 派生ディストリビューションを実行する OpenGL ES 2.0 ハードウェア (Raspberry Pi) を備えた小さな HTPC 上で実行されています。XBMC が OpenGL を使用して描画する画面フレーム バッファーから読み取る必要があると思います。(少なくとも、XBMC が OpenGL を使用してすべてをレンダリングすることを願っています。)
画面出力全体を表す OpenGL フレーム バッファを読み取ることは可能ですか? アクセスするには何が必要ですか? 画面のフレーム バッファにアクセスするには、独自のレンダー コンテキストも必要ですか? (自分で画面に何もレンダリングしません。読みたいだけです)。
次のタスクは、平均色を効率的に計算することです。行/列ごとに8ピクセルまたは16ピクセルごとに読み取り(1080p HDムービーについて話しているので十分でしょう)、CPUで平均を計算することを考えています。より良い解決策のアイデアは大歓迎です。