Google ืืึธื ืึทื ืึทืื ืกื ืื ืื ืงืืืืฉืึทื ืคืื ืคืขืืืงืืึทื ืฉืืืฆื ืคึฟืึทืจ ืื ืืืขืืืคึผื ืืจืึทืคืืงืก ืึทืคึผื ืืื ืืืืกื (ืืืขืืืคึผื ืฉืืืืื ื ืฉืคึผืจืึทื) ืืื ืงืจืึธืื 113, ืืืึธืก ืืื ืกืงืขืืืฉืืื ืคึฟืึทืจ ืืขืืืื ื ืืืืฃ ืืื 2. WebGPU ืืื ืึท ืคึผืจืึธืืจืึทืืืื ื ืฆืืืื ื ืขื ืืขื ืฆื Vulkan, Metal ืืื Direct3D 12 ืคึฟืึทืจ ืคึผืขืจืคืึธืจืืื ื ืืคึผื-ืืืึทื ืึทืคึผืขืจืืืฉืึทื ื ืึทืืึท ืืื ืจืขื ืืขืจืื ื ืืื ืงืึทืืคึผืืืืื ื, ืืื ืืืื ืึทืืึทืื ืื ื ืืฆื ืคืื ืึท ืฉืึทืืขืจ ืฉืคึผืจืึทื ืฆื ืฉืจืืึทืื ืืืืื ืืืึธืก ืืืืคื ืืืืฃ ืื ืืคึผื ืืืึทื. ืื ืืืขืืืคึผื ืืืคึผืืึทืืขื ืืืืฉืึทื ืืืขื ืืืืืขืก ืืืืื ืืืื ืขื ืืืืึทืื ืืืืฃ ChromeOS, macOS ืืื Windows ืืืืขื. ืคึฟืึทืจ ืืื ืืงืก ืืื ืึทื ืืจืืื, ืืืขืืืคึผื ืฉืืืฆื ืืืขื ืืืื ืึทืงืืืืืืืืื ืืื ืึท ืฉืคึผืขืืขืจ ืืึทืืข.
ืืื ืึทืืืฉืึทื ืฆื ืงืจืึธืื, ืืงืกืคึผืขืจืืขื ืึทื ืฉืืืฆื ืคึฟืึทืจ ืืืขืืืคึผื ืืื ืืขืกืืขื ืืื ื ืืคืจืื 2020 ืืื ืคืืจืขืคืึธืงืก ืืื ืืื ื ื ืืืืขืืืขืจ 2021 ืืื Safari. ืฆื ืืขืื ืืืขืืืคึผื ืืื ืคืืจืขืคืึธืงืก, ืืืจ ืืึธื ืฉืืขืื ืื dom.webgpu.enabled ืืื gfx.webgpu.force-ืขื ืืืืึทืื ืคืืึทืืก ืืื about:config. ืขืก ืืขื ืขื ื ืึธื ืงืืื ืคึผืืึทื ื ืฆื ืืขืื WebGPU ืืืจื ืคืขืืืงืืึทื ืืื Firefox ืืื Safari. ืืืขืืืคึผื ืืืคึผืืึทืืึทื ืฅ ืืขืืืขืืึธืคึผืขื ืคึฟืึทืจ ืคืืจืขืคืึธืงืก ืืื ืงืจืึธืื ืืขื ืขื ืืืจืขืืืืื ืืื ืื ืคืึธืจืขื ืคืื ืืึทืืื ืืขืจ ืืืืืจืขืจืื - ืืึธื (C ++) ืืื ืืืืคึผื (ืจืึทืกื), ืืืึธืก ืืืจ ืงืขื ืขื ื ืืฆื ืฆื ืืืกืฉืืืืขื ืืืขืืืคึผื ืฉืืืฆื ืืื ืืืื ืึทืคึผืืึทืงืืืฉืึทื ื. ืึทืจืืขื ืืื ืืืื ืึทื ืืขืจืืืื ืฆื ืืืืื ืืืขืืืคึผื ืฉืืืฆื ืฆื ืคืึธืืงืก ืืืฉืึทืืืึทืกืงืจืืคึผื ืืืืืจืขืจืื ืืืึธืก ืืขืืืืื ืืืขื ื ืืฆื ืืืขืืื. ืคึฟืึทืจ ืืืึทืฉืคึผืื, ืคืื ืฉืืืฆื ืคึฟืึทืจ ืืืขืืืคึผื ืืื ืฉืืื ืืืืืข ืืื Babylon.js, ืืื ืคึผืึทืจืืืืืฉ ืฉืืืฆื ืืื Three.js, PlayCanvas ืืื TensorFlow.js.
ืงืึทื ืกืขืคึผืืฉืืึทืื, WebGPU ืืืคืขืจื ืคืื WebGL ืืื ืืขืจ ืืขืืืืงืขืจ ืืืขื ืืื ืื Vulkan graphics API ืืื ืึทื ืืขืจืฉ ืคืื OpenGL, ืึธืืขืจ WebGPU ืืื ื ืืฉื ืืืืืจื ืืืืฃ ืึท ืกืคึผืขืฆืืคืืฉ ืืจืึทืคืืงืก ืึทืคึผื, ืึธืืขืจ ืืื ืึท ืื ืืืืขืจืกืึทื ืฉืืืืข ืืืึธืก ื ืืฆื ืื ืืขืืืข ื ืืืขืจืืง-ืืืจืื ืคึผืจืืืืืืืื ืืขืคึฟืื ืขื ืืื ืืืืืงืึทื, ืืขืืึทื ืืื ืืืจืขืงื3ื. ืืืขืืืคึผื ืคึผืจืึธืืืืืขืก ืืืฉืึทืืืึทืกืงืจืืคึผื ืึทืคึผืืึทืงืืืฉืึทื ื ืืื ื ืืืขืจืืง-ืืืจืื ืงืึธื ืืจืึธื ืืืืขืจ ืืขืจ ืึธืจืืึทื ืืืึทืฆืืข, ืคึผืจืึทืกืขืกืื ื ืืื ืืจืึทื ืกืืืกืืข ืคืื โโืงืึทืืึทื ืื ืฆื ืื ืืคึผื, ืึธื ืคืืจืื ื ืคึฟืึทืจืืื ืื ืจืขืกืืจืกื, ืืึผืจืื, ืืึทืคืขืจื, ืืขืืืขื ืึทืืืืฉืขืงืฅ ืืื ืฆืื ืืืคืืขืฉืืขืื ืืจืึทืคืืงืก ืฉืึทืืขืจื. ืืขืจ ืฆืืืึทื ื ืึทืืึทืื ืืืจ ืฆื ืืขืจืืจืืืื ืืขืืขืจ ืคืึธืจืฉืืขืืื ื ืคึฟืึทืจ ืืจืึทืคืืงืก ืึทืคึผืืึทืงืืืฉืึทื ื ืืืจื ืจืืืืกืื ื ืึธืืืืขืจืืขื ืงืึธืก ืืื ืื ืงืจืืกืื ื ืื ืขืคืขืงืืืืืงืืึทื ืคืื ืืจืืขืื ืืื ืื ืืคึผื.
ืืืขืืืคึผื ืืืื ืขืก ืืขืืืขื ืฆื ืฉืึทืคึฟื ืงืึธืืคึผืืขืงืก 3 ื ืคึผืจืึทืืืฉืขืงืก ืคึฟืึทืจ ืื ืืืขื ืืืึธืก ืืืจืืคืืจื ื ืื ืขืจืืขืจ ืืื ืกืืึทื ืืึทืืึธื ืข ืืืืื ืืืึธืก ืืืืื ื ืืฆื ืืืืืงืึทื, ืืขืืึทื ืึธืืขืจ ืืืจืขืงื 3 ื, ืึธืืขืจ ืืขื ืขื ื ืืฉื ืืืื ืฆื ืกืคึผืขืฆืืคืืฉ ืคึผืืึทืืคืึธืจืืก. ืืืขืืืคึผื ืืืื ืืื ื ืึธื ืงืืืคึผืึทืืืืึทืืื ืคึฟืึทืจ ืคึผืึธืจืืื ื ืืขืืืืจื ืืจืึทืคืืงืก ืืืืื ืืื ืึท ืืืขื-ืขื ืืืืึทืื ืคืึธืจืขื ืืืจื ืืึทืืืื ื ืืื ืืืขื ืึทืกืขืืืื. ืืื ืึทืืืฉืึทื ืฆื 3 ื ืืจืึทืคืืงืก, ืืืขืืืคึผื ืืืื ืืืื ืงืืืคึผืึทืืืืึทืืื ืฉืืึทืืืช ืฆื ืึธืคืืึธืืืื ื ืืฉืืื ืืช ืฆื ืื ืืคึผื ืืื ืขืงืกืึทืงืืืืื ื ืฉืึทืืขืจื.
ืฉืืืกื ืคึฟืขืึดืงืืืื ืคืื WebGPU:
- ืืึทืืื ืืขืจ ืคืึทืจืืืึทืืืื ื ืคืื ืจืขืกืืจืกื, ืคึผืจืืคึผืขืจืึทืืึธืจื ืึทืจืืขื ืืื ืืจืึทื ืกืืืกืืข ืคืื โโืงืึทืืึทื ืื ืฆื ืื ืืคึผื (ืืื ืืืขืืื ืืืื ืืืืคืขืฅ ืืื ืืขืืืขื ืคืึทืจืึทื ืืืืึธืจืืืขื ืคึฟืึทืจ ืึทืืฅ ืืื ืึทืืึธื). ืืจืื ืืึทืืื ืืขืจ ืงืึทื ืืขืงืกืฅ ืืขื ืขื ืฆืืืขืฉืืขืื: GPUDevice ืคึฟืึทืจ ืงืจืืืืืื ื ืจืขืกืืจืกื ืึทืืึท ืืื ืืขืงืกืืฉืขืจื ืืื ืืึทืคืขืจื; GPUCommandEncoder ืคึฟืึทืจ ืงืึธืืืจืื ื ืคืื ืืืื ืงืึทืืึทื ืื, ืึทืจืืึทื ืืขืจืขืื ื ืจืขื ืืขืจืื ื ืืื ืงืึทืืคึผืืึทืืืืฉืึทื ืกืืึทืืขืก; GPUCommandBuffer ืฆื ืืืื ืจืืืืืื ืคึฟืึทืจ ืืืจืืคืืจืื ื ืืืืฃ ืื ืืคึผื. ืืขืจ ืจืขืืืืืึทื ืงืขื ืขื ืืืื ืจืขื ืืขืจื ืืื ืึท ืืขืื ื ืคึฟืึทืจืืื ืื ืืื ืืืื ืึธืืขืจ ืืขืจ ืืืึทืืื ื ืขืืขืืขื ืื, ืึธืืขืจ ืคึผืจืึทืกืขืกื ืึธื ืจืขืืืืืึทื (ืคึฟืึทืจ ืืืึทืฉืคึผืื, ืืืขื ืคืืืกื ืืืง ืงืึทืืคึผืืืืื ื ืืึทืกืงืก). ืกืขืคึผืึทืจืืืืื ื ืื ืกืืึทืืขืก ืืืื ืขืก ืืจืื ืืขืจ ืฆื ืฆืขืืืืื ืืืื ืฉืึทืคืื ื ืืื ืฆืืืจืืืืื ื ืึทืคึผืขืจืืืฉืึทื ื ืืื ืคืึทืจืฉืืืขื ืข ืืึทื ืืืขืจืก ืืืึธืก ืงืขื ืขื ืืืืคื ืืืืฃ ืคืึทืจืฉืืืขื ืข ืคึฟืขืืขื.
- ื ืึทื ืืขืจืฉ ืฆืืืึทื ื ืฆื ืคึผืจืึทืกืขืกืื ื ืฉืืึทืื. ืืืขืืืคึผื ืึธืคืคืขืจืก ืฆืืืื ืึทืืืืฉืขืงืฅ - GPURenderPipeline ืืื GPUComputePipeline, ืืืึธืก ืืึธืื ืืืจ ืฆื ืคืึทืจืืื ืื ืคืึทืจืฉืืื ืฉืืึทืื ืคืึทืจ-ืืืคืืื ื ืืืจื ืื ืืขืืืขืืึธืคึผืขืจ, ืืืึธืก ืึทืืึทืื ืืขื ืืืขืืขืจืขืจ ืฆื ื ืืฉื ืืืืกื ืจืขืกืืจืกื ืืืืฃ ื ืึธื ืึทืจืืขื, ืึทืืึท ืืื ืจืืงืึธืืคึผืืืืื ื ืฉืึทืืขืจื. ืกืืคึผืคึผืึธืจืืขื ืฉืืึทืื ืึทืจืืึทื ื ืขืืขื: ืฉืึทืืขืจื, ืืืขืจืืขืงืก ืืึทืคืขืจ ืืื ืึทืืจืืืืื ืืืืึทืืฅ, ืงืืขืคึผืืง ืืจืืคึผืข ืืืืึทืืฅ, ืืืขื ืืื ื, ืืืคืงืืึทื ืืื ืคึผืึทืืขืจื ื, ืืื ืคึผืึธืกื-ืคืืจื ืจืขืืืืืึทื ืคึฟืึธืจืืึทืืืจืื ืืขื.
- ื ืืืื ืืื ื ืืึธืืขื ืคืื ืืื Vulkan ืก ืืืื ืืจืืคึผืื ื ืคึฟืขืึดืงืืืื. ืฆื ืืจืืคึผืข ืจืขืกืืจืกื ืฆืืืึทืืขื, WebGPU ืืื ืึท GPUBindGroup ืืืืคืขืฅ, ืืืึธืก ืงืขื ืขื ืืืื ืคืืจืืื ืื ืืื ืื ืืขืจืข ืขื ืืขื ืึทืืืืฉืขืงืฅ ืคึฟืึทืจ ื ืืฆื ืืื ืฉืึทืืขืจื ืืฉืขืช ืฉืจืืืื ืงืึทืืึทื ืื. ืฉืืคื ืึทืืึท ืืจืืคึผืขืก ืึทืืึทืื ืื ืฉืึธืคืขืจ ืฆื ืืืจืืคืืจื ืื ื ืืืืืง ืคึผืจืืคึผืขืจืึทืืึธืจื ืึทืงืฉืึทื ื ืืื ืฉืืืึทืื, ืืื ืึทืืึทืื ืืขื ืืืขืืขืจืขืจ ืฆื ืืืืฉื ืืืื ืืืื ืืื ืื ืฆืืืืฉื ืฆืืขื ืจืืคื ืคืื ืคืึทืกืืขืจ. ืืขืจ ืืืืกืืืื ืคืื ืืืื ืืืื ืืื ืื ืงืขื ืขื ืืืื ืคึผืจืขืืขืคืื ืขื ืืื ืื GPUBindGroupLayout ืืืืคืขืฅ.
ืืงืืจ: opennet.ru