Například pokud je rozlišení fotky 4000×3000 a rozlišení monitoru 1920×1080, mipmapy uložené v GPU jsou v 4000×3000, 2000×1500 a 1000×750, přičemž výsledný wallplaper namapovaný na 1920×1080 vznikne jako průměr dvou menších mipmap.
Ehm? Je nějaký pádný důvod to dělat takto komplikovaně?
Přece stačí ten obrázek přeškálovat jednou. Pokud si uživatel nastavuje wallpaper, tak původní obrázek stačí přeškálovat z originálního rozlišení nějakým vhodným způsobem (který může být rozhodně sofistikovanější, než linear) a je to. Proč to strkají do mipmapy? Nebo GNOME ten wallpaper zobrazuje ještě někde jinde nějak komplikovaně a statický obrázek o správném rozlišení nestačí?
Ne, to je právě logický řešení. Teda podle mě, ale já nejsem programátor.
Objeví se nový monitor nebo se změní jeho parametry - přepočítám texturu na správné rozlišení, orientaci a barevný prostor. Odpojí se monitor? Texturu zahodím. Případně by snad neměl být problém mít na disku cache posledních pár použitých verzí pozadí, aby se to nemuselo pokaždé počítat.
Bohužel o OpenGL vím velké prd, ale čekal bych, že jeden sprite (který pak ani není potřeba už nijak škálovat) zabere míň místa i výpočetního výkonu než textura, ze které se nejprve udělá sada mipmap a potom ještě z těch mipmap se spočítá obrázek.