Google sareng Binomial open source Basis Sistem komprési tékstur universal

Google sareng Binomial dibuka téks sumber Dasar Universal, Codec pikeun komprési tékstur efisien sarta pakait universal ".dasar" format file pikeun ngadistribusikaeun gambar- jeung tékstur video basis. Kode palaksanaan rujukan ditulis dina C ++ jeung dibekelan dilisensikeun dina Apache 2.0.

Dasar Universal complements saméméhna diterbitkeun Sistem komprési data Draco 3D sareng nyobian ngabéréskeun masalah sareng nyayogikeun tékstur pikeun GPU. Nepi ka ayeuna, pamekar geus dugi ka milih antara format-tingkat low nu ngahontal kinerja tinggi tapi GPU-spésifik tur nyandak up loba spasi disk, sarta format sejen nu ngahontal pangurangan ukuranana tapi teu bisa bersaing jeung textures GPU dina kinerja.

Format Basis Universal ngidinan Anjeun pikeun ngahontal kinerja textures GPU asli, tapi nyadiakeun tingkat luhur komprési.
Basis mangrupikeun format perantara anu nyayogikeun transcoding gancang tékstur GPU kana sababaraha format tingkat rendah pikeun dianggo dina sistem desktop sareng alat sélulér sateuacan dianggo. Ayeuna dirojong nyaéta PVRTC1 (4bpp RGB), BC7 (6 mode RGB), BC1-5, ETC1, sareng format ETC2. Pangrojong ka hareup diperkirakeun pikeun format ASTC (RGB atanapi RGBA) sareng 4/5 modeu RGBA pikeun BC7 sareng 4bpp RGBA pikeun PVRTC1.

Google sareng Binomial open source Basis Sistem komprési tékstur universal

Textures dina format dasar nyandak up 6-8 kali memori video kirang na merlukeun mindahkeun kira satengah saloba data sakumaha textures has dumasar kana format JPEG na 10-25% kirang ti textures dina modeu RDO. Contona, kalayan ukuran gambar JPEG 891 KB sareng tékstur ETC1 1 MB, ukuran data dina format Basis nyaéta 469 KB dina mode kualitas pangluhurna. Nalika nempatkeun tékstur dina mémori pidéo, tékstur JPEG sareng PNG anu dianggo dina tés nganggo mémori 16 MB, sedengkeun tékstur dina
Basis diperlukeun 2 MB memori pikeun tarjamah BC1, PVRTC1 na ETC1, sarta 4 MB pikeun tarjamahan kana BC7.

Google sareng Binomial open source Basis Sistem komprési tékstur universal

Prosés migrasi aplikasi anu aya ka Basis Universal cukup basajan. Cukup pikeun ngarobih tékstur atanapi gambar anu tos aya kana format énggal nganggo utilitas "basisu" anu disayogikeun ku proyék, milih tingkat kualitas anu diperyogikeun. Salajengna, dina aplikasi, saméméh kode rendering, Anjeun kudu initialize transcoder basisu, nu tanggung jawab narjamahkeun format panengah kana format dirojong ku GPU ayeuna. Dina waktos anu sami, gambar sapanjang sadaya ranté pamrosesan tetep dikomprés, kalebet dimuat dina bentuk anu dikomprés kana GPU. Gantina pre-emptively transcoding sakabéh gambar, GPU selektif decodes ukur bagian diperlukeun gambar.

Ieu ngarojong nyimpen susunan tékstur hétérogén (cubemaps), tékstur volumetrik, susunan tékstur, tingkat mipmap, urutan video atawa fragmen tékstur sawenang dina hiji file. Contona, kasebut nyaéta dimungkinkeun pikeun pak runtuyan gambar dina hiji file pikeun nyieun video leutik, atawa ngagabungkeun sababaraha textures ngagunakeun palette umum pikeun sakabéh gambar jeung dedulicating témplat gambar has. Palaksanaan encoder Basis Universal ngadukung encoding multi-threaded nganggo OpenMP. Transcoder ayeuna ngan ukur tiasa dianggo dina modeu benang tunggal.

Sajaba aya Basis Universal decoder pikeun browser, dikirimkeun dina format WebAssembly, nu bisa dipaké dina aplikasi wéb basis WebGL. Pamustunganana, Google badé ngadukung Basis Universal dina sadaya panyungsi utama sareng ngamajukeunana salaku format tékstur portabel pikeun WebGL sareng spésifikasi ka hareup. WebGPU, konseptual sarupa jeung Vulkan, Metal jeung Direct3D 12 API.

Hal ieu dicatet yén kamampuhan pikeun embed video kalawan processing saterusna na ngan dina sisi GPU ngajadikeun Basis Universal hiji solusi metot pikeun nyieun interfaces pamaké dinamis dina WebAssembly na WebGL, nu sakaligus bisa nembongkeun ratusan video leutik kalawan beban CPU minimal. Nepi ka parentah SIMD bisa dipaké dina WebAssembly kalawan codecs tradisional, tingkat kinerja ieu teu acan achievable, jadi video dumasar tékstur bisa dipaké di wewengkon mana video konvensional teu lumaku. Kode kalawan optimizations tambahan pikeun video ayeuna keur disiapkeun pikeun publikasi, kaasup kamampuhan pikeun ngagunakeun I-pigura jeung P-pigura kalawan padding adaptif (CR) rojongan.

sumber: opennet.ru

Tambahkeun komentar