В
O le sini autu o le WebGPU o le tuʻuina atu lea o se faʻaoga faʻaoga saogalemu, faʻaoga-faʻaoga, feaveaʻi, ma maualuga-faʻatinoga polokalame mo le upega tafaʻilagi e faʻaogaina ai le 3D faʻataʻitaʻiga tekonolosi ma gafatia e tuʻuina atu e API faʻaonaponei faʻaonaponei, e pei o Direct3D 12 i luga o Windows, Metal. i macOS, ma Vulkan i Linux. I le manatu, WebGPU e ese mai WebGL i le auala lava lea e tasi e ese ai Vulkan mai OpenGL, ma i le taimi lava e tasi e le o faʻavae i luga o se API faʻataʻitaʻiga faʻapitoa, ae o se faʻasalalauga lautele e masani ona faʻaaogaina tutusa tulaga maualalo maualalo o loʻo maua i Vulkan, Uamea ma Direct3D.
WebGPU e tuʻuina atu talosaga JavaScript ma faʻatonuga maualalo i luga o le faʻatulagaina, gaioiga, ma le tuʻuina atu o faʻatonuga i le GPU, puleaina o punaoa fesoʻotaʻi, manatua, paʻu, mea faitino, ma faʻapipiʻi ata faʻataʻitaʻiga. O lenei faiga e mafai ai e oe ona ausia le maualuga o le faʻatinoga mo faʻataʻitaʻiga faʻataʻitaʻiga e ala i le faʻaitiitia o tau faʻaalu ma faʻateleina le lelei o le galue ma le GPU.
O le WebGPU e mafai ai ona fatuina ni galuega faʻapitoa 3D faʻapitoa mo le Upega e le sili atu le leaga nai lo polokalame tutoʻatasi e maua saʻo Vulkan, Metal poʻo Direct3D, ae e le o noatia i tulaga faʻapitoa. E maua ai fo'i e le WebGPU avanoa fa'aopoopo pe a tu'uina atu polokalame fa'ata'ita'i fa'apitoa i se fomu fa'aogaina i luga ole laiga e ala ile fa'aogaina ole tekonolosi WebAssembly. I le faʻaopoopoga i ata 3D, WebGPU e aofia ai foʻi le gafatia e fesoʻotaʻi ma le faʻaogaina o faʻatusatusaga i le GPU ma le lagolagoina o le atinaʻeina o shader. Paolo
WebGPU faʻaaogaina le tuʻufaʻatasia o le puleaina o punaoa, galuega sauniuni, ma le tuʻuina atu o poloaiga i le GPU (i le WebGL, e tasi le mea e nafa ma mea uma i le taimi e tasi). E tolu tulaga eseese ua saunia:
GPUDevice mo le fatuina o punaoa e pei o lanu ma paʻu; GPUCommandEncoder mo le fa'avasegaina o fa'atonuga ta'ito'atasi, e aofia ai le fa'aliliuina ma le fa'atulagaina o la'asaga; GPUCommandBuffer e tuʻuina mo le faʻatinoina i luga o le GPU. O le i'uga e mafai ona tu'uina atu i se vaega e feso'ota'i ma se tasi pe sili atu elemene tapoleni, po'o le fa'agaioia e aunoa ma se mea e maua (fa'ata'ita'iga, pe a fa'atino galuega fa'atatau). O le tuueseeseina o laasaga e faafaigofie ai ona tuueseeseina le gaosiga o punaoa ma galuega sauniuni i tagata eseese e mafai ona tamoe i luga o filo eseese.
O le eseesega lona lua i le va o WebGPU ma WebGL o se auala ese i le taulimaina o setete. WebGPU e ofoina atu ni mea se lua - GPURenderPipeline ma GPUComputePipeline, lea e mafai ai e oe ona tuʻufaʻatasia setete eseese na muaʻi faʻamalamalamaina e le atinaʻe, lea e mafai ai e le browser ona le faʻaumatia punaoa i galuega faaopoopo, e pei o le toe faʻaleleia o shaders. O setete lagolago e aofia ai: shaders, vertex buffer ma uiga faʻatulagaina, faʻapipiʻi kulupu faʻapipiʻi, faʻafefiloi, loloto ma mamanu, ma faʻasologa o galuega faatino pe a uma ona tuʻuina atu.
O le vaega lona tolu o WebGPU ua taʻua o le faʻataʻitaʻiga faʻataʻitaʻiga, tele
toe fa'amanatu mai mea faigaluega fa'avasegaina o lo'o iai i Vulkan.
Ina ia faʻapotopoto faʻatasi punaoa, WebGPU e tuʻuina atu se mea GPUBindGroup, lea e mafai ona fesoʻotaʻi ma isi mea tutusa mo le faʻaogaina i shaders aʻo tusia poloaiga. O le fatuina o ia vaega e mafai ai e le aveta'avale ona faia ni sauniuniga talafeagai i le taimi muamua, ma fa'atagaina le su'esu'ega e suia le fa'aogaina o puna'oa i le va o le telefoni fa'atosina vave. E mafai ona mua'i fa'auigaina le fa'atulagaina o feso'ota'iga a le GPUBindGroupLayout.
I Firefox, ina ia mafai ai le WebGPU ile: config, o loʻo i ai se seti "dom.webgpu.enabled". O le fa'aliliuina o le CanvasContext e mana'omia fo'i le tu'ufa'atasi ina ia mafai
puna: opennet.ru