Google sy Binomial open source Basis Universal texture compression system

Google sy Binomial nisokatra lahatsoratra loharano Universal Base, codec ho an'ny fanerena ara-nofo mahomby ary endrika fisie ".basis" manerantany ho an'ny fizarana sary sy horonan-tsary. Ny fehezan-dalΓ na fampiharana reference dia voasoratra ao amin'ny C ++ ary nanome nahazo alalana tamin'ny Apache 2.0.

Basis Universal dia mifameno teo aloha MIVOAKA Draco 3D rafitra famatrarana data ary miezaka mamaha ny olana amin'ny famatsiana textures ho an'ny GPU. Hatramin'izao, ny mpamorona dia voafetra ihany amin'ny fisafidianana eo amin'ireo endrika ambany indrindra izay mahatratra fampisehoana avo lenta nefa manokana amin'ny GPU ary maka habaka kapila be dia be, ary ireo endrika hafa izay mampihena ny habeny nefa tsy afaka mifaninana amin'ny texture GPU amin'ny fampisehoana.

Ny format Basis Universal dia ahafahanao manatratra ny fahombiazan'ny tontolon'ny GPU teratany, saingy manome fanerena ambony kokoa.
Ny fototra dia endrika mpanelanelana izay manome transcoding haingana ny texture GPU amin'ny endrika ambany isan-karazany mba hampiasaina amin'ny rafitra desktop sy fitaovana finday alohan'ny hampiasana azy. Ny endrika PVRTC1 (4bpp RGB), BC7 (mode RGB 6), BC1-5, ETC1, ary ETC2 no tohana ankehitriny. Ny fanohanana amin'ny ho avy dia andrasana amin'ny endrika ASTC (RGB na RGBA) sy 4/5 RGBA maody ho an'ny BC7 sy 4bpp RGBA ho an'ny PVRTC1.

Google sy Binomial open source Basis Universal texture compression system

Ny textures amin'ny endrika fototra dia maka 6-8 heny ny fitadidiana horonan-tsary ary mitaky ny famindrana angon-drakitra eo ho eo amin'ny antsasa-manilan'ny textures mahazatra mifototra amin'ny endrika JPEG ary 10-25% latsaky ny textures amin'ny fomba RDO. Ohatra, miaraka amin'ny haben'ny sary JPEG amin'ny 891 KB sy ny endrika ETC1 amin'ny 1 MB, ny haben'ny angona amin'ny endrika Basis dia 469 KB amin'ny fomba tsara indrindra. Rehefa mametraka textures amin'ny fitadidiana horonan-tsary, ny texture JPEG sy PNG ampiasaina amin'ny fitsapana dia mandany fahatsiarovana 16 MB, raha ny textures
Ny fototra dia mila fitadidiana 2 MB ho an'ny fandikana amin'ny BC1, PVRTC1 ary ETC1, ary 4 MB ho an'ny fandikana amin'ny BC7.

Google sy Binomial open source Basis Universal texture compression system

Tsotra ihany ny fizotry ny fifindrana ireo fampiharana efa misy mankany amin'ny Basis Universal. Ampy ny mamerina mamerina ny texture na sary efa misy amin'ny endrika vaovao amin'ny fampiasana ny fitaovana "basisu" omen'ny tetikasa, mifidy ny haavon'ny kalitao ilaina. Manaraka, ao amin'ny fampiharana, alohan'ny famandrihana kaody, dia mila manomboka ny baseu transcoder, izay tompon'andraikitra amin'ny fandikana ny intermediate endrika ho endrika tohanan'ny GPU ankehitriny. Mandritra izany fotoana izany, ny sary manerana ny rojo fanodinana manontolo dia mijanona ho voatsindry, ao anatin'izany ny fampidirana amin'ny endrika voaporitra ao amin'ny GPU. Raha tokony hanova mialoha ny sary manontolo ny GPU, dia mamadika ny ampahany ilaina amin'ny sary ihany ny GPU.

Izy io dia manohana ny fitehirizana ny firafitry ny texture heterogène (cubemaps), ny texture volumetric, ny firafitry ny texture, ny haavon'ny mipmap, ny filaharan'ny horonan-tsary na ny sombintsombin'ny texture tsy misy dikany ao anaty rakitra iray. Ohatra, azo atao ny mametaka sary maromaro ao anaty rakitra iray mba hamoronana horonan-tsary kely, na manambatra loko maromaro amin'ny fampiasana palette mahazatra ho an'ny sary rehetra ary manaisotra ny lasitra sary mahazatra. Ny fampiharana encoder Basis Universal dia manohana famandrihana maromaro misy kofehy mampiasa OpenMP. Ny transcoder amin'izao fotoana izao dia miasa amin'ny fomba tokana misy kofehy.

Fanampin'izany misy Basis Universal decoder ho an'ny navigateur, atolotra amin'ny endrika WebAssembly, izay azo ampiasaina amin'ny rindranasa tranonkala mifototra amin'ny WebGL. Farany, mikasa ny hanohana ny Basis Universal amin'ny navigateur lehibe rehetra i Google ary hampiroborobo azy io ho endrika endrika azo entina ho an'ny WebGL sy famaritana ho avy. WebGPU, mitovy hevitra amin'ny API Vulkan, Metal ary Direct3D 12.

Marihina fa ny fahafahana mampiditra horonan-tsary miaraka amin'ny fanodinana manaraka azy amin'ny lafiny GPU ihany no mahatonga an'i Basis Universal ho vahaolana mahaliana amin'ny famoronana interface tsara mpampiasa amin'ny WebAssembly sy WebGL, izay afaka mampiseho horonan-tsary kely an-jatony miaraka amin'ny enta-mavesatra CPU kely indrindra. Mandra-pahatongan'ny fampiasana ny torolalana SIMD amin'ny WebAssembly miaraka amin'ny codec nentim-paharazana, dia mbola tsy azo tanterahina io haavon'ny fampisehoana io, noho izany dia azo ampiasaina amin'ny faritra tsy azo ampiharina ny horonan-tsary mifototra amin'ny texture. Kaody misy fanatsarana fanampiny ho an'ny horonan-tsary dia efa voaomana amin'izao fotoana izao ho an'ny famoahana, ao anatin'izany ny fahafahana mampiasa I-frames sy P-frames miaraka amin'ny fanohanana adaptive padding (CR).

Source: opennet.ru

Add a comment