Google ΠΈ Binomial
ΠΡΠ½ΠΎΠ²Π° Π£Π½ΠΈΠ²Π΅ΡΠ·Π°Π»Π½Π° Π΄ΠΎΠΏΠΎΠ»Π½ΡΠ²Π° ΠΏΡΠ΅ΡΡ
ΠΎΠ΄Π½ΠΎ
Π€ΠΎΡΠΌΠ°ΡΠΎΡ Basis Universal Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΄Π° Π³ΠΈ ΠΏΠΎΡΡΠΈΠ³Π½Π΅ΡΠ΅ ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈΡΠ΅ Π½Π° ΡΠ΅ΠΊΡΡΡΡΠΈΡΠ΅ Π½Π° ΠΌΠ°ΡΡΠΈΠ½ Π³ΡΠ°ΡΠΈΡΠΊΠΈ ΠΏΡΠΎΡΠ΅ΡΠΎΡ, Π½ΠΎ ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡΠ²Π° ΠΏΠΎΠ²ΠΈΡΠΎΠΊΠΎ Π½ΠΈΠ²ΠΎ Π½Π° ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΠ°.
ΠΡΠ½ΠΎΠ²Π° Π΅ ΡΡΠ΅Π΄Π΅Π½ ΡΠΎΡΠΌΠ°Ρ ΠΊΠΎΡ ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡΠ²Π° Π±ΡΠ·ΠΎ ΡΡΠ°Π½ΡΠΊΠΎΠ΄ΠΈΡΠ°ΡΠ΅ Π½Π° ΡΠ΅ΠΊΡΡΡΡΠΈΡΠ΅ Π½Π° Π³ΡΠ°ΡΠΈΡΠΊΠΈΠΎΡ ΠΏΡΠΎΡΠ΅ΡΠΎΡ Π²ΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΠΎΡΠΌΠ°ΡΠΈ Π½Π° Π½ΠΈΡΠΊΠΎ Π½ΠΈΠ²ΠΎ Π·Π° ΡΠΏΠΎΡΡΠ΅Π±Π° ΠΈ Π½Π° Π΄Π΅ΡΠΊΡΠΎΠΏ ΡΠΈΡΡΠ΅ΠΌΠΈ ΠΈ Π½Π° ΠΌΠΎΠ±ΠΈΠ»Π½ΠΈ ΡΡΠ΅Π΄ΠΈ ΠΏΡΠ΅Π΄ ΡΠΏΠΎΡΡΠ΅Π±Π°. ΠΠΎΠΌΠ΅Π½ΡΠ°Π»Π½ΠΎ ΡΠ΅ ΠΏΠΎΠ΄Π΄ΡΠΆΠ°Π½ΠΈ ΡΠΎΡΠΌΠ°ΡΠΈΡΠ΅ PVRTC1 (4 bpp RGB), BC7 (6 RGB ΡΠ΅ΠΆΠΈΠΌ), BC1-5, ETC1 ΠΈ ETC2. Π‘Π΅ ΠΎΡΠ΅ΠΊΡΠ²Π° ΠΈΠ΄Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° ASTC ΡΠΎΡΠΌΠ°Ρ (RGB ΠΈΠ»ΠΈ RGBA) ΠΈ 4/5 RGBA ΡΠ΅ΠΆΠΈΠΌΠΈ Π·Π° BC7 ΠΈ 4bpp RGBA Π·Π° PVRTC1.
Π’Π΅ΠΊΡΡΡΡΠΈΡΠ΅ Π²ΠΎ ΠΎΡΠ½ΠΎΠ²Π½ΠΈΠΎΡ ΡΠΎΡΠΌΠ°Ρ Π·Π°ΡΠ°ΡΠ°Π°Ρ 6-8 ΠΏΠ°ΡΠΈ ΠΏΠΎΠΌΠ°Π»ΠΊΡ Π²ΠΈΠ΄Π΅ΠΎ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ° ΠΈ Π±Π°ΡΠ°Π°Ρ ΠΏΡΠ΅Π½ΠΎΡ Π½Π° ΠΏΡΠΈΠ±Π»ΠΈΠΆΠ½ΠΎ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π° ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΠΎΠ΄ ΡΠΈΠΏΠΈΡΠ½ΠΈΡΠ΅ ΡΠ΅ΠΊΡΡΡΡΠΈ Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° JPEG ΡΠΎΡΠΌΠ°Ρ ΠΈ 10-25% ΠΏΠΎΠΌΠ°Π»ΠΊΡ ΠΎΠ΄ ΡΠ΅ΠΊΡΡΡΡΠΈΡΠ΅ Π²ΠΎ ΡΠ΅ΠΆΠΈΠΌΠΎΡ RDO. ΠΠ° ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΎ Π³ΠΎΠ»Π΅ΠΌΠΈΠ½Π° Π½Π° JPEG ΡΠ»ΠΈΠΊΠ° ΠΎΠ΄ 891 KB ΠΈ ETC1 ΡΠ΅ΠΊΡΡΡΡΠ° ΠΎΠ΄ 1 MB, Π³ΠΎΠ»Π΅ΠΌΠΈΠ½Π°ΡΠ° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈΡΠ΅ Π²ΠΎ ΡΠΎΡΠΌΠ°ΡΠΎΡ Basis Π΅ 469 KB Π²ΠΎ ΡΠ΅ΠΆΠΈΠΌ ΡΠΎ Π½Π°ΡΠ²ΠΈΡΠΎΠΊ ΠΊΠ²Π°Π»ΠΈΡΠ΅Ρ. ΠΡΠΈ ΠΏΠΎΡΡΠ°Π²ΡΠ²Π°ΡΠ΅ Π½Π° ΡΠ΅ΠΊΡΡΡΡΠΈ Π²ΠΎ Π²ΠΈΠ΄Π΅ΠΎ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°, ΡΠ΅ΠΊΡΡΡΡΠΈΡΠ΅ JPEG ΠΈ PNG ΠΊΠΎΡΠΈΡΡΠ΅Π½ΠΈ Π²ΠΎ ΡΠ΅ΡΡΠΎΠ²ΠΈΡΠ΅ ΡΡΠΎΡΠ΅Π»Π΅ 16 MB ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°, Π΄ΠΎΠ΄Π΅ΠΊΠ° ΡΠ΅ΠΊΡΡΡΡΠΈΡΠ΅ Π²ΠΎ
ΠΡΠ½ΠΎΠ²Π° Π±Π°ΡΠ° 2 MB ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ° Π·Π° ΠΏΡΠ΅Π²ΠΎΠ΄ Π½Π° BC1, PVRTC1 ΠΈ ETC1, ΠΈ 4 MB Π·Π° ΠΏΡΠ΅Π²ΠΎΠ΄ Π½Π° BC7.
ΠΡΠΎΡΠ΅ΡΠΎΡ Π½Π° ΠΌΠΈΠ³ΡΠΈΡΠ°ΡΠ΅ Π½Π° ΠΏΠΎΡΡΠΎΠ΅ΡΠΊΠΈΡΠ΅ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ Π½Π° Basis Universal Π΅ ΠΏΡΠΈΠ»ΠΈΡΠ½ΠΎ Π΅Π΄Π½ΠΎΡΡΠ°Π²Π΅Π½. ΠΠΎΠ²ΠΎΠ»Π½ΠΎ Π΅ Π΄Π° ΡΠ΅ ΠΏΡΠ΅ΠΊΠΎΠ΄ΠΈΡΠ°Π°Ρ ΠΏΠΎΡΡΠΎΠ΅ΡΠΊΠΈΡΠ΅ ΡΠ΅ΠΊΡΡΡΡΠΈ ΠΈΠ»ΠΈ ΡΠ»ΠΈΠΊΠΈ Π²ΠΎ Π½ΠΎΠ² ΡΠΎΡΠΌΠ°Ρ ΠΊΠΎΡΠΈΡΡΠ΅ΡΡΠΈ ΡΠ° Π°Π»Π°ΡΠΊΠ°ΡΠ° βbasisuβ ΠΎΠ±Π΅Π·Π±Π΅Π΄Π΅Π½Π° ΠΎΠ΄ ΠΏΡΠΎΠ΅ΠΊΡΠΎΡ, ΠΈΠ·Π±ΠΈΡΠ°ΡΡΠΈ Π³ΠΎ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΠΎ Π½ΠΈΠ²ΠΎ Π½Π° ΠΊΠ²Π°Π»ΠΈΡΠ΅Ρ. Π‘Π»Π΅Π΄Π½ΠΎ, Π²ΠΎ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ°ΡΠ°, ΠΏΡΠ΅Π΄ ΠΊΠΎΠ΄ΠΎΡ Π·Π° ΡΠ΅Π½Π΄Π΅ΡΠΈΡΠ°ΡΠ΅, ΡΡΠ΅Π±Π° Π΄Π° Π³ΠΎ ΠΈΠ½ΠΈΡΠΈΡΠ°Π»ΠΈΠ·ΠΈΡΠ°ΡΠ΅ ΡΡΠ°Π½ΡΠΊΠΎΠ΄Π΅ΡΠΎΡ basedu, ΠΊΠΎΡ Π΅ ΠΎΠ΄Π³ΠΎΠ²ΠΎΡΠ΅Π½ Π·Π° ΠΏΡΠ΅Π²Π΅Π΄ΡΠ²Π°ΡΠ΅ Π½Π° ΡΡΠ΅Π΄Π½ΠΈΠΎΡ ΡΠΎΡΠΌΠ°Ρ Π²ΠΎ ΡΠΎΡΠΌΠ°ΡΠΎΡ ΠΏΠΎΠ΄Π΄ΡΠΆΠ°Π½ ΠΎΠ΄ ΡΠ΅ΠΊΠΎΠ²Π½ΠΈΠΎΡ Π³ΡΠ°ΡΠΈΡΠΊΠΈ ΠΏΡΠΎΡΠ΅ΡΠΎΡ. ΠΠΎ ΠΈΡΡΠΎ Π²ΡΠ΅ΠΌΠ΅, ΡΠ»ΠΈΠΊΠΈΡΠ΅ Π½ΠΈΠ· ΡΠ΅Π»ΠΈΠΎΡ ΡΠΈΠ½ΡΠΈΡ Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΎΡΡΠ°Π½ΡΠ²Π°Π°Ρ ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΠ°Π½ΠΈ, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ ΠΈ Π²ΡΠΈΡΡΠ²Π°ΡΠ΅ Π²ΠΎ ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΠ°Π½Π° ΡΠΎΡΠΌΠ° Π²ΠΎ Π³ΡΠ°ΡΠΈΡΠΊΠΈΠΎΡ ΠΏΡΠΎΡΠ΅ΡΠΎΡ. ΠΠ°ΠΌΠ΅ΡΡΠΎ ΠΏΡΠ΅Π²Π΅Π½ΡΠΈΠ²Π½ΠΎ Π΄Π° ΡΠ° ΡΡΠ°Π½ΡΠΊΠΎΠ΄ΠΈΡΠ° ΡΠ΅Π»Π°ΡΠ° ΡΠ»ΠΈΠΊΠ°, Π³ΡΠ°ΡΠΈΡΠΊΠΈΠΎΡ ΠΏΡΠΎΡΠ΅ΡΠΎΡ ΡΠ΅Π»Π΅ΠΊΡΠΈΠ²Π½ΠΎ Π³ΠΈ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡΠ° ΡΠ°ΠΌΠΎ ΠΏΠΎΡΡΠ΅Π±Π½ΠΈΡΠ΅ Π΄Π΅Π»ΠΎΠ²ΠΈ ΠΎΠ΄ ΡΠ»ΠΈΠΊΠ°ΡΠ°.
ΠΠΎΠ΄Π΄ΡΠΆΡΠ²Π° Π·Π°ΡΡΠ²ΡΠ²Π°ΡΠ΅ Π½Π° Ρ Π΅ΡΠ΅ΡΠΎΠ³Π΅Π½ΠΈ ΡΠ΅ΠΊΡΡΡΡΠ½ΠΈ Π½ΠΈΠ·ΠΈ (ΠΌΠ°ΠΏΠΈ Π½Π° ΠΊΠΎΡΠΊΠΈ), Π²ΠΎΠ»ΡΠΌΠ΅ΡΡΠΈΡΠΊΠΈ ΡΠ΅ΠΊΡΡΡΡΠΈ, Π½ΠΈΠ·ΠΈ Π½Π° ΡΠ΅ΠΊΡΡΡΡΠΈ, Π½ΠΈΠ²ΠΎΠ° Π½Π° mipmap, Π²ΠΈΠ΄Π΅ΠΎ ΡΠ΅ΠΊΠ²Π΅Π½ΡΠΈ ΠΈΠ»ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»Π½ΠΈ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠΈ ΠΎΠ΄ ΡΠ΅ΠΊΡΡΡΡΠ° Π²ΠΎ Π΅Π΄Π½Π° Π΄Π°ΡΠΎΡΠ΅ΠΊΠ°. ΠΠ° ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠΆΠ½ΠΎ Π΅ Π΄Π° ΡΠ΅ ΡΠΏΠ°ΠΊΡΠ²Π°Π°Ρ Π½ΠΈΠ·Π° ΡΠ»ΠΈΠΊΠΈ Π²ΠΎ Π΅Π΄Π½Π° Π΄Π°ΡΠΎΡΠ΅ΠΊΠ° Π·Π° Π΄Π° ΡΠ΅ ΡΠΎΠ·Π΄Π°Π΄Π°Ρ ΠΌΠ°Π»ΠΈ Π²ΠΈΠ΄Π΅Π° ΠΈΠ»ΠΈ Π΄Π° ΡΠ΅ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠ°Π°Ρ Π½Π΅ΠΊΠΎΠ»ΠΊΡ ΡΠ΅ΠΊΡΡΡΡΠΈ ΠΊΠΎΡΠΈΡΡΠ΅ΡΡΠΈ Π·Π°Π΅Π΄Π½ΠΈΡΠΊΠ° ΠΏΠ°Π»Π΅ΡΠ° Π·Π° ΡΠΈΡΠ΅ ΡΠ»ΠΈΠΊΠΈ ΠΈ Π΄Π° ΡΠ΅ ΠΎΡΡΡΡΠ°Π½Π°Ρ ΡΠΈΠΏΠΈΡΠ½ΠΈΡΠ΅ ΡΠ°Π±Π»ΠΎΠ½ΠΈ Π·Π° ΡΠ»ΠΈΠΊΠΈ. ΠΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ°ΡΠ° Π½Π° ΡΠΈΡΡΠ΅ΡΠΎΡ Basis Universal ΠΏΠΎΠ΄Π΄ΡΠΆΡΠ²Π° ΠΊΠΎΠ΄ΠΈΡΠ°ΡΠ΅ ΡΠΎ ΠΏΠΎΠ²Π΅ΡΠ΅ Π½ΠΈΡΠΊΠΈ ΠΊΠΎΡΠΈΡΡΠ΅ΡΡΠΈ OpenMP. Π’ΡΠ°Π½ΡΠΊΠΎΠ΄Π΅ΡΠΎΡ ΠΌΠΎΠΌΠ΅Π½ΡΠ°Π»Π½ΠΎ ΡΠ°Π±ΠΎΡΠΈ ΡΠ°ΠΌΠΎ Π²ΠΎ ΡΠ΅ΠΆΠΈΠΌ ΡΠΎ Π΅Π΄Π½Π° Π½ΠΈΡΠΊΠ°.
Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Π½ΠΎ
ΠΠ°Π±Π΅Π»Π΅ΠΆΠ°Π½ΠΎ Π΅ Π΄Π΅ΠΊΠ° ΠΌΠΎΠΆΠ½ΠΎΡΡΠ° Π·Π° Π²Π³ΡΠ°Π΄ΡΠ²Π°ΡΠ΅ Π²ΠΈΠ΄Π΅ΠΎ ΡΠΎ Π½Π΅Π³ΠΎΠ²Π°ΡΠ° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΡΠ°ΠΌΠΎ Π½Π° ΡΡΡΠ°Π½Π°ΡΠ° Π½Π° Π³ΡΠ°ΡΠΈΡΠΊΠΈΠΎΡ ΠΏΡΠΎΡΠ΅ΡΠΎΡ Π³ΠΎ ΠΏΡΠ°Π²ΠΈ Basis Universal ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π·Π° ΡΠΎΠ·Π΄Π°Π²Π°ΡΠ΅ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ½ΠΈ ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΊΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΡΡΠΈ Π½Π° WebAssembly ΠΈ WebGL, ΠΊΠΎΠΈ ΠΈΡΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½ΠΎ ΠΌΠΎΠΆΠ°Ρ Π΄Π° ΠΏΡΠΈΠΊΠ°ΠΆΡΠ²Π°Π°Ρ ΡΡΠΎΡΠΈΡΠΈ ΠΌΠ°Π»ΠΈ Π²ΠΈΠ΄Π΅Π° ΡΠΎ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½ΠΎ ΠΎΠΏΡΠΎΠ²Π°ΡΡΠ²Π°ΡΠ΅ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΎΡ. Π‘Γ¨ Π΄ΠΎΠ΄Π΅ΠΊΠ° ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈΡΠ΅ Π·Π° SIMD Π½Π΅ ΠΌΠΎΠΆΠ°Ρ Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠ°Ρ Π²ΠΎ WebAssembly ΡΠΎ ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π°Π»Π½ΠΈ ΠΊΠΎΠ΄Π΅ΡΠΈ, ΠΎΠ²Π° Π½ΠΈΠ²ΠΎ Π½Π° ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈ ΡΓ¨ ΡΡΡΠ΅ Π½Π΅ Π΅ Π΄ΠΎΡΡΠΈΠΆΠ½ΠΎ, ΡΠ°ΠΊΠ° ΡΡΠΎ Π²ΠΈΠ΄Π΅ΠΎΡΠΎ Π±Π°Π·ΠΈΡΠ°Π½ΠΎ Π½Π° ΡΠ΅ΠΊΡΡΡΡΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ Π²ΠΎ ΠΎΠ±Π»Π°ΡΡΠΈ ΠΊΠ°Π΄Π΅ ΡΡΠΎ ΠΊΠΎΠ½Π²Π΅Π½ΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΠΎ Π²ΠΈΠ΄Π΅ΠΎ Π½Π΅ Π΅ ΠΏΡΠΈΠΌΠ΅Π½Π»ΠΈΠ²ΠΎ. ΠΠΎ ΠΌΠΎΠΌΠ΅Π½ΡΠΎΠ² ΡΠ΅ ΠΏΠΎΠ΄Π³ΠΎΡΠ²ΡΠ²Π° Π·Π° ΠΎΠ±ΡΠ°Π²ΡΠ²Π°ΡΠ΅ ΠΊΠΎΠ΄ ΡΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ Π·Π° Π²ΠΈΠ΄Π΅ΠΎ, Π²ΠΊΠ»ΡΡΡΠ²Π°ΡΡΠΈ ΡΠ° ΠΈ ΠΌΠΎΠΆΠ½ΠΎΡΡΠ° Π·Π° ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅
ΠΠ·Π²ΠΎΡ: opennet.ru