Google in Binom
Basis Universal dopolnjuje prej
Format Basis Universal vam omogoča doseganje zmogljivosti izvornih tekstur GPE, vendar zagotavlja višjo stopnjo stiskanja.
Basis je vmesni format, ki omogoča hitro prekodiranje tekstur GPU v različne nizkonivojske formate za uporabo v namiznih sistemih in mobilnih napravah pred uporabo. Trenutno so podprti formati PVRTC1 (4bpp RGB), BC7 (način 6 RGB), BC1-5, ETC1 in ETC2. Pričakuje se prihodnja podpora za format ASTC (RGB ali RGBA) in načine 4/5 RGBA za BC7 ter 4bpp RGBA za PVRTC1.
Teksture v osnovnem formatu zavzamejo 6-8-krat manj video pomnilnika in zahtevajo prenos približno polovico manj podatkov kot tipične teksture, ki temeljijo na formatu JPEG, in 10-25 % manj kot teksture v načinu RDO. Na primer, pri velikosti slike JPEG 891 KB in teksturi ETC1 1 MB je velikost podatkov v formatu Basis 469 KB v načinu najvišje kakovosti. Pri nameščanju tekstur v video pomnilnik sta teksturi JPEG in PNG, uporabljeni v testih, porabili 16 MB pomnilnika, medtem ko sta teksturi v
Basis je zahteval 2 MB pomnilnika za prevod v BC1, PVRTC1 in ETC1 ter 4 MB za prevod v BC7.
Postopek selitve obstoječih aplikacij na Basis Universal je precej preprost. Dovolj je, da obstoječe teksture ali slike prekodirate v novo obliko s pomočjo pripomočka "basisu", ki ga zagotavlja projekt, in izberete zahtevano raven kakovosti. Nato morate v aplikaciji pred kodo upodabljanja inicializirati transkoder baseu, ki je odgovoren za prevajanje vmesnega formata v format, ki ga podpira trenutni GPE. Obenem ostanejo slike v celotni procesni verigi stisnjene, vključno s tem, da se v stisnjeni obliki naložijo v GPE. Namesto vnaprejšnjega prekodiranja celotne slike GPE selektivno dekodira samo potrebne dele slike.
Podpira shranjevanje heterogenih teksturnih nizov (cubemaps), volumetričnih tekstur, teksturnih nizov, ravni mipmap, video sekvenc ali poljubnih teksturnih fragmentov v eno datoteko. Možno je na primer zapakirati vrsto slik v eno datoteko, da ustvarite majhne videoposnetke, ali združiti več tekstur z uporabo skupne palete za vse slike in odstraniti podvojitve tipičnih slikovnih predlog. Izvedba kodirnika Basis Universal podpira večnitno kodiranje z uporabo OpenMP. Transkoder trenutno deluje samo v enonitnem načinu.
dodatno
Opozoriti je treba, da zmožnost vdelave videa z njegovo naknadno obdelavo samo na strani GPU naredi Basis Universal zanimivo rešitev za ustvarjanje dinamičnih uporabniških vmesnikov na WebAssembly in WebGL, ki lahko hkrati prikažejo na stotine majhnih videoposnetkov z minimalno obremenitvijo CPU. Dokler navodil SIMD ni mogoče uporabiti v WebAssembly s tradicionalnimi kodeki, ta raven zmogljivosti še ni dosegljiva, zato se lahko video na podlagi teksture uporablja na področjih, kjer običajni video ni uporaben. Trenutno je v pripravi za objavo koda z dodatnimi optimizacijami za video, vključno z možnostjo uporabe
Vir: opennet.ru