Google i Binom
Osnova Universal nadopunjuje prethodno
Format Basis Universal vam omogućava da postignete performanse izvornih GPU tekstura, ali pruža viši nivo kompresije.
Basis je srednji format koji omogućava brzo transkodiranje GPU tekstura u različite formate niskog nivoa za upotrebu na desktop sistemima i mobilnim uređajima prije upotrebe. Trenutno su podržani PVRTC1 (4bpp RGB), BC7 (6 RGB režim), BC1-5, ETC1 i ETC2 formati. Očekuje se buduća podrška za ASTC format (RGB ili RGBA) i 4/5 RGBA modove za BC7 i 4bpp RGBA za PVRTC1.
Teksture u osnovnom formatu zauzimaju 6-8 puta manje video memorije i zahtijevaju prijenos približno upola manje podataka od tipičnih tekstura zasnovanih na JPEG formatu i 10-25% manje od tekstura u RDO modu. Na primjer, s veličinom JPEG slike od 891 KB i ETC1 teksturom od 1 MB, veličina podataka u osnovnom formatu je 469 KB u načinu najvišeg kvaliteta. Prilikom postavljanja tekstura u video memoriju, JPEG i PNG teksture korištene u testovima su trošile 16 MB memorije, dok su teksture u
Osnovi je potrebno 2 MB memorije za prijevod u BC1, PVRTC1 i ETC1 i 4 MB za prijevod u BC7.
Proces migracije postojećih aplikacija na Basis Universal je prilično jednostavan. Dovoljno je prekodirati postojeće teksture ili slike u novi format pomoću uslužnog programa „basisu“ koji je osiguran u projektu, odabirom potrebne razine kvalitete. Zatim, u aplikaciji, prije koda za renderiranje, trebate inicijalizirati baseu transkoder, koji je odgovoran za prevođenje srednjeg formata u format koji podržava trenutni GPU. U isto vrijeme, slike u cijelom lancu obrade ostaju komprimirane, uključujući i učitavanje u komprimiranom obliku u GPU. Umjesto preventivnog transkodiranja cijele slike, GPU selektivno dekodira samo potrebne dijelove slike.
Podržava čuvanje heterogenih nizova tekstura (cubemaps), volumetrijskih tekstura, nizova tekstura, nivoa mipmapa, video sekvenci ili proizvoljnih fragmenata teksture u jednoj datoteci. Na primjer, moguće je spakovati seriju slika u jednu datoteku za kreiranje malih video zapisa ili kombinirati nekoliko tekstura koristeći zajedničku paletu za sve slike i deduplicirati tipične predloške slika. Implementacija Basis Universal kodera podržava višenitno kodiranje koristeći OpenMP. Transkoder trenutno radi samo u single-thread modu.
dodatno
Napominje se da mogućnost ugrađivanja videa sa njegovom naknadnom obradom samo na strani GPU-a čini Basis Universal zanimljivim rješenjem za kreiranje dinamičkih korisničkih interfejsa na WebAssembly i WebGL, koji istovremeno mogu prikazati stotine malih video zapisa uz minimalno opterećenje CPU-a. Sve dok se SIMD instrukcije ne mogu koristiti u WebAssembly-u sa tradicionalnim kodecima, ovaj nivo performansi još nije dostižan, tako da se video baziran na teksturi može koristiti u područjima gdje konvencionalni video nije primjenjiv. Kod sa dodatnim optimizacijama za video trenutno je u pripremi za objavljivanje, uključujući mogućnost korištenja
izvor: opennet.ru