W3C рдиреЗ WebGPU рдорд╛рдирдХ рдХреЗ рдорд╕реМрджреЗ рдХрд╛ рдЕрдирд╛рд╡рд░рдг рдХрд┐рдпрд╛

W3C рдиреЗ рд╡реЗрдмрдЬреАрдкреАрдпреВ рдФрд░ рд╡реЗрдмрдЬреАрдкреАрдпреВ рд╢реЗрдбрд┐рдВрдЧ рд▓реИрдВрдЧреНрд╡реЗрдЬ (рдбрдмреНрд▓реНрдпреВрдЬреАрдПрд╕рдПрд▓) рд╡рд┐рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ рдкрд╣рд▓рд╛ рдбреНрд░рд╛рдлреНрдЯ рдЬрд╛рд░реА рдХрд┐рдпрд╛ рд╣реИ, рдЬреЛ рд░реЗрдВрдбрд░рд┐рдВрдЧ рдФрд░ рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рдЬреИрд╕реЗ рдЬреАрдкреАрдпреВ рд╕рдВрдЪрд╛рд▓рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдкреАрдЖрдИ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ, рд╕рд╛рде рд╣реА рдЬреАрдкреАрдпреВ рдкрд░ рдЪрд▓рдиреЗ рд╡рд╛рд▓реЗ рдкреНрд░реЛрдЧреНрд░рд╛рдо рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╢реЗрдбрд░ рднрд╛рд╖рд╛ рднреА рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИред рд╡реИрдЪрд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рд╡рд▓реНрдХрди, рдореЗрдЯрд▓ рдФрд░ рдбрд╛рдпрд░реЗрдХреНрдЯ3рдбреА 12 рдПрдкреАрдЖрдИ рдХреЗ рд╕рдорд╛рди рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдПрдХ рдХрд╛рд░реНрдп рд╕рдореВрд╣ рджреНрд╡рд╛рд░рд╛ рддреИрдпрд╛рд░ рдХрд┐рдП рдЧрдП рдереЗ рдЬрд┐рд╕рдореЗрдВ рдореЛрдЬрд╝рд┐рд▓рд╛, рдЧреВрдЧрд▓, рдРрдкреНрдкрд▓ рдФрд░ рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рдХреЗ рдЗрдВрдЬреАрдирд┐рдпрд░ рд╢рд╛рдорд┐рд▓ рдереЗред

рд╡реИрдЪрд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ, WebGPU WebGL рд╕реЗ рдЙрд╕реА рддрд░рд╣ рднрд┐рдиреНрди рд╣реИ рдЬреИрд╕реЗ Vulkan рдЧреНрд░рд╛рдлрд╝рд┐рдХреНрд╕ API OpenGL рд╕реЗ рднрд┐рдиреНрди рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЧреНрд░рд╛рдлрд╝рд┐рдХреНрд╕ API рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдирд╣реАрдВ рд╣реИ, рдмрд▓реНрдХрд┐ рдПрдХ рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рдкрд░рдд рд╣реИ рдЬреЛ Vulkan, Metal рдФрд░ рдореЗрдВ рдкрд╛рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╕рдорд╛рди рдирд┐рдореНрди-рд╕реНрддрд░реАрдп рдкреНрд░рд╛рдЗрдореЗрдЯрд┐рд╡ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред Direct3D. рд╡реЗрдмрдЬреАрдкреАрдпреВ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рд╕рдВрдЧрдарди рдкрд░ рдирд┐рдореНрди-рд╕реНрддрд░реАрдп рдирд┐рдпрдВрддреНрд░рдг, рдЬреАрдкреАрдпреВ рдХреЛ рдХрдорд╛рдВрдб рдХреЗ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдФрд░ рдкреНрд░рд╕рд╛рд░рдг, рд╕рдВрдмрдВрдзрд┐рдд рд╕рдВрд╕рд╛рдзрдиреЛрдВ, рдореЗрдореЛрд░реА, рдмрдлрд╝рд░реНрд╕, рдмрдирд╛рд╡рдЯ рд╡рд╕реНрддреБрдУрдВ рдФрд░ рд╕рдВрдХрд▓рд┐рдд рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рд╢реЗрдбрд░реНрд╕ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдЖрдкрдХреЛ рдУрд╡рд░рд╣реЗрдб рд▓рд╛рдЧрдд рдХреЛ рдХрдо рдХрд░рдХреЗ рдФрд░ рдЬреАрдкреАрдпреВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рджрдХреНрд╖рддрд╛ рдореЗрдВ рд╡реГрджреНрдзрд┐ рдХрд░рдХреЗ рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдЪреНрдЪ рдкреНрд░рджрд░реНрд╢рди рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

рд╡реЗрдмрдЬреАрдкреАрдпреВ рд╡реЗрдм рдХреЗ рд▓рд┐рдП рдЬрдЯрд┐рд▓ 3рдбреА рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдирд╛ рд╕рдВрднрд╡ рдмрдирд╛рддрд╛ рд╣реИ рдЬреЛ рд╕реНрдЯреИрдВрдбрдЕрд▓реЛрди рдкреНрд░реЛрдЧреНрд░рд╛рдо рд╕реЗ рднреА рдмрджрддрд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рд╕реАрдзреЗ рд╡рд▓реНрдХрди, рдореЗрдЯрд▓ рдпрд╛ рдбрд╛рдпрд░реЗрдХреНрдЯ3рдбреА рддрдХ рдкрд╣реБрдВрдЪрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рд╕реЗ рдмрдВрдзреЗ рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВред WebGPU, WebAssembly рдореЗрдВ рд╕рдВрдХрд▓рди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рджреЗрд╢реА рдЧреНрд░рд╛рдлрд╝рд┐рдХреНрд╕ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ рд╡реЗрдм-рд╕рдХреНрд╖рдо рд░реВрдк рдореЗрдВ рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрддрд┐рд░рд┐рдХреНрдд рдХреНрд╖рдорддрд╛рдПрдВ рднреА рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред 3рдбреА рдЧреНрд░рд╛рдлрд╝рд┐рдХреНрд╕ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╡реЗрдмрдЬреАрдкреАрдпреВ рдореЗрдВ рдЧрдгрдирд╛рдУрдВ рдХреЛ рдЬреАрдкреАрдпреВ рдореЗрдВ рд▓реЛрдб рдХрд░рдиреЗ рдФрд░ рд╢реЗрдбрд░реНрд╕ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдХреНрд╖рдорддрд╛рдПрдВ рднреА рд╢рд╛рдорд┐рд▓ рд╣реИрдВред

рд╡реЗрдмрдЬреАрдкреАрдпреВ рдХреА рдореБрдЦреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ:

  • рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХрд╛ рдЕрд▓рдЧ рдкреНрд░рдмрдВрдзрди, рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдХрд╛рд░реНрдп рдФрд░ рдЬреАрдкреАрдпреВ рдХреЛ рдХрдорд╛рдВрдб рдХрд╛ рдкреНрд░рд╕рд╛рд░рдг (рд╡реЗрдмрдЬреАрдПрд▓ рдореЗрдВ рдПрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдПрдХ рд╣реА рдмрд╛рд░ рдореЗрдВ рд╕рдм рдХреБрдЫ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рдерд╛)ред рддреАрди рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕рдВрджрд░реНрдн рдкреНрд░рджрд╛рди рдХрд┐рдП рдЧрдП рд╣реИрдВ: рдмрдирд╛рд╡рдЯ рдФрд░ рдмрдлрд╝рд░реНрд╕ рдЬреИрд╕реЗ рд╕рдВрд╕рд╛рдзрди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП GPUDevice; рд░реЗрдВрдбрд░рд┐рдВрдЧ рдФрд░ рдЧрдгрдирд╛ рдЪрд░рдгреЛрдВ рд╕рд╣рд┐рдд рд╡реНрдпрдХреНрддрд┐рдЧрдд рдХрдорд╛рдВрдб рдХреЛ рдПрдиреНрдХреЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП GPUCommandEncoder; GPUCommandBuffer рдХреЛ GPU рдкрд░ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рдХрддрд╛рд░рдмрджреНрдз рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдкрд░рд┐рдгрд╛рдо рдХреЛ рдПрдХ рдпрд╛ рдЕрдзрд┐рдХ рдХреИрдирд╡рд╛рд╕ рддрддреНрд╡реЛрдВ рд╕реЗ рдЬреБрдбрд╝реЗ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдпрд╛ рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рдмрд┐рдирд╛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХрдВрдкреНрдпреВрдЯ рдХрд╛рд░реНрдп рдЪрд▓рд╛рддреЗ рд╕рдордп)ред рдЪрд░рдгреЛрдВ рдХреЛ рдЕрд▓рдЧ рдХрд░рдиреЗ рд╕реЗ рд╕рдВрд╕рд╛рдзрди рдирд┐рд░реНрдорд╛рдг рдФрд░ рддреИрдпрд╛рд░реА рд╕рдВрдЪрд╛рд▓рди рдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╣реИрдВрдбрд▓рд░ рдореЗрдВ рдЕрд▓рдЧ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдереНрд░реЗрдб рдкрд░ рдЪрд▓ рд╕рдХрддреЗ рд╣реИрдВред
  • рд░рд╛рдЬреНрдпреЛрдВ рдХреЗ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рджреГрд╖реНрдЯрд┐рдХреЛрдгред WebGPU рджреЛ рдСрдмреНрдЬреЗрдХреНрдЯ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ - GPURenderPipeline рдФрд░ GPUComputePipeline, рдЬреЛ рдЖрдкрдХреЛ рдбреЗрд╡рд▓рдкрд░ рджреНрд╡рд╛рд░рд╛ рдкреВрд░реНрд╡-рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╡рд┐рднрд┐рдиреНрди рд░рд╛рдЬреНрдпреЛрдВ рдХреЛ рд╕рдВрдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЬреЛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЛ рдЕрддрд┐рд░рд┐рдХреНрдд рдХрд╛рд░реНрдпреЛрдВ рдкрд░ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рдмрд░реНрдмрд╛рдж рдирд╣реАрдВ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЬреИрд╕реЗ рдХрд┐ рд╢реЗрдбрд░реНрд╕ рдХреЛ рдкреБрди: рд╕рдВрдХрд▓рд┐рдд рдХрд░рдирд╛ред рд╕рдорд░реНрдерд┐рдд рд░рд╛рдЬреНрдпреЛрдВ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ: рд╢реЗрдбрд░реНрд╕, рд╡рд░реНрдЯреЗрдХреНрд╕ рдмрдлрд░ рдФрд░ рд╡рд┐рд╢реЗрд╖рддрд╛ рд▓реЗрдЖрдЙрдЯ, рдЪрд┐рдкрдЪрд┐рдкрд╛ рд╕рдореВрд╣ рд▓реЗрдЖрдЙрдЯ, рд╕рдореНрдорд┐рд╢реНрд░рдг, рдЧрд╣рд░рд╛рдИ рдФрд░ рдкреИрдЯрд░реНрди, рдФрд░ рдкреЛрд╕реНрдЯ-рд░реЗрдВрдбрд░ рдЖрдЙрдЯрдкреБрдЯ рдкреНрд░рд╛рд░реВрдкред
  • рд╡рд▓реНрдХрди рдХреЗ рд╕рдВрд╕рд╛рдзрди рд╕рдореВрд╣рди рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреА рддрд░рд╣ рдПрдХ рдмрд╛рдзреНрдпрдХрд╛рд░реА рдореЙрдбрд▓ред рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рдПрдХ рд╕рд╛рде рд╕рдореВрд╣рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, WebGPU рдПрдХ GPUBindGroup рдСрдмреНрдЬреЗрдХреНрдЯ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдХрдорд╛рдВрдб рд▓рд┐рдЦрддреЗ рд╕рдордп рд╢реЗрдбрд░реНрд╕ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдЕрдиреНрдп рд╕рдорд╛рди рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдРрд╕реЗ рд╕рдореВрд╣ рдмрдирд╛рдиреЗ рд╕реЗ рдбреНрд░рд╛рдЗрд╡рд░ рдХреЛ рдкрд╣рд▓реЗ рд╕реЗ рдЖрд╡рд╢реНрдпрдХ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдорд┐рд▓рддреА рд╣реИ, рдФрд░ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЛ рдбреНрд░реЙ рдХреЙрд▓ рдХреЗ рдмреАрдЪ рд╕рдВрд╕рд╛рдзрди рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдХреЛ рдмрд╣реБрдд рддреЗрдЬрд╝реА рд╕реЗ рдмрджрд▓рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдорд┐рд▓рддреА рд╣реИред рд╕рдВрд╕рд╛рдзрди рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдХрд╛ рд▓реЗрдЖрдЙрдЯ GPUBindGroupLayout рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

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

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╝реЗрдВ