ะะพะผะฟะฐะฝะธั Google ะพะฑััะฒะธะปะฐ ะพ ะฒะบะปััะตะฝะธะธ ะฟะพ ัะผะพะปัะฐะฝะธั ะฟะพะดะดะตัะถะบะธ ะณัะฐัะธัะตัะบะพะณะพ API WebGPU ะธ ัะทัะบะฐ ัะตะนะดะตัะพะฒ WGSL (WebGPU Shading Language) ะฒ ะฒะตัะบะต Chrome 113, ัะตะปะธะท ะบะพัะพัะพะน ะฝะฐะผะตัะตะฝ ะฝะฐ 2 ะผะฐั. WebGPU ะฟัะตะดะพััะฐะฒะปัะตั ัั ะพะถะธะน ั Vulkan, Metal ะธ Direct3D 12 ะฟัะพะณัะฐะผะผะฝัะน ะธะฝัะตััะตะนั ะดะปั ะฒัะฟะพะปะฝะตะฝะธั ะพะฟะตัะฐัะธะน ะฝะฐ ััะพัะพะฝะต GPU, ัะฐะบะธั ะบะฐะบ ัะตะฝะดะตัะธะฝะณ ะธ ะฒััะธัะปะตะฝะธั, ะฐ ัะฐะบะถะต ะฟะพะทะฒะพะปัะตั ะธัะฟะพะปัะทะพะฒะฐัั ัะทัะบ ัะตะนะดัะพะฒ ะดะปั ะฝะฐะฟะธัะฐะฝะธั ะฟัะพะณัะฐะผะผ, ัะฐะฑะพัะฐััะธั ะฝะฐ ััะพัะพะฝะต GPU. ะ ะตะฐะปะธะทะฐัะธั WebGPU ะฑัะดะตั ะฒะบะปััะตะฝะฐ ะฒะฝะฐัะฐะปะต ัะพะปัะบะพ ะฒ ัะฑะพัะบะฐั ะดะปั ChromeOS, macOS ะธ Windows. ะะปั Linux ะธ Android ะฟะพะดะดะตัะถะบะฐ WebGPU ะฑัะดะตั ะฐะบัะธะฒะธัะพะฒะฐะฝะฐ ะฟะพะทะดะฝะตะต.
ะัะพะผะต Chrome ัะบัะฟะตัะธะผะตะฝัะฐะปัะฝะฐั ะฟะพะดะดะตัะถะบะฐ WebGPU ัะตััะธััะตััั ั ะฐะฟัะตะปั 2020 ะณะพะดะฐ ะฒ Firefox ะธ ั ะฝะพัะฑัั 2021 ะณะพะดะฐ ะฒ Safari. ะะปั ะฒะบะปััะตะฝะธั WebGPU ะฒ Firefox ะฒ about:config ัะปะตะดัะตั ะฒัััะฐะฒะธัั ัะปะฐะณะธ dom.webgpu.enabled ะธ gfx.webgpu.force-enabled. ะ ะฟะปะฐะฝะฐั ะฟะพ ะฒะบะปััะตะฝะธั WebGPU ะฟะพ ัะผะพะปัะฐะฝะธั ะฒ Firefox ะธ Safari ะฟะพะบะฐ ะฝะต ัะพะพะฑัะฐะตััั. ะ ะฐะทะฒะธะฒะฐะตะผัะต ะดะปั Firefox ะธ Chrome ัะตะฐะปะธะทะฐัะธะธ WebGPU ะดะพัััะฟะฝั ะฒ ัะพัะผะต ะพัะดะตะปัะฝัั ะฑะธะฑะปะธะพัะตะบ โ Dawn (ะก++) ะธ wgpu (Rust), ะบะพัะพััะต ะผะพะถะฝะพ ะธัะฟะพะปัะทะพะฒะฐัั ะดะปั ะธะฝัะตะณัะฐัะธะธ ะฟะพะดะดะตัะถะบะธ WebGPU ะฒ ัะฒะพะธ ะฟัะธะปะพะถะตะฝะธั. ะขะฐะบะถะต ะฒะตะดัััั ัะฐะฑะพัะฐ ะฟะพ ะดะพะฑะฐะฒะปะตะฝะธั ะฟะพะดะดะตัะถะบะธ WebGPU ะฒ ะฟะพะฟัะปััะฝัะต JavaScript-ะฑะธะฑะปะธัะตะบะธ, ะธะทะฝะฐัะฐะปัะฝะพ ะธัะฟะพะปัะทัััะธะต WebGL. ะะฐะฟัะธะผะตั, ะฟะพะปะฝะฐั ะฟะพะดะดะตัะถะบะฐ WebGPU ัะถะต ะทะฐัะฒะปะตะฝะฐ ะฒ Babylon.js, ะฐ ัะฐััะธัะฝะฐั ะฒ Three.js, PlayCanvas ะธ TensorFlow.js.
ะะพะฝัะตะฟััะฐะปัะฝะพ WebGPU ะพัะปะธัะฐะตััั ะพั WebGL ะฟัะธะผะตัะฝะพ ัะฐะบ ะถะต, ะบะฐะบ ะณัะฐัะธัะตัะบะธะน API Vulkan ะพัะปะธัะฐะตััั ะพั OpenGL, ะฝะพ ะฟัะธ ััะพะผ WebGPU ะฝะต ะพัะฝะพะฒัะฒะฐะตััั ะฝะฐ ะบะพะฝะบัะตัะฝะพะผ ะณัะฐัะธัะตัะบะพะผ API, ะฐ ะฟัะตะดััะฐะฒะปัะตั ัะพะฑะพะน ัะฝะธะฒะตััะฐะปัะฝัั ะฟัะพัะปะพะนะบั, ะธัะฟะพะปัะทััััั ัะต ะถะต ะฝะธะทะบะพััะพะฒะฝะตะฒัะต ะฟัะธะผะธัะธะฒั, ััะพ ะธะผะตัััั ะฒ Vulkan, Metal ะธ Direct3D. WebGPU ะฟัะตะดะพััะฐะฒะปัะตั ะฟัะธะปะพะถะตะฝะธัะผ ะฝะฐ JavaScript ััะตะดััะฒะฐ ะดะปั ะฝะธะทะบะพััะพะฒะฝะตะฒะพะณะพ ะบะพะฝััะพะปั ะทะฐ ะพัะณะฐะฝะธะทะฐัะธะตะน, ะพะฑัะฐะฑะพัะบะพะน ะธ ะฟะตัะตะดะฐัะตะน ะบะพะผะฐะฝะด ะบ GPU, ัะฟัะฐะฒะปะตะฝะธั ัะฒัะทะฐะฝะฝัะผะธ ัะตััััะฐะผะธ, ะฟะฐะผัััั, ะฑััะตัะฐะผะธ, ะพะฑัะตะบัะฐะผะธ ัะตะบัััั ะธ ัะบะพะผะฟะธะปะธัะพะฒะฐะฝะฝัะผะธ ะณัะฐัะธัะตัะบะธะผะธ ัะตะนะดะตัะฐะผะธ. ะะพะดะพะฑะฝัะน ะฟะพะดั ะพะด ะฟะพะทะฒะพะปัะตั ะดะพะฑะธัััั ะฑะพะปะตะต ะฒััะพะบะพะน ะฟัะพะธะทะฒะพะดะธัะตะปัะฝะพััะธ ะณัะฐัะธัะตัะบะธั ะฟัะธะปะพะถะตะฝะธะน ะทะฐ ัััั ัะฝะธะถะตะฝะธั ะฝะฐะบะปะฐะดะฝัั ัะฐัั ะพะดะพะฒ ะธ ะฟะพะฒััะตะฝะธั ัััะตะบัะธะฒะฝะพััะธ ัะฐะฑะพัั ั GPU.
WebGPU ะดะฐัั ะฒะพะทะผะพะถะฝะพััั ัะพะทะดะฐะฒะฐัั ะดะปั Web ัะปะพะถะฝัะต 3D-ะฟัะพะตะบัั, ัะฐะฑะพัะฐััะธะต ะฝะต ั ัะถะต, ัะตะผ ะพะฑะพัะพะฑะปะตะฝะฝัะต ะฟัะพะณัะฐะผะผั, ะฝะฐะฟััะผัั ะธัะฟะพะปัะทัััะธะต Vulkan, Metal ะธะปะธ Direct3D, ะฝะพ ะฝะต ะฟัะธะฒัะทะฐะฝะฝัะต ะบ ะบะพะฝะบัะตัะฝัะผ ะฟะปะฐััะพัะผะฐะผ. WebGPU ัะฐะบะถะต ะฟัะตะดะพััะฐะฒะปัะตั ะดะพะฟะพะปะฝะธัะตะปัะฝัะต ะฒะพะทะผะพะถะฝะพััะธ ะฟัะธ ะฟะพััะธัะพะฒะฐะฝะธะธ ะฝะฐัะธะฒะฝัั ะณัะฐัะธัะตัะบะธั ะฟัะพะณัะฐะผะผ ะฒ ัะพัะผั, ัะฟะพัะพะฑะฝัั ัะฐะฑะพัะฐัั ะฝะฐ ะฑะฐะทะต web-ัะตั ะฝะพะปะพะณะธะน, ะฑะปะฐะณะพะดะฐัั ะบะพะผะฟะธะปััะธะธ ะฒ WebAssembly. ะัะพะผะต 3D-ะณัะฐัะธะบะธ WebGPU ะพั ะฒะฐััะฒะฐะตั ะธ ะฒะพะทะผะพะถะฝะพััะธ, ัะฒัะทะฐะฝะฝัะต ั ะฒัะฝะพัะพะผ ะฒััะธัะปะตะฝะธะน ะฝะฐ ััะพัะพะฝั GPU ะธ ะฒัะฟะพะปะฝะตะฝะธะตะผ ัะตะนะดะตัะพะฒ.
เบเบธเบโเบเบฐโเบชเบปเบกโเบเบฑเบโเบเบตเปโเบชเปเบฒโเบเบฑเบโเบเบญเบ WebGPUโ:
- เบเบฒเบเบเบฑเบเบเบฒเบเบเบฑเบเบเบฐเบเบฒเบเบญเบเปเบเบเบเปเบฒเบเบซเบฒเบ, เบงเบฝเบเบเบฒเบเบเบฐเบเบฝเบกเปเบฅเบฐเบเบฒเบเบชเบปเปเบเบเปเบฒเบชเบฑเปเบเปเบเบซเบฒ GPU (เปเบ WebGL เบงเบฑเบเบเบธเบซเบเบถเปเบเบฎเบฑเบเบเบดเบเบเบญเบเบชเปเบฒเบฅเบฑเบเบเบธเบเบชเบดเปเบเบเบธเบเบขเปเบฒเบเปเบเปเบงเบฅเบฒเบเบฝเบงเบเบฑเบ). เบชเบฒเบกเบชเบฐเบเบฒเบเบเบฒเบเปเบเบเบเปเบฒเบเบซเบฒเบเปเบกเปเบเบชเบฐเบซเบเบญเบเปเบซเป: GPUDevice เบชเปเบฒเบฅเบฑเบเบเบฒเบเบชเปเบฒเบเบเบฑเบเบเบฐเบเบฒเบเบญเบเปเบเบฑเปเบเปเบเบเบชเปเบฒเบเปเบฅเบฐ buffers; GPUCommandEncoder เบชเปเบฒเบฅเบฑเบเบเบฒเบเปเบเบปเปเบฒเบฅเบฐเบซเบฑเบเบเปเบฒเบชเบฑเปเบเบชเปเบงเบเบเบธเบเบเบปเบ, เบฅเบงเบกเบเบฑเบเบเบฑเปเบเบเบญเบเบเบฒเบเบชเบฐเปเบเบเบเบปเบเปเบฅเบฐเบเบฒเบเบเบดเบเปเบฅเป; GPUCommandBuffer เบเบฐเบเบทเบเบเบฑเบเบเบดเบงเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบฐเบเบดเบเบฑเบเปเบ GPU. เบเบปเบเปเบเปเบฎเบฑเบเบชเบฒเบกเบฒเบเปเบเปเบฎเบฑเบเบเบฒเบเบชเบฐเปเบเบเบขเบนเปเปเบเบเบทเปเบเบเบตเปเบเบตเปเบเปเบฝเบงเบเปเบญเบเบเบฑเบเบซเบเบถเปเบเบซเบผเบทเบซเบผเบฒเบเบญเบปเบเบเบฐเบเบญเบ canvas, เบซเบผเบทเบเบฐเบกเบงเบเบเบปเบเปเบเบเบเปเปเบกเบตเบเบฒเบ output (เบเบปเบงเบขเปเบฒเบเปเบเบฑเปเบ, เปเบเปเบงเบฅเบฒเบเบตเปเปเบฎเบฑเบเบงเบฝเบเบเบญเบกเบเบดเบงเปเบเบต). เบเบฒเบเปเบเบเบเบฑเปเบเบเบญเบเปเบฎเบฑเบเปเบซเปเบกเบฑเบเบเปเบฒเบเบเปเปเบเบฒเบเปเบเบเบเบฒเบเบชเปเบฒเบเบเบฑเบเบเบฐเบเบฒเบเบญเบเปเบฅเบฐเบเบฒเบเบเปเบฒเปเบเบตเบเบเบฒเบเบเบฒเบเบเบฐเบเบฝเบกเปเบเบปเปเบฒเปเบเปเบเบเบปเบงเบเบฑเบเบเบฒเบเบเบตเปเปเบเบเบเปเบฒเบเบเบฑเบเบเบตเปเบชเบฒเบกเบฒเบเบเปเบฒเปเบเบตเบเบเบฒเบเปเบเบซเบปเบงเบเปเปเบเบตเปเปเบเบเบเปเบฒเบเบเบฑเบ.
- เบงเบดเบเบตเบเบฒเบเบเบตเปเปเบเบเบเปเบฒเบเบเบฑเบเบเบฑเบเบฅเบฑเบเบเบฐเบกเบงเบเบเบปเบ. WebGPU เบชเบฐเปเบซเบเบตเบชเบญเบเบงเบฑเบเบเบธ - GPURenderPipeline เปเบฅเบฐ GPUComputePipeline, เปเบเบดเปเบเบเปเบงเบเปเบซเปเบเปเบฒเบเบชเบฒเบกเบฒเบเบชเบปเบกเบเบปเบเบฅเบฑเบเบเปเบฒเบเปเบเบตเปเบเปเบฒเบเบปเบเปเบงเปเบเปเบญเบเปเบเบเบเบนเปเบเบฑเบเบเบฐเบเบฒ, เปเบเบดเปเบเบเปเบงเบเปเบซเปเบเบปเบงเบเปเบญเบเปเบงเบฑเบเบเปเปเปเบชเบเบเบฑเบเบเบฐเบเบฒเบเบญเบเปเบเบเบฒเบเปเบฎเบฑเบเบงเบฝเบเปเบเบตเปเบกเปเบเบตเบก, เปเบเบฑเปเบ: recompiling shaders. เบชเบฐเบเบฒเบเบฐเบเบตเปเบฎเบญเบเบฎเบฑเบเบฅเบงเบกเบกเบต: shaders, vertex buffer เปเบฅเบฐ attribute layouts, layouts group sticky, blending, depth and patterns, and post-render output formats.
- เบฎเบนเบเปเบเบเบเบฒเบเบเบนเบเบกเบฑเบเบซเบผเบฒเบเบเบทเบเบฑเบเบฅเบฑเบเบชเบฐเบเบฐเบเบฒเบเบเบฑเบเบเบธเปเบกเบเบฑเบเบเบฐเบเบฒเบเบญเบเบเบญเบ Vulkan. เปเบเบทเปเบญเบเบฑเบเบเบธเปเบกเบเบฑเบเบเบฐเบเบฒเบเบญเบเบฎเปเบงเบกเบเบฑเบ, WebGPU เปเบซเปเบงเบฑเบเบเบธ GPUBindGroup, เปเบเบดเปเบเบชเบฒเบกเบฒเบเปเบเบทเปเบญเบกเปเบเบเบเบฑเบเบงเบฑเบเบเบธเบเบตเปเบเปเบฒเบเบเบทเบเบฑเบเบญเบทเปเบเปเปเบเบทเปเบญเปเบเปเปเบ shaders เปเบเบเบฐเบเบฐเบเบตเปเบเบฝเบเบเปเบฒเบชเบฑเปเบ. เบเบฒเบเบชเปเบฒเบเบเบธเปเบกเบเบฑเปเบเบเปเบฒเบงเบเปเบงเบเปเบซเปเบเบนเปเบเบฑเบเบเบตเปเบเบฐเบเบดเบเบฑเบเบเบฒเบเบเบฝเบกเบเปเบญเบกเบเบตเปเบเปเบฒเปเบเบฑเบเบฅเปเบงเบเบซเบเปเบฒ, เปเบฅเบฐเบเปเบงเบเปเบซเปเบเบปเบงเบเปเบญเบเปเบงเบฑเบเบชเบฒเบกเบฒเบเบเปเบฝเบเบเบฒเบเบเบนเบเบกเบฑเบเบเบฑเบเบเบฐเบเบฒเบเบญเบเบฅเบฐเบซเบงเปเบฒเบเบเบฒเบเปเบเปเบเบเปเบเปเบกเปเบเปเปเบงเบเบถเปเบ. เบฎเบนเบเปเบเบเบเบญเบเบเบฒเบเบเบนเบเบกเบฑเบเบเบฑเบเบเบฐเบเบฒเบเบญเบเบชเบฒเบกเบฒเบเบเบทเบเบเปเบฒเบเบปเบเปเบงเปเบฅเปเบงเบเปเปเบฒเปเบเบเปเบเปเบงเบฑเบเบเบธ GPUBindGroupLayout.
เปเบซเบผเปเบเบเปเปเบกเบนเบ: opennet.ru