Google a me Binomial open source Basis Universal texture compression system

Google a me Binomial wehe ʻia kumu kikokikona Kumu Kahua, he codec no ka hoʻopili ʻana i ka kikokikona maikaʻi a me kahi ʻano waihona ".basis" āpau e pili ana no ka hoʻolaha ʻana i nā kiʻi a me ka wikiō. Ua kākau ʻia ka code hoʻokō kuhikuhi ma C ++ a hoʻolako ʻia laikini ma lalo o Apache 2.0.

Hoʻopili ka Basis Universal ma mua paʻi ʻia ʻO Draco 3D ʻōnaehana hoʻopili ʻikepili a hoʻāʻo e hoʻoponopono i ka pilikia me ka hāʻawi ʻana i nā textures no ka GPU. A hiki i kēia manawa, ua kaupalena ʻia nā mea hoʻomohala i ke koho ʻana ma waena o nā ʻano haʻahaʻa haʻahaʻa e hoʻokō ai i ka hana kiʻekiʻe akā ʻo GPU-specific a lawe i ka nui o ka disk space, a me nā ʻano ʻē aʻe e hoʻokō ai i ka hōʻemi ʻana akā ʻaʻole hiki ke hoʻokūkū me nā textures GPU i ka hana.

Hāʻawi ka Basis Universal format iā ʻoe e hoʻokō i ka hana o nā ʻano GPU maoli, akā hāʻawi i kahi kiʻekiʻe kiʻekiʻe o ka kaomi.
ʻO Basis kahi hōʻano waena e hāʻawi ana i ka transcoding wikiwiki o ka GPU textures i nā ʻano haʻahaʻa haʻahaʻa like ʻole no ka hoʻohana ʻana ma nā ʻōnaehana papa ʻelua a me nā polokalamu kelepona ma mua o ka hoʻohana ʻana. Kākoʻo ʻia i kēia manawa ʻo PVRTC1 (4bpp RGB), BC7 (6 RGB mode), BC1-5, ETC1, a me ETC2 formats. Manaʻo ʻia ke kākoʻo e hiki mai ana no ka format ASTC (RGB a i ʻole RGBA) a me 4/5 RGBA modes no BC7 a me 4bpp RGBA no PVRTC1.

Google a me Binomial open source Basis Universal texture compression system

Lawe ʻia nā kikokikona ma ke ʻano kumu he 6-8 mau manawa liʻiliʻi i ka hoʻomanaʻo wikiō a koi ʻia ka hoʻololi ʻana ma kahi o ka hapalua o ka nui o ka ʻikepili e like me ke ʻano maʻamau e pili ana i ke ʻano JPEG a me ka 10-25% ka liʻiliʻi ma mua o ka lewa ma ke ʻano RDO. No ka laʻana, me ka nui o ke kiʻi JPEG o 891 KB a me kahi kikokikona ETC1 o 1 MB, ʻo ka nui o ka ʻikepili i ka waihona Basis he 469 KB ma ke ʻano kiʻekiʻe loa. I ka hoʻokomo ʻana i nā mea leʻaleʻa i ka hoʻomanaʻo wikiō, ua hoʻohana ʻia nā palapala JPEG a me PNG i hoʻohana ʻia i nā hoʻāʻo ʻana i ka 16 MB o ka hoʻomanaʻo, aʻo nā mea leʻaleʻa i loko.
Pono ke kumu i 2 MB o ka hoʻomanaʻo no ka unuhi ʻana iā BC1, PVRTC1 a me ETC1, a me 4 MB no ka unuhi ʻana iā BC7.

Google a me Binomial open source Basis Universal texture compression system

He maʻalahi loa ke kaʻina hana o ka neʻe ʻana i nā noi i loaʻa iā Basis Universal. Ua lawa ka hoʻololi hou ʻana i nā kikokikona a i ʻole nā ​​​​kiʻi i kahi ʻano hou me ka hoʻohana ʻana i ka pono "basisu" i hāʻawi ʻia e ka papahana, ke koho ʻana i ka pae kiʻekiʻe e pono ai. A laila, ma ka noi, ma mua o ke code rendering, pono ʻoe e hoʻomaka i ka transcoder basisu, nona ke kuleana no ka unuhi ʻana i ka format waena i ke ʻano i kākoʻo ʻia e ka GPU o kēia manawa. I ka manawa like, hoʻopili ʻia nā kiʻi ma ke kaulahao hana holoʻokoʻa, me ka hoʻouka ʻia ʻana ma ke ʻano i hoʻopili ʻia i loko o ka GPU. Ma kahi o ka hoʻololi mua ʻana i ke kiʻi holoʻokoʻa, hoʻololi wale ka GPU i nā ʻāpana pono o ke kiʻi.

Kākoʻo ʻo ia i ka mālama ʻana i nā ʻano kikoʻī heterogeneous (cubemaps), nā ʻano volumetric, nā ʻano kikoʻī, nā pae mipmap, nā kaʻina wikiō a i ʻole nā ​​ʻāpana kikokikona i hoʻokahi faila. No ka laʻana, hiki ke hoʻopili i nā kiʻi i loko o kahi faila e hana i nā wikiō liʻiliʻi, a i ʻole e hoʻohui i kekahi mau mea leʻaleʻa me ka hoʻohana ʻana i kahi palette maʻamau no nā kiʻi āpau a me ka wehe ʻana i nā kiʻi maʻamau. Kākoʻo ka hoʻokō encoder Basis Universal i ka hoʻopili ʻana i nā kaula he nui me OpenMP. Ke hana nei ka transcoder i kēia manawa ma ke ʻano hoʻokahi threaded.

aiiieieoaeuii loaʻa ʻO Basis Universal decoder no nā polokalamu kele pūnaewele, hāʻawi ʻia ma ke ʻano WebAssembly, hiki ke hoʻohana ʻia i nā polokalamu pūnaewele ma WebGL. ʻO ka hope loa, manaʻo ʻo Google e kākoʻo i ka Basis Universal ma nā polokalamu kele nui āpau a hoʻolaha iā ia ma ke ʻano he ʻano kikokikona hikiwawe no WebGL a me kahi kikoʻī e hiki mai ana. WebGPU, e like me ka Vulkan, Metal a me Direct3D 12 API.

Hoʻomaopopo ʻia ʻo ka hiki ke hoʻokomo i ka wikiō me kāna hana ma hope wale nō ma ka ʻaoʻao GPU e hana ʻo Basis Universal i mea hoihoi no ka hana ʻana i nā mea hoʻohana ikaika ma WebAssembly a me WebGL, hiki ke hōʻike i nā haneli o nā wikiō liʻiliʻi me ka haʻahaʻa CPU liʻiliʻi. Aia a hiki i ka hoʻohana ʻana i nā ʻōlelo aʻoaʻo SIMD ma WebAssembly me nā codec kuʻuna, ʻaʻole hiki ke hoʻokō ʻia kēia pae o ka hana, no laila hiki ke hoʻohana ʻia ka wikiō ma ke ʻano o ka kikokikona ma nā wahi i kūpono ʻole ka wikiō maʻamau. Ke hoʻomākaukau ʻia nei ke code me nā hoʻonui hou aku no ka wikiō no ka paʻi ʻana, me ka hiki ke hoʻohana Nā pā-I a me nā pā-P me ke kākoʻo padding adaptive (CR).

Source: opennet.ru

Pākuʻi i ka manaʻo hoʻopuka