W3C แž”แž„แŸ’แž แžถแž‰แžŸแŸแž…แž€แŸ’แžแžธแž–แŸ’แžšแžถแž„แžŸแŸ’แžแž„แŸ‹แžŠแžถแžš WebGPU

W3C แž”แžถแž“แž…แŸแž‰แž•แŸ’แžŸแžถแž™แžŸแŸแž…แž€แŸ’แžแžธแž–แŸ’แžšแžถแž„แžŠแŸ†แž”แžผแž„แž“แŸƒแž€แžถแžšแž€แŸ†แžŽแžแŸ‹ WebGPU แž“แžทแž„ WebGPU Shading Language (WGSL) แžŠแŸ‚แž›แž€แŸ†แžŽแžแŸ‹ APIs แžŸแž˜แŸ’แžšแžถแž”แŸ‹แž”แŸ’แžšแžแžทแž”แžแŸ’แžแžทแž€แžถแžš GPU แžŠแžผแž…แž‡แžถแž€แžถแžšแž”แž„แŸ’แž แžถแž‰ แž“แžทแž„แž€แžปแŸ†แž–แŸ’แž™แžผแž‘แŸแžš แž€แŸแžŠแžผแž…แž‡แžถแž—แžถแžŸแžถ shader แžŸแž˜แŸ’แžšแžถแž”แŸ‹แžŸแžšแžŸแŸแžšแž€แž˜แŸ’แž˜แžœแžทแž’แžธแžŠแŸ‚แž›แžŠแŸ†แžŽแžพแžšแž€แžถแžšแž›แžพ GPU แŸ” แž‚แŸ†แž“แžทแžแžŸแŸ’แžšแžŠแŸ€แž„แž‘แŸ…แž“แžนแž„ Vulkan, Metal แž“แžทแž„ Direct3D 12 APIs แž›แž€แŸ’แžแžŽแŸˆแž”แž…แŸ’แž…แŸแž€แž‘แŸแžŸแžแŸ’แžšแžผแžœแž”แžถแž“แžšแŸ€แž”แž…แŸ†แžŠแŸ„แž™แž€แŸ’แžšแžปแž˜แž€แžถแžšแž„แžถแžšแžŠแŸ‚แž›แžšแžฝแž˜แž”แž‰แŸ’แž…แžผแž›แžœแžทแžŸแŸ’แžœแž€แžšแž˜แž€แž–แžธ Mozilla, Google, Apple แž“แžทแž„ Microsoft แŸ”

แžแžถแž˜แž‚แŸ†แž“แžทแž WebGPU แžแžปแžŸแž–แžธ WebGL แžแžถแž˜แžšแž”แŸ€แž”แžŠแžผแž…แž‚แŸ’แž“แžถแžŠแŸ‚แž› API แž€แŸ’แžšแžถแž แŸ’แžœแžทแž€ Vulkan แžแžปแžŸแž–แžธ OpenGL แž”แŸ‰แžปแž“แŸ’แžแŸ‚แžœแžถแž˜แžทแž“แž•แŸ’แžขแŸ‚แž€แž›แžพ API แž€แŸ’แžšแžถแž แŸ’แžœแžทแž€แž‡แžถแž€แŸ‹แž›แžถแž€แŸ‹แž‘แŸ แž”แŸ‰แžปแž“แŸ’แžแŸ‚แž‡แžถแžŸแŸ’แžšแž‘แžถแž”แŸ‹แžŸแž€แž›แžŠแŸ‚แž›แž”แŸ’แžšแžพแž”แžปแž–แŸ’แžœแž€แžถแž›แž€แž˜แŸ’แžšแžทแžแž‘แžถแž”แžŠแžผแž…แž‚แŸ’แž“แžถแžŠแŸ‚แž›แž˜แžถแž“แž“แŸ…แž€แŸ’แž“แžปแž„ Vulkan, Metal แž“แžทแž„ แž•แŸ’แž‘แžถแž›แŸ‹ 3D แŸ” WebGPU แž•แŸ’แžแž›แŸ‹แž“แžผแžœแž€แž˜แŸ’แž˜แžœแžทแž’แžธ JavaScript แž‡แžถแž˜แžฝแž™แž“แžนแž„แž€แžถแžšแž‚แŸ’แžšแž”แŸ‹แž‚แŸ’แžšแž„แž€แž˜แŸ’แžšแžทแžแž‘แžถแž”แž›แžพแžขแž„แŸ’แž‚แž€แžถแžš แžŠแŸ†แžŽแžพแžšแž€แžถแžš แž“แžทแž„แž€แžถแžšแž”แž‰แŸ’แž‡แžผแž“แž–แžถแž€แŸ’แž™แž”แž‰แŸ’แž‡แžถแž‘แŸ… GPU แž€แžถแžšแž‚แŸ’แžšแž”แŸ‹แž‚แŸ’แžšแž„แž’แž“แž’แžถแž“แžŠแŸ‚แž›แž–แžถแž€แŸ‹แž–แŸแž“แŸ’แž’ แžขแž„แŸ’แž‚แž…แž„แž…แžถแŸ† แžŸแžแžทแž”แžŽแŸ’แžŠแŸ„แŸ‡แžขแžถแžŸแž“แŸ’แž“ แžœแžแŸ’แžแžปแžœแžถแž™แž“แž—แžถแž– แž“แžทแž„แž€แž˜แŸ’แž˜แžœแžทแž’แžธแžŸแŸ’แžšแž˜แŸ„แž›แž€แŸ’แžšแžถแž แŸ’แžœแžทแž€แžŠแŸ‚แž›แž”แžถแž“แž…แž„แž€แŸ’แžšแž„แŸ” แžœแžทแž’แžธแžŸแžถแžŸแŸ’แžšแŸ’แžแž“แŸแŸ‡แžขแž“แžปแž‰แŸ’แž‰แžถแžแžฑแŸ’แž™แžขแŸ’แž“แž€แžŸแž˜แŸ’แžšแŸแž…แž”แžถแž“แž“แžผแžœแž€แžถแžšแžขแž“แžปแžœแžแŸ’แžแžแŸ’แž–แžŸแŸ‹แžŸแž˜แŸ’แžšแžถแž”แŸ‹แž€แž˜แŸ’แž˜แžœแžทแž’แžธแž€แŸ’แžšแžถแž แŸ’แžœแžทแž€แžŠแŸ„แž™แž€แžถแžแŸ‹แž”แž“แŸ’แžแž™แž€แžถแžšแž…แŸ†แžŽแžถแž™แž›แžพแžŸ แž“แžทแž„แž”แž„แŸ’แž€แžพแž“แž”แŸ’แžšแžŸแžทแž‘แŸ’แž’แž—แžถแž–แž“แŸƒแž€แžถแžšแž’แŸ’แžœแžพแž€แžถแžšแž‡แžถแž˜แžฝแž™ GPU แŸ”

WebGPU แž’แŸ’แžœแžพแžฑแŸ’แž™แžœแžถแžขแžถแž…แž”แž„แŸ’แž€แžพแžแž‚แž˜แŸ’แžšแŸ„แž„ 3D แžŠแŸแžŸแŸ’แž˜แžปแž‚แžŸแŸ’แž˜แžถแž‰แžŸแž˜แŸ’แžšแžถแž”แŸ‹แž‚แŸแž แž‘แŸ†แž–แŸแžš แžŠแŸ‚แž›แžŠแŸ†แžŽแžพแžšแž€แžถแžšแž˜แžทแž“แžขแžถแž€แŸ’แžšแž€แŸ‹แž‡แžถแž„แž€แž˜แŸ’แž˜แžœแžทแž’แžธแžŠแžถแž…แŸ‹แžŠแŸ„แž™แžกแŸ‚แž€แžŠแŸ‚แž›แž…แžผแž›แž”แŸ’แžšแžพ Vulkan, Metal แžฌ Direct3D แžŠแŸ„แž™แž•แŸ’แž‘แžถแž›แŸ‹ แž”แŸ‰แžปแž“แŸ’แžแŸ‚แž˜แžทแž“แžแŸ’แžšแžผแžœแž”แžถแž“แž—แŸ’แž‡แžถแž”แŸ‹แž‡แžถแž˜แžฝแž™แžœแŸแž‘แžทแž€แžถแž‡แžถแž€แŸ‹แž›แžถแž€แŸ‹แž“แŸ„แŸ‡แž‘แŸแŸ” WebGPU แž€แŸแž•แŸ’แžแž›แŸ‹แž“แžผแžœแžŸแž˜แžแŸ’แžแž—แžถแž–แž”แž“แŸ’แžแŸ‚แž˜แžŸแž˜แŸ’แžšแžถแž”แŸ‹แž€แžถแžšแž”แž‰แŸ’แž‡แžผแž“แž€แž˜แŸ’แž˜แžœแžทแž’แžธแž€แŸ’แžšแžถแž แŸ’แžœแžทแž€แžŠแžพแž˜แž‘แŸ…แž€แŸ’แž“แžปแž„แž‘แž˜แŸ’แžšแž„แŸ‹แžŠแŸ‚แž›แž”แžถแž“แž”แžพแž€แž”แžŽแŸ’แžแžถแž‰แžแžถแž˜แžšแž™แŸˆแž€แžถแžšแž…แž„แž€แŸ’แžšแž„แž‘แŸ…แž€แŸ’แž“แžปแž„ WebAssembly แŸ” แž”แž“แŸ’แžแŸ‚แž˜แž–แžธแž›แžพแž€แŸ’แžšแžถแž แŸ’แžœแžทแž€ 3D WebGPU แž€แŸแžšแžฝแž˜แž”แž‰แŸ’แž…แžผแž›แž•แž„แžŠแŸ‚แžšแž“แžผแžœแžŸแž˜แžแŸ’แžแž—แžถแž–แžŠแŸ‚แž›แž‘แžถแž€แŸ‹แž‘แž„แž“แžนแž„แž€แžถแžšแž”แž‰แŸ’แž…แžผแž“แž€แžถแžšแž‚แžŽแž“แžถแž‘แŸ… GPU แž“แžทแž„แžŠแŸ†แžŽแžพแžšแž€แžถแžšแž€แž˜แŸ’แž˜แžœแžทแž’แžธแžŸแŸ’แžšแž˜แŸ„แž›แŸ”

แž›แž€แŸ’แžแžŽแŸˆแžŸแŸ†แžแžถแž“แŸ‹แŸ—แžšแž”แžŸแŸ‹ WebGPUแŸ–

  • แž€แžถแžšแž‚แŸ’แžšแž”แŸ‹แž‚แŸ’แžšแž„แžŠแŸ„แž™แžกแŸ‚แž€แž–แžธแž‚แŸ’แž“แžถแž“แŸƒแž’แž“แž’แžถแž“ แž€แžถแžšแž„แžถแžšแžšแŸ€แž”แž…แŸ† แž“แžทแž„แž€แžถแžšแž”แž‰แŸ’แž‡แžผแž“แž–แžถแž€แŸ’แž™แž”แž‰แŸ’แž‡แžถแž‘แŸ… GPU (แž€แŸ’แž“แžปแž„ WebGL แžœแžแŸ’แžแžปแž˜แžฝแž™แž‘แž‘แžฝแž›แžแžปแžŸแžแŸ’แžšแžผแžœแž…แŸ†แž–แŸ„แŸ‡แžขแŸ’แžœแžธแŸ—แž‚แŸ’แžšแž”แŸ‹แž™แŸ‰แžถแž„แž€แŸ’แž“แžปแž„แž–แŸแž›แžแŸ‚แž˜แžฝแž™) แŸ” แž”แžšแžทแž”แž‘แžŠแžถแž…แŸ‹แžŠแŸ„แž™แžกแŸ‚แž€แž”แžธแžแŸ’แžšแžผแžœแž”แžถแž“แž•แŸ’แžแž›แŸ‹แž‡แžผแž“แŸ– GPUDevice แžŸแž˜แŸ’แžšแžถแž”แŸ‹แž”แž„แŸ’แž€แžพแžแž’แž“แž’แžถแž“แžŠแžผแž…แž‡แžถ แžœแžถแž™แž“แž—แžถแž– แž“แžทแž„แžŸแžแžทแž”แžŽแŸ’แžŠแŸ„แŸ‡แžขแžถแžŸแž“แŸ’แž“แŸ” GPUCommandEncoder แžŸแž˜แŸ’แžšแžถแž”แŸ‹แž€แžถแžšแžขแŸŠแžทแž“แž€แžผแžŠแž–แžถแž€แŸ’แž™แž”แž‰แŸ’แž‡แžถแž”แžปแž‚แŸ’แž‚แž› แžšแžฝแž˜แž‘แžถแŸ†แž„แžŠแŸ†แžŽแžถแž€แŸ‹แž€แžถแž›แž”แž„แŸ’แž แžถแž‰ แž“แžทแž„แž€แžถแžšแž‚แžŽแž“แžถแŸ” GPUCommandBuffer แž“แžนแž„แžแŸ’แžšแžผแžœแž”แžถแž“แžแž˜แŸ’แžšแž„แŸ‹แž‡แžฝแžšแžŸแž˜แŸ’แžšแžถแž”แŸ‹แž€แžถแžšแž”แŸ’แžšแžแžทแž”แžแŸ’แžแžทแž“แŸ…แž›แžพ GPU แŸ” แž›แž‘แŸ’แž’แž•แž›แžขแžถแž…แžแŸ’แžšแžผแžœแž”แžถแž“แž”แž„แŸ’แž แžถแž‰แž“แŸ…แž€แŸ’แž“แžปแž„แžแŸ†แž”แž“แŸ‹แžŠแŸ‚แž›แž—แŸ’แž‡แžถแž”แŸ‹แž‡แžถแž˜แžฝแž™แž’แžถแžแžปแž•แŸ’แž‘แžถแŸ†แž„แž€แŸ’แžšแžŽแžถแžแŸ‹แž˜แžฝแž™ แžฌแž…แŸ’แžšแžพแž“ แžฌแžŠแŸ†แžŽแžพแžšแž€แžถแžšแžŠแŸ„แž™แž‚แŸ’แž˜แžถแž“แž›แž‘แŸ’แž’แž•แž› (แžงแž‘แžถแž แžšแžŽแŸ แž“แŸ…แž–แŸแž›แžŠแŸ†แžŽแžพแžšแž€แžถแžšแž€แžทแž…แŸ’แž…แž€แžถแžšแž‚แžŽแž“แžถ)แŸ” แž€แžถแžšแž”แŸ†แž”แŸ‚แž€แžŠแŸ†แžŽแžถแž€แŸ‹แž€แžถแž›แž’แŸ’แžœแžพแžฑแŸ’แž™แžœแžถแž€แžถแž“แŸ‹แžแŸ‚แž„แžถแž™แžŸแŸ’แžšแžฝแž›แž€แŸ’แž“แžปแž„แž€แžถแžšแž”แŸ†แž”แŸ‚แž€แž”แŸ’แžšแžแžทแž”แžแŸ’แžแžทแž€แžถแžšแž”แž„แŸ’แž€แžพแžแž’แž“แž’แžถแž“ แž“แžทแž„แž€แžถแžšแžšแŸ€แž”แž…แŸ†แž‘แŸ…แž‡แžถแžงแž”แž€แžšแžŽแŸแžŠแŸ„แŸ‡แžŸแŸ’แžšแžถแž™แž•แŸ’แžŸแŸแž„แŸ—แž‚แŸ’แž“แžถแžŠแŸ‚แž›แžขแžถแž…แžŠแŸ†แžŽแžพแžšแž€แžถแžšแž›แžพแžแŸ’แžŸแŸ‚แžŸแŸ’แžšแž›แžถแž™แž•แŸ’แžŸแŸแž„แŸ—แž‚แŸ’แž“แžถแŸ”
  • แžœแžทแž’แžธแžŸแžถแžŸแŸ’แžšแŸ’แžแž•แŸ’แžŸแŸแž„แž‚แŸ’แž“แžถแž…แŸ†แž–แŸ„แŸ‡แžšแžŠแŸ’แž‹แžŠแŸ†แžŽแžพแžšแž€แžถแžšแŸ” WebGPU แž•แŸ’แžแž›แŸ‹แž“แžผแžœแžœแžแŸ’แžแžปแž–แžธแžš - GPURenderPipeline แž“แžทแž„ GPUComputePipeline แžŠแŸ‚แž›แžขแž“แžปแž‰แŸ’แž‰แžถแžแžฑแŸ’แž™แžขแŸ’แž“แž€แž”แž‰แŸ’แž…แžผแž›แž‚แŸ’แž“แžถแž“แžผแžœแžŸแŸ’แžแžถแž“แž—แžถแž–แž•แŸ’แžŸแŸแž„แŸ—แžŠแŸ‚แž›แž”แžถแž“แž€แŸ†แžŽแžแŸ‹แž‡แžถแž˜แžปแž“แžŠแŸ„แž™แžขแŸ’แž“แž€แžขแž—แžทแžœแžŒแŸ’แžแž“แŸ แžŠแŸ‚แž›แžขแž“แžปแž‰แŸ’แž‰แžถแžแžฑแŸ’แž™แž€แž˜แŸ’แž˜แžœแžทแž’แžธแžšแžปแž€แžšแž€แž˜แžทแž“แžแŸ’แž‡แŸ‡แžแŸ’แž‡แžถแž™แž’แž“แž’แžถแž“แž›แžพแž€แžถแžšแž„แžถแžšแž”แž“แŸ’แžแŸ‚แž˜ แžŠแžผแž…แž‡แžถแž€แžถแžšแž…แž„แž€แŸ’แžšแž„แž€แž˜แŸ’แž˜แžœแžทแž’แžธแžŸแŸ’แžšแž˜แŸ„แž›แžกแžพแž„แžœแžทแž‰แŸ” แžšแžŠแŸ’แž‹แžŠแŸ‚แž›แž‚แžถแŸ†แž‘แŸ’แžšแžšแžฝแž˜แž˜แžถแž“แŸˆ แžŸแŸ’แžšแž˜แŸ„แž› แžŸแžแžทแž”แžŽแŸ’แžŠแŸ„แŸ‡แžขแžถแžŸแž“แŸ’แž“ แž“แžทแž„แž”แŸ’แž›แž„แŸ‹แž‚แžปแžŽแž›แž€แŸ’แžแžŽแŸˆ แž”แŸ’แž›แž„แŸ‹แž€แŸ’แžšแžปแž˜แžŸแŸ’แžขแžทแž แž€แžถแžšแž›แžถแž™แž”แž‰แŸ’แž…แžผแž›แž‚แŸ’แž“แžถ แž‡แž˜แŸ’แžšแŸ… แž“แžทแž„แž›แŸ†แž“แžถแŸ† แž“แžทแž„แž‘แž˜แŸ’แžšแž„แŸ‹แž›แž‘แŸ’แž’แž•แž›แž€แŸ’แžšแŸ„แž™แž€แžถแžšแž”แž„แŸ’แž แžถแž‰แŸ”
  • แž‚แŸ†แžšแžผโ€‹แž…แž„โ€‹แž…แŸ’แžšแžพแž“โ€‹แžŠแžผแž…โ€‹แž‡แžถโ€‹แž›แž€แŸ’แžแžŽแŸˆโ€‹แž€แŸ’แžšแžปแž˜โ€‹แž’แž“แž’แžถแž“โ€‹แžšแž”แžŸแŸ‹ Vulkan แŸ” แžŠแžพแž˜แŸ’แž”แžธแžŠแžถแž€แŸ‹แž’แž“แž’แžถแž“แž‡แžถแž€แŸ’แžšแžปแž˜แž‡แžถแž˜แžฝแž™แž‚แŸ’แž“แžถ WebGPU แž•แŸ’แžแž›แŸ‹แž“แžผแžœแžœแžแŸ’แžแžป GPUBindGroup แžŠแŸ‚แž›แžขแžถแž…แžแŸ’แžšแžผแžœแž”แžถแž“แž—แŸ’แž‡แžถแž”แŸ‹แž‡แžถแž˜แžฝแž™แžœแžแŸ’แžแžปแžŸแŸ’แžšแžŠแŸ€แž„แž‚แŸ’แž“แžถแž•แŸ’แžŸแŸแž„แž‘แŸ€แžแžŸแž˜แŸ’แžšแžถแž”แŸ‹แž”แŸ’แžšแžพแž€แŸ’แž“แžปแž„ Shaders แžแžŽแŸˆแž–แŸแž›แž€แŸ†แž–แžปแž„แžŸแžšแžŸแŸแžšแž–แžถแž€แŸ’แž™แž”แž‰แŸ’แž‡แžถแŸ” แž€แžถแžšแž”แž„แŸ’แž€แžพแžแž€แŸ’แžšแžปแž˜แž”แŸ‚แž”แž“แŸแŸ‡แžขแž“แžปแž‰แŸ’แž‰แžถแžแžฑแŸ’แž™แžขแŸ’แž“แž€แž”แžพแž€แž”แžšแžขแž“แžปแžœแžแŸ’แžแžŸแž€แž˜แŸ’แž˜แž—แžถแž–แžšแŸ€แž”แž…แŸ†แž…แžถแŸ†แž”แžถแž…แŸ‹แž‡แžถแž˜แžปแž“ แž แžพแž™แžขแž“แžปแž‰แŸ’แž‰แžถแžแžฑแŸ’แž™แž€แž˜แŸ’แž˜แžœแžทแž’แžธแžšแžปแž€แžšแž€แž•แŸ’แž›แžถแžŸแŸ‹แž”แŸ’แžแžผแžšแž€แžถแžšแž…แž„แž’แž“แž’แžถแž“แžšแžœแžถแž„แž€แžถแžšแž แŸ…แž…แŸแž‰แž€แžถแž“แŸ‹แžแŸ‚แž›แžฟแž“แŸ” แž”แŸ’แž›แž„แŸ‹แž“แŸƒแž€แžถแžšแž…แž„แž’แž“แž’แžถแž“แžขแžถแž…แžแŸ’แžšแžผแžœแž”แžถแž“แž€แŸ†แžŽแžแŸ‹แž‡แžถแž˜แžปแž“แžŠแŸ„แž™แž”แŸ’แžšแžพแžœแžแŸ’แžแžป GPUBindGroupLayout แŸ”

แž”แŸ’แžšแž—แž–: opennet.ru

แž”แž“แŸ’แžแŸ‚แž˜แž˜แžแžทแž™แŸ„แž”แž›แŸ‹