╨Т
WebGPU рдХреЛ рдореБрдЦреНрдп рд▓рдХреНрд╖реНрдп рднрдиреЗрдХреЛ рд╡реЗрдм рдкреНрд▓реЗрдЯрдлрд░реНрдордХреЛ рд▓рд╛рдЧрд┐ рд╕реБрд░рдХреНрд╖рд┐рдд, рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛-рдореИрддреНрд░реА, рдкреЛрд░реНрдЯреЗрдмрд▓, рд░ рдЙрдЪреНрдЪ-рдкреНрд░рджрд░реНрд╢рди рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩ рдЗрдиреНрдЯрд░рдлреЗрд╕ рдкреНрд░рджрд╛рди рдЧрд░реНрдиреБ рд╣реЛ рдЬрд╕рд▓реЗ рдереНрд░реАрдбреА рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдЯреЗрдХреНрдиреЛрд▓реЛрдЬреАрд╣рд░реВ рд░ рдЖрдзреБрдирд┐рдХ рдкреНрд░рдгрд╛рд▓реА рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдПрдкреАрдЖрдИрд╣рд░реВ, рдЬрд╕реНрддреИ Windows, рдзрд╛рддреБрдорд╛ Direct3D 3 рджреНрд╡рд╛рд░рд╛ рдЙрдкрд▓рдмреНрдз рдЧрд░рд╛рдЗрдПрдХрд╛ рдХреНрд╖рдорддрд╛рд╣рд░реВрдХреЛ рд▓рд╛рдн рдЙрдард╛рдЙрди рд╕рдХреНрдЫред macOS рдорд╛, рд░ Vulkan Linux рдорд╛ред рд╡реИрдЪрд╛рд░рд┐рдХ рд░реВрдкрдорд╛, WebGPU WebGL рдмрд╛рдЯ рдзреЗрд░реИ рдлрд░рдХ рдЫ рдЬрд╕рд░реА Vulkan OpenGL рдмрд╛рдЯ рдлрд░рдХ рдЫ, рд░ рдПрдХреИ рд╕рдордпрдорд╛ рдпреЛ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ API рдорд╛ рдЖрдзрд╛рд░рд┐рдд рдЫреИрди, рддрд░ рдПрдХ рд╡рд┐рд╢реНрд╡рд╡реНрдпрд╛рдкреА рддрд╣ рд╣реЛ рдЬрд╕рд▓реЗ рд╕рд╛рдорд╛рдиреНрдпрддрдпрд╛ Vulkan рдорд╛ рдкрд╛рдЗрдиреЗ рд╕рдорд╛рди рдирд┐рдореНрди-рд╕реНрддрд░ рдЖрджрд┐рдо рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрдЫ, рдзрд╛рддреБ рд░ рдкреНрд░рддреНрдпрдХреНрд╖ 12Dред
WebGPU рд▓реЗ рдЬрд╛рднрд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВрд▓рд╛рдИ рд╕рдВрдЧрдарди, рдкреНрд░рд╢реЛрдзрди, рд░ GPU рдорд╛ рдЖрджреЗрд╢рд╣рд░реВрдХреЛ рдкреНрд░рд╕рд╛рд░рдг, рд╕рдореНрдмрджреНрдз рд╕реНрд░реЛрддрд╣рд░реВ, рдореЗрдореЛрд░реА, рдмрдлрд░рд╣рд░реВ, рдмрдирд╛рд╡рдЯ рд╡рд╕реНрддреБрд╣рд░реВ, рд░ рдХрдореНрдкрд╛рдЗрд▓ рдЧрд░рд┐рдПрдХреЛ рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рд╢реЗрдбрд░рд╣рд░реВ рдкреНрд░рдмрдиреНрдз рдЧрд░реНрди рдирд┐рдореНрди-рд╕реНрддрд░рдХреЛ рдирд┐рдпрдиреНрддреНрд░рдгрдХреЛ рд╕рд╛рде рдкреНрд░рджрд╛рди рдЧрд░реНрджрдЫред рдпрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдгрд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдУрднрд░рд╣реЗрдб рд▓рд╛рдЧрддрд╣рд░реВ рдШрдЯрд╛рдПрд░ рд░ GPU рд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрдиреЗ рджрдХреНрд╖рддрд╛ рдмрдврд╛рдПрд░ рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдЙрдЪреНрдЪ рдкреНрд░рджрд░реНрд╢рди рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред
WebGPU рд▓реЗ рд╡реЗрдмрдХреЛ рд▓рд╛рдЧрд┐ рдкреВрд░реНрдг рдЬрдЯрд┐рд▓ 3D рдкрд░рд┐рдпреЛрдЬрдирд╛рд╣рд░реВ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрди рд╕рдореНрднрд╡ рдмрдирд╛рдЙрдБрдЫ рдЬреБрди рд╕реНрдЯреНрдпрд╛рдиреНрдбрдЕрд▓реЛрди рдкреНрд░реЛрдЧреНрд░рд╛рдорд╣рд░реВ рднрдиреНрджрд╛ рдирд░рд╛рдореНрд░реЛ рдХрд╛рдо рдЧрд░реНрджреИрди рдЬрд╕рд▓реЗ Vulkan, Metal рд╡рд╛ Direct3D рд▓рд╛рдИ рдкреНрд░рддреНрдпрдХреНрд╖ рд░реВрдкрдорд╛ рдкрд╣реБрдБрдЪ рдЧрд░реНрджрдЫ, рддрд░ рд╡рд┐рд╢реЗрд╖ рдкреНрд▓реЗрдЯрдлрд░реНрдорд╣рд░реВрдорд╛ рдмрд╛рдБрдзрд┐рдПрдХреЛ рдЫреИрдиред WebGPU рд▓реЗ WebAssembly рдкреНрд░рд╡рд┐рдзрд┐рдХреЛ рдкреНрд░рдпреЛрдЧ рдорд╛рд░реНрдлрдд рдиреЗрдЯрд┐рдн рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдкреНрд░реЛрдЧреНрд░рд╛рдорд╣рд░реВрд▓рд╛рдИ рд╡реЗрдм-рд╕рдХреНрд╖рдо рдлрд╛рд░рдордорд╛ рдкреЛрд░реНрдЯ рдЧрд░реНрджрд╛ рдЕрддрд┐рд░рд┐рдХреНрдд рдХреНрд╖рдорддрд╛рд╣рд░реВ рдкрдирд┐ рдкреНрд░рджрд╛рди рдЧрд░реНрджрдЫред 3D рдЧреНрд░рд╛рдлрд┐рдХреНрд╕рдХреЛ рдЕрддрд┐рд░рд┐рдХреНрдд, WebGPU рд▓реЗ GPU рдорд╛ рдЕрдлрд▓реЛрдбрд┐рдЩ рдЧрдгрдирд╛рд╣рд░реВ рд░ рд╢реЗрдбрд░ рд╡рд┐рдХрд╛рд╕рд▓рд╛рдИ рд╕рдорд░реНрдерди рдЧрд░реНрдиреЗ рдХреНрд╖рдорддрд╛рд╣рд░реВ рдкрдирд┐ рд╕рдореЗрдЯреНрдЫред рд╢реЗрдбрд░реНрд╕
WebGPU рд▓реЗ рд╕реНрд░реЛрддрд╣рд░реВрдХреЛ рдЫреБрдЯреНрдЯреИ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди, рддрдпрд╛рд░реА рдХрд╛рд░реНрдп, рд░ GPU рдорд╛ рдЖрджреЗрд╢рд╣рд░реВрдХреЛ рдкреНрд░рд╕рд╛рд░рдг рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрдЫ (WebGL рдорд╛, рдПрдЙрдЯрд╛ рд╡рд╕реНрддреБ рдПрдХреИ рдкрдЯрдХ рд╕рдмреИ рдХреБрд░рд╛рдХреЛ рд▓рд╛рдЧрд┐ рдЬрд┐рдореНрдореЗрд╡рд╛рд░ рдерд┐рдпреЛ)ред рддреАрди рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕рдиреНрджрд░реНрднрд╣рд░реВ рдкреНрд░рджрд╛рди рдЧрд░рд┐рдПрдХреЛ рдЫ:
рдмрдирд╛рд╡рдЯ рд░ рдмрдлрд░рд╣рд░реВ рдЬрд╕реНрддрд╛ рд╕реНрд░реЛрддрд╣рд░реВ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрди GPU рдЙрдкрдХрд░рдг; GPUCommandEncoder рд╡реНрдпрдХреНрддрд┐рдЧрдд рдЖрджреЗрд╢рд╣рд░реВ рдЗрдиреНрдХреЛрдбрд┐рдЩрдХрд╛ рд▓рд╛рдЧрд┐, рд░реЗрдиреНрдбрд░рд┐рдЩ рд░ рдЧрдгрдирд╛ рдЪрд░рдгрд╣рд░реВ рд╕рд╣рд┐рдд; GPUCommandBuffer рд▓рд╛рдИ GPU рдорд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирдХреЛ рд▓рд╛рдЧрд┐ рд▓рд╛рдордмрджреНрдз рдЧрд░рд┐рдиреЗрдЫред рдкрд░рд┐рдгрд╛рдо рдПрдХ рд╡рд╛ рдмрдвреА рдХреНрдпрд╛рдирднрд╛рд╕ рддрддреНрд╡рд╣рд░реВрд╕рдБрдЧ рд╕рдореНрдмрдиреНрдзрд┐рдд рдХреНрд╖реЗрддреНрд░рдорд╛ рд░реЗрдиреНрдбрд░ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ, рд╡рд╛ рдЖрдЙрдЯрдкреБрдЯ рдмрд┐рдирд╛ рдкреНрд░рд╢реЛрдзрди рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ (рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдЧрдгрдирд╛ рдХрд╛рд░реНрдпрд╣рд░реВ рдЪрд▓рд╛рдЙрдБрджрд╛)ред рдЪрд░рдгрд╣рд░реВ рдЕрд▓рдЧ рдЧрд░реНрдирд╛рд▓реЗ рд╡рд┐рднрд┐рдиреНрди рдереНрд░реЗрдбрд╣рд░реВрдорд╛ рдЪрд▓реНрди рд╕рдХреНрдиреЗ рд╡рд┐рднрд┐рдиреНрди рд╣реНрдпрд╛рдиреНрдбрд▓рд░рд╣рд░реВрдорд╛ рд╕реНрд░реЛрдд рдирд┐рд░реНрдорд╛рдг рд░ рддрдпрд╛рд░реА рдХрд╛рд░реНрдпрд╣рд░реВ рдЫреБрдЯреНрдпрд╛рдЙрди рд╕рдЬрд┐рд▓реЛ рдмрдирд╛рдЙрдБрдЫред
WebGPU рд░ WebGL рдмреАрдЪрдХреЛ рджреЛрд╕реНрд░реЛ рднрд┐рдиреНрдирддрд╛ рд░рд╛рдЬреНрдпрд╣рд░реВ рд╣реНрдпрд╛рдиреНрдбрд▓ рдЧрд░реНрдиреЗ рдлрд░рдХ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╣реЛред WebGPU рд▓реЗ рджреБрдИ рд╡рд╕реНрддреБрд╣рд░реВ рдкреНрд░рджрд╛рди рдЧрд░реНрджрдЫ - GPURenderPipeline рд░ GPUComputePipeline, рдЬрд╕рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рджреНрд╡рд╛рд░рд╛ рдкреВрд░реНрд╡-рдкрд░рд┐рднрд╛рд╖рд┐рдд рд╡рд┐рднрд┐рдиреНрди рд░рд╛рдЬреНрдпрд╣рд░реВ рд╕рдВрдпреЛрдЬрди рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫ, рдЬрд╕рд▓реЗ рдмреНрд░рд╛рдЙрдЬрд░рд▓рд╛рдИ рд╢реЗрдбрд░рд╣рд░реВ рдкреБрди: рдХрдореНрдкрд╛рдЗрд▓ рдЧрд░реНрдиреЗ рдЬрд╕реНрддрд╛ рдЕрддрд┐рд░рд┐рдХреНрдд рдХрд╛рдорд╣рд░реВрдорд╛ рд╕реНрд░реЛрддрд╣рд░реВ рдмрд░реНрдмрд╛рдж рдирдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред рд╕рдорд░реНрдерд┐рдд рд░рд╛рдЬреНрдпрд╣рд░реВрдорд╛ рд╕рдорд╛рд╡реЗрд╢ рдЫ: рд╢реЗрдбрд░рд╣рд░реВ, рднреЗрд░реНрдЯреЗрдХреНрд╕ рдмрдлрд░ рд░ рд╡рд┐рд╢реЗрд╖рддрд╛ рд▓реЗрдЖрдЙрдЯрд╣рд░реВ, рдЯрд╛рдБрд╕рд┐рдиреЗ рд╕рдореВрд╣ рд▓реЗрдЖрдЙрдЯрд╣рд░реВ, рдорд┐рд╢реНрд░рдг, рдЧрд╣рд┐рд░рд╛рдЗ рд░ рдврд╛рдБрдЪрд╛рд╣рд░реВ, рд░ рдкреЛрд╕реНрдЯ-рд░реЗрдиреНрдбрд░ рдЖрдЙрдЯрдкреБрдЯ рдврд╛рдБрдЪрд╛рд╣рд░реВред
WebGPU рдХреЛ рддреЗрд╕реНрд░реЛ рд╡рд┐рд╢реЗрд╖рддрд╛рд▓рд╛рдИ рдмрд╛рдЗрдиреНрдбрд┐рдЩ рдореЛрдбреЗрд▓ рднрдирд┐рдиреНрдЫ, рдареВрд▓реЛ рдорд╛рддреНрд░рд╛рдорд╛
Vulkan рдорд╛ рдЕрд╡рд╕реНрдерд┐рдд рд╕рдВрд╕рд╛рдзрди рд╕рдореВрд╣реАрдХрд░рдг рдЙрдкрдХрд░рдгрд╣рд░реВрдХреЛ рд╕рдореНрдЭрдирд╛ рджрд┐рд▓рд╛рдЙрдиреЗред
рд╕реНрд░реЛрддрд╣рд░реВ рд╕рдБрдЧреИ рд╕рдореВрд╣рдмрджреНрдз рдЧрд░реНрди, WebGPU рд▓реЗ GPUBindGroup рд╡рд╕реНрддреБ рдкреНрд░рджрд╛рди рдЧрд░реНрджрдЫ, рдЬреБрди рдЖрджреЗрд╢рд╣рд░реВ рд▓реЗрдЦреНрджрд╛ рд╢реЗрдбрд░рд╣рд░реВрдорд╛ рдкреНрд░рдпреЛрдЧрдХреЛ рд▓рд╛рдЧрд┐ рдЕрдиреНрдп рд╕рдорд╛рди рд╡рд╕реНрддреБрд╣рд░реВрд╕рдБрдЧ рд╕рдореНрдмрдиреНрдзрд┐рдд рд╣реБрди рд╕рдХреНрдЫред рддреНрдпрд╕реНрддрд╛ рд╕рдореВрд╣рд╣рд░реВ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдирд╛рд▓реЗ рдбреНрд░рд╛рдЗрднрд░рд▓рд╛рдИ рдЖрд╡рд╢реНрдпрдХ рдкреВрд░реНрд╡рддрдпрд╛рд░реА рдХрд╛рд░реНрдпрд╣рд░реВ рдЕрдЧреНрд░рд┐рдо рд░реВрдкрдорд╛ рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫ, рд░ рдмреНрд░рд╛рдЙрдЬрд░рд▓рд╛рдИ рдбреНрд░ рдХрд▓рд╣рд░реВ рдмреАрдЪрдХреЛ рд╕реНрд░реЛрдд рдмрд╛рдЗрдиреНрдбрд┐рдЩрд╣рд░реВ рдзреЗрд░реИ рдЫрд┐рдЯреЛ рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред GPUBindGroupLayout рд╡рд╕реНрддреБ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рд╕рдВрд╕рд╛рдзрди рдмрд╛рдЗрдиреНрдбрд┐рдЩрдХреЛ рд▓реЗрдЖрдЙрдЯ рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫред
Firefox рдорд╛, WebGPU рд╕рдХреНрд╖рдо рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ "dom.webgpu.enabled" рд╕реЗрдЯрд┐рдЩ about:config рдорд╛ рдкреНрд░рджрд╛рди рдЧрд░рд┐рдПрдХреЛ рдЫред CanvasContext рд░реЗрдиреНрдбрд░рд┐рдЩрд▓рд╛рдИ рдкрдирд┐ рдХрдореНрдкреЛрдЬрд┐рдЯрд┐рдЩ рд╕рдХреНрд╖рдо рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫ
рд╕реНрд░реЛрдд: opennet.ru