Desidero ottenere il colore medio del contenuto dello schermo quando si esegue XBMC per modificare il colore di una luce ambientale TV. XBMC è in esecuzione su un piccolo HTPC con hardware OpenGL ES 2.0 (Raspberry Pi) che esegue una distribuzione derivata da Debian. Suppongo di dover leggere dallo schermo frame buffer in cui XBMC disegna usando OpenGL. (Almeno, penso e spero che XBMC restituisca tutto usando OpenGL.)Leggere in modo efficiente il colore medio del contenuto dello schermo reso da XBMC
E 'possibile leggere il buffer del frame OpenGL che rappresenta l'intero output dello schermo? Di cosa ho bisogno per accedervi? Ho anche bisogno di un proprio contesto di rendering per accedere al frame buffer dello schermo? (Non renderò nulla da solo sullo schermo, voglio solo leggere).
Calcolare in modo efficiente il colore medio è l'operazione successiva. Sto pensando di leggere ogni ottavo o sedicesimo pixel per riga/colonna (sarebbe sufficiente, stiamo parlando di filmati HD 1080p) e quindi di calcolare la media sulla CPU. Qualsiasi idea per una soluzione migliore è la benvenuta.
frame, non buffer dello schermo, perché richiesto. Entrambi sono però corretti. – Linuxios
@Linuxios Grazie. Ho pensato di dire "frame buffer", tuttavia, il lettore potrebbe pensare che io voglia rileggere qualcosa che ho reso prima. Che non è il caso qui. Sottolineerò semplicemente che è l'intero schermo. – leemes
Il frame buffer contiene esattamente ciò che è attualmente sullo schermo. Ecco perché lo dico. – Linuxios