рдЧреБрдЧрд▓ рд░ рджреНрд╡рд┐рдкрдж рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рдЖрдзрд╛рд░ рд╡рд┐рд╢реНрд╡рд╡реНрдпрд╛рдкреА рдмрдирд╛рд╡рдЯ рдХрдореНрдкреНрд░реЗрд╕рди рдкреНрд░рдгрд╛рд▓реА

рдЧреБрдЧрд▓ рд░ рджреНрд╡рд┐рдкрдж рдЦреЛрд▓рд┐рдпреЛ рд╕реНрд░реЛрдд рдкрд╛рдард╣рд░реВ рд╡рд┐рд╢реНрд╡рд╡реНрдпрд╛рдкреА рдЖрдзрд╛рд░, рдХреБрд╢рд▓ рдмрдирд╛рд╡рдЯ рдХрдореНрдкреНрд░реЗрд╕рдирдХреЛ рд▓рд╛рдЧрд┐ рдХреЛрдбреЗрдХ рд░ рдЫрд╡рд┐- рд░ рднрд┐рдбрд┐рдпреЛ-рдЖрдзрд╛рд░рд┐рдд рдмрдирд╛рд╡рдЯрд╣рд░реВ рд╡рд┐рддрд░рдг рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ рд╕рдореНрдмрдиреНрдзрд┐рдд рд╡рд┐рд╢реНрд╡рд╡реНрдпрд╛рдкреА ". рдЖрдзрд╛рд░" рдлрд╛рдЗрд▓ рдврд╛рдБрдЪрд╛ред рд╕рдиреНрджрд░реНрдн рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛрдб C++ рд░ рдорд╛ рд▓реЗрдЦрд┐рдПрдХреЛ рдЫ рдЖрдкреВрд░реНрддрд┐ рдЧрд░рд┐рдпреЛ Apache 2.0 рдЕрдиреНрддрд░реНрдЧрдд рдЗрдЬрд╛рдЬрддрдкрддреНрд░ рдкреНрд░рд╛рдкреНрддред

рдЖрдзрд╛рд░ рд╡рд┐рд╢реНрд╡рд╡реНрдпрд╛рдкреА рдкреВрд░рдХрд╣рд░реВ рдкрд╣рд┐рд▓реЗ рдкреНрд░рдХрд╛рд╢рд┐рдд Draco 3D рдбрд╛рдЯрд╛ рдХрдореНрдкреНрд░реЗрд╕рди рдкреНрд░рдгрд╛рд▓реА рд░ GPU рдХреЛ рд▓рд╛рдЧрд┐ рдмрдирд╛рд╡рдЯ рдЖрдкреВрд░реНрддрд┐ рд╕рдВрдЧ рд╕рдорд╕реНрдпрд╛ рд╕рдорд╛рдзрд╛рди рдЧрд░реНрди рдкреНрд░рдпрд╛рд╕ рдЧрд░реНрджрдЫред рдЕрд╣рд┐рд▓реЗ рд╕рдореНрдо, рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рд╣рд░реВрд▓реЗ рдЙрдЪреНрдЪ рдкреНрд░рджрд░реНрд╢рди рд╣рд╛рд╕рд┐рд▓ рдЧрд░реНрдиреЗ рддрд░ GPU-рд╡рд┐рд╢рд┐рд╖реНрдЯ рд░ рдзреЗрд░реИ рдбрд┐рд╕реНрдХ рд╕реНрдкреЗрд╕ рд▓рд┐рдиреЗ рдирд┐рдореНрди-рд╕реНрддрд░ рдврд╛рдБрдЪрд╛рд╣рд░реВ рдмреАрдЪ рдЫрдиреМрдЯ рдЧрд░реНрди рд╕реАрдорд┐рдд рдЫрдиреН, рд░ рдЕрдиреНрдп рдврд╛рдБрдЪрд╛рд╣рд░реВ рдЬрд╕рд▓реЗ рдЖрдХрд╛рд░ рдШрдЯрд╛рдЙрдБрдЫ рддрд░ рдкреНрд░рджрд░реНрд╢рдирдорд╛ GPU рдмрдирд╛рд╡рдЯрд╕рдБрдЧ рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзрд╛ рдЧрд░реНрди рд╕рдХреНрджреИрдиред

рдЖрдзрд╛рд░ рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рдврд╛рдБрдЪрд╛рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдиреЗрдЯрд┐рдн GPU рдмрдирд╛рд╡рдЯрд╣рд░реВрдХреЛ рдкреНрд░рджрд░реНрд╢рди рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫ, рддрд░ рдХрдореНрдкреНрд░реЗрд╕рдирдХреЛ рдЙрдЪреНрдЪ рд╕реНрддрд░ рдкреНрд░рджрд╛рди рдЧрд░реНрджрдЫред
рдЖрдзрд╛рд░ рдПрдХ рдордзреНрдпрд╡рд░реНрддреА рдврд╛рдБрдЪрд╛ рд╣реЛ рдЬрд╕рд▓реЗ GPU рдмрдирд╛рд╡рдЯрдХреЛ рджреНрд░реБрдд рдЯреНрд░рд╛рдиреНрд╕рдХреЛрдбрд┐рдЩрд▓рд╛рдИ рд╡рд┐рднрд┐рдиреНрди рдирд┐рдореНрди-рд╕реНрддрд░ рдврд╛рдБрдЪрд╛рд╣рд░реВрдорд╛ рджреБрд╡реИ рдбреЗрд╕реНрдХрдЯрдк рдкреНрд░рдгрд╛рд▓реА рд░ рдореЛрдмрд╛рдЗрд▓ рдЙрдкрдХрд░рдгрд╣рд░реВрдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреБ рдЕрдШрд┐ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рдкреНрд░рджрд╛рди рдЧрд░реНрджрдЫред PVRTC1 (4bpp RGB), BC7 (6 RGB рдореЛрдб), BC1-5, ETC1, рд░ ETC2 рдврд╛рдБрдЪрд╛рд╣рд░реВ рд╣рд╛рд▓ рд╕рдорд░реНрдерд┐рдд рдЫрдиреНред ASTC рдврд╛рдБрдЪрд╛ (RGB рд╡рд╛ RGBA) рд░ BC4 рдХреЛ рд▓рд╛рдЧрд┐ 5/7 RGBA рдореЛрдбрд╣рд░реВ рд░ PVRTC4 рдХреЛ рд▓рд╛рдЧрд┐ 1bpp RGBA рдХреЛ рд▓рд╛рдЧрд┐ рднрд╡рд┐рд╖реНрдпрдХреЛ рд╕рдорд░реНрдерди рдЕрдкреЗрдХреНрд╖рд┐рдд рдЫред

рдЧреБрдЧрд▓ рд░ рджреНрд╡рд┐рдкрдж рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рдЖрдзрд╛рд░ рд╡рд┐рд╢реНрд╡рд╡реНрдпрд╛рдкреА рдмрдирд╛рд╡рдЯ рдХрдореНрдкреНрд░реЗрд╕рди рдкреНрд░рдгрд╛рд▓реА

рдЖрдзрд╛рд░ рдврд╛рдБрдЪрд╛рдорд╛ рднрдПрдХрд╛ рдмрдирд╛рд╡рдЯрд╣рд░реВрд▓реЗ 6-8 рдЧреБрдгрд╛ рдХрдо рднрд┐рдбрд┐рдпреЛ рдореЗрдореЛрд░реА рд▓рд┐рдиреНрдЫрдиреН рд░ JPEG рдврд╛рдБрдЪрд╛рдорд╛ рдЖрдзрд╛рд░рд┐рдд рд╕рд╛рдорд╛рдиреНрдп рдмрдирд╛рд╡рдЯрдХреЛ рддреБрд▓рдирд╛рдорд╛ рд▓рдЧрднрдЧ рдЖрдзрд╛ рдбрд╛рдЯрд╛ рд░ RDO рдореЛрдбрдорд╛ рдмрдирд╛рд╡рдЯрд╣рд░реВ рднрдиреНрджрд╛ 10-25% рдХрдо рд╕реНрдерд╛рдирд╛рдиреНрддрд░рдг рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫред рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, 891 KB рдХреЛ JPEG рдЫрд╡рд┐ рдЖрдХрд╛рд░ рд░ 1 MB рдХреЛ ETC1 рдмрдирд╛рд╡рдЯ рд╕рдВрдЧ, рдЖрдзрд╛рд░ рдврд╛рдБрдЪрд╛рдорд╛ рдбрд╛рдЯрд╛ рд╕рд╛рдЗрдЬ рдЙрдЪреНрдЪрддрдо рдЧреБрдгрд╕реНрддрд░ рдореЛрдбрдорд╛ 469 KB рд╣реЛред рднрд┐рдбрд┐рдпреЛ рдореЗрдореЛрд░реАрдорд╛ рдЯреЗрдХреНрд╕рдЪрд░ рд░рд╛рдЦреНрджрд╛, рдкрд░реАрдХреНрд╖рдгрдорд╛ рдкреНрд░рдпреЛрдЧ рд╣реБрдиреЗ JPEG рд░ PNG рдмрдирд╛рд╡рдЯрд▓реЗ резрем рдПрдордмреА рдореЗрдореЛрд░реА рдЦрдкрдд рдЧрд░реНрдЫ, рдЬрдмрдХрд┐ рдмрдирд╛рд╡рдЯрдорд╛
рдЖрдзрд╛рд░рд▓рд╛рдИ BC2, PVRTC1 рд░ ETC1 рдорд╛ рдЕрдиреБрд╡рд╛рджрдХреЛ рд▓рд╛рдЧрд┐ 1 MB рдореЗрдореЛрд░реА, рд░ BC4 рдорд╛ рдЕрдиреБрд╡рд╛рджрдХреЛ рд▓рд╛рдЧрд┐ 7 MB рдореЗрдореЛрд░реА рдЪрд╛рд╣рд┐рдиреНрдЫред

рдЧреБрдЧрд▓ рд░ рджреНрд╡рд┐рдкрдж рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рдЖрдзрд╛рд░ рд╡рд┐рд╢реНрд╡рд╡реНрдпрд╛рдкреА рдмрдирд╛рд╡рдЯ рдХрдореНрдкреНрд░реЗрд╕рди рдкреНрд░рдгрд╛рд▓реА

рдЕрд╡рд╕реНрдерд┐рдд рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВрд▓рд╛рдИ рдЖрдзрд╛рд░ рдпреБрдирд┐рднрд░реНрд╕рд▓рдорд╛ рд╕реНрдерд╛рдирд╛рдиреНрддрд░рдг рдЧрд░реНрдиреЗ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдПрдХрджрдо рд╕рд░рд▓ рдЫред рдпреЛ рдЖрд╡рд╢реНрдпрдХ рдЧреБрдгрд╕реНрддрд░ рд╕реНрддрд░ рдЪрдпрди рдЧрд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдЧрд░рд┐рдПрдХреЛ "basisu" рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реА рдирдпрд╛рдБ рдврд╛рдБрдЪрд╛рдорд╛ рдЕрд╡рд╕реНрдерд┐рдд рдмрдирд╛рд╡рдЯ рд╡рд╛ рдЫрд╡рд┐рд╣рд░реВ рдкреБрди: рдХреЛрдб рдЧрд░реНрди рдкрд░реНрдпрд╛рдкреНрдд рдЫред рдЕрд░реНрдХреЛ, рдЕрдиреБрдкреНрд░рдпреЛрдЧрдорд╛, рд░реЗрдиреНрдбрд░рд┐рдЩ рдХреЛрдб рдЕрдШрд┐, рддрдкрд╛рдИрдВрд▓реЗ baseu рдЯреНрд░рд╛рдиреНрд╕рдХреЛрдбрд░ рд╕реБрд░реБ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫ, рдЬреБрди рд╣рд╛рд▓рдХреЛ GPU рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рдврд╛рдБрдЪрд╛рдорд╛ рдордзреНрдпрд╡рд░реНрддреА рдврд╛рдБрдЪрд╛ рдЕрдиреБрд╡рд╛рдж рдЧрд░реНрди рдЬрд┐рдореНрдореЗрд╡рд╛рд░ рдЫред рдПрдХреИ рд╕рдордпрдорд╛, рд╕рдореНрдкреВрд░реНрдг рдкреНрд░рд╢реЛрдзрди рд╢реНрд░реГрдВрдЦрд▓рд╛рдорд╛ рдЫрд╡рд┐рд╣рд░реВ рд╕рдВрдХреБрдЪрд┐рдд рд░рд╣рдиреНрдЫрдиреН, GPU рдорд╛ рд╕рдВрдХреБрдЪрд┐рдд рд░реВрдкрдорд╛ рд▓реЛрдб рдЧрд░рд┐рдБрджреИред рдкреВрд░реИ рдЫрд╡рд┐рд▓рд╛рдИ рдкреНрд░рд┐-рдПрдореНрдкреНрдЯрд┐рдн рд░реВрдкрдорд╛ рдЯреНрд░рд╛рдиреНрд╕рдХреЛрдб рдЧрд░реНрдиреБрдХреЛ рд╕рдЯреНрдЯрд╛, GPU рд▓реЗ рдЫрд╡рд┐рдХреЛ рдЖрд╡рд╢реНрдпрдХ рднрд╛рдЧрд╣рд░реВ рдорд╛рддреНрд░ рдбрд┐рдХреЛрдб рдЧрд░реНрджрдЫред

рдпрд╕рд▓реЗ рд╡рд┐рд╖рдо рдмрдирд╛рд╡рдЯ рдПрд░реЗ (рдХреНрдпреВрдмрдореНрдпрд╛рдк), рднреЛрд▓реНрдпреБрдореЗрдЯреНрд░рд┐рдХ рдмрдирд╛рд╡рдЯ, рдмрдирд╛рд╡рдЯ рдПрд░реЗ, рдорд┐рдкрдореНрдпрд╛рдк рд╕реНрддрд░, рднрд┐рдбрд┐рдпреЛ рдЕрдиреБрдХреНрд░рдо рд╡рд╛ рдордирдорд╛рдиреА рдмрдирд╛рд╡рдЯ рдЯреБрдХреНрд░рд╛рд╣рд░реВ рдПрдХ рдлрд╛рдЗрд▓рдорд╛ рдмрдЪрдд рдЧрд░реНрди рд╕рдорд░реНрдерди рдЧрд░реНрджрдЫред рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рд╕рд╛рдирд╛ рднрд┐рдбрд┐рдпреЛрд╣рд░реВ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдирдХрд╛ рд▓рд╛рдЧрд┐ рдПрдЙрдЯрд╛ рдлрд╛рдЗрд▓рдорд╛ рдЫрд╡рд┐рд╣рд░реВрдХреЛ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдкреНрдпрд╛рдХ рдЧрд░реНрди, рд╡рд╛ рд╕рдмреИ рдЫрд╡рд┐рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд╕рд╛рдЭрд╛ рдкреНрдпрд╛рд▓реЗрдЯ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдзреЗрд░реИ рдмрдирд╛рд╡рдЯрд╣рд░реВ рд╕рдВрдпреЛрдЬрди рдЧрд░реНрди рд░ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЫрд╡рд┐ рдЯреЗрдореНрдкреНрд▓реЗрдЯрд╣рд░реВ рдШрдЯрд╛рдЙрди рд╕рдореНрднрд╡ рдЫред рдЖрдзрд╛рд░ рдпреБрдирд┐рднрд░реНрд╕рд▓ рдПрдиреНрдХреЛрдбрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирд▓реЗ OpenMP рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдмрд╣реБ-рдереНрд░реЗрдбреЗрдб рдЗрдиреНрдХреЛрдбрд┐рдЩрд▓рд╛рдИ рд╕рдорд░реНрдерди рдЧрд░реНрджрдЫред рдЯреНрд░рд╛рдиреНрд╕рдХреЛрдбрд░рд▓реЗ рд╣рд╛рд▓ рдПрдХрд▓-рдереНрд░реЗрдбреЗрдб рдореЛрдбрдорд╛ рдорд╛рддреНрд░ рдХрд╛рдо рдЧрд░реНрдЫред

рдпрд╕рдмрд╛рд╣реЗрдХ рдЙрдкрд▓рдмреНрдз рдЫ рдмреНрд░рд╛рдЙрдЬрд░рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдЖрдзрд╛рд░ рд╡рд┐рд╢реНрд╡рд╡реНрдпрд╛рдкреА рдбрд┐рдХреЛрдбрд░, WebAssembly рдврд╛рдБрдЪрд╛рдорд╛ рдбреЗрд▓рд┐рднрд░ рдЧрд░рд┐рдПрдХреЛ, рдЬреБрди WebGL-рдЖрдзрд╛рд░рд┐рдд рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВрдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫред рдЕрдиреНрддрддрдГ, рдЧреБрдЧрд▓рд▓реЗ рд╕рдмреИ рдкреНрд░рдореБрдЦ рдмреНрд░рд╛рдЙрдЬрд░рд╣рд░реВрдорд╛ рдЖрдзрд╛рд░ рдпреБрдирд┐рднрд░реНрд╕рд▓рд▓рд╛рдИ рд╕рдорд░реНрдерди рдЧрд░реНрди рд░ рдпрд╕рд▓рд╛рдИ WebGL рдХреЛ рд▓рд╛рдЧрд┐ рдкреЛрд░реНрдЯреЗрдмрд▓ рдмрдирд╛рд╡рдЯ рдврд╛рдБрдЪрд╛ рд░ рднрд╡рд┐рд╖реНрдпрдХреЛ рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛рдХреЛ рд░реВрдкрдорд╛ рдкреНрд░рдЪрд╛рд░ рдЧрд░реНрди рдЪрд╛рд╣рдиреНрдЫред WebGPU, рдЕрд╡рдзрд╛рд░рдгрд╛рддреНрдордХ рд░реВрдкрдорд╛ Vulkan, Metal рд░ Direct3D 12 API рд╕рдБрдЧ рдорд┐рд▓реНрджреЛрдЬреБрд▓реНрджреЛ рдЫред

рдпреЛ рдиреЛрдЯ рдЧрд░рд┐рдПрдХреЛ рдЫ рдХрд┐ GPU рдЫреЗрдЙрдорд╛ рдорд╛рддреНрд░ рдпрд╕рдХреЛ рдкрдЫрд┐рдХреЛ рдкреНрд░рд╢реЛрдзрди рд╕рдВрдЧ рднрд┐рдбрд┐рдпреЛ рдЗрдореНрдмреЗрдб рдЧрд░реНрдиреЗ рдХреНрд╖рдорддрд╛рд▓реЗ рдмреЗрд╕ рдпреБрдирд┐рднрд░реНрд╕рд▓рд▓рд╛рдИ WebAssembly рд░ WebGL рдорд╛ рдЧрддрд┐рд╢реАрд▓ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдиреНрдЯрд░рдлреЗрд╕рд╣рд░реВ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрди рдПрдХ рд░реЛрдЪрдХ рд╕рдорд╛рдзрд╛рди рдмрдирд╛рдЙрдБрдЫ, рдЬрд╕рд▓реЗ рдиреНрдпреВрдирддрдо CPU рд▓реЛрдбрдХреЛ рд╕рд╛рде рд╕рдпреМрдВ рд╕рд╛рдирд╛ рднрд┐рдбрд┐рдпреЛрд╣рд░реВ рдПрдХреИ рд╕рд╛рде рдкреНрд░рджрд░реНрд╢рди рдЧрд░реНрди рд╕рдХреНрдЫред рдЬрдмрд╕рдореНрдо SIMD рдирд┐рд░реНрджреЗрд╢рдирд╣рд░реВ рдкрд░рдореНрдкрд░рд╛рдЧрдд рдХреЛрдбреЗрдХрд╣рд░реВрд╕рдБрдЧ WebAssembly рдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХрд┐рдБрджреИрди, рдкреНрд░рджрд░реНрд╢рдирдХреЛ рдпреЛ рд╕реНрддрд░ рдЕрдЭреИ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрди рд╕рдХрд┐рдБрджреИрди, рддреНрдпрд╕реИрд▓реЗ рдмрдирд╛рд╡рдЯ-рдЖрдзрд╛рд░рд┐рдд рднрд┐рдбрд┐рдпреЛ рдХреНрд╖реЗрддреНрд░рд╣рд░реВрдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ рдЬрд╣рд╛рдБ рдкрд░рдореНрдкрд░рд╛рдЧрдд рднрд┐рдбрд┐рдпреЛ рд▓рд╛рдЧреВ рд╣реБрдБрджреИрдиред рднрд┐рдбрд┐рдпреЛрдХреЛ рд▓рд╛рдЧрд┐ рдЕрддрд┐рд░рд┐рдХреНрдд рдЕрдкреНрдЯрд┐рдорд╛рдЗрдЬреЗрд╕рдирдХреЛ рдХреЛрдб рд╣рд╛рд▓ рдкреНрд░рдХрд╛рд╢рдирдХреЛ рд▓рд╛рдЧрд┐ рддрдпрд╛рд░ рднрдЗрд░рд╣реЗрдХреЛ рдЫ, рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗ рдХреНрд╖рдорддрд╛ рд╕рд╣рд┐рдд I-рдлреНрд░реЗрдорд╣рд░реВ рд░ P-рдлреНрд░реЗрдорд╣рд░реВ рдЕрдиреБрдХреВрд▓реА рдкреНрдпрд╛рдбрд┐рдЩ (CR) рд╕рдорд░реНрдердирдХреЛ рд╕рд╛рдеред

рд╕реНрд░реЛрдд: opennet.ru

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдердкреНрди