I-W3C ikhuphe iidrafti zokuqala ze-WebGPU kunye ne-WebGPU Shading Language (WGSL) iinkcukacha, ezichaza ii-APIs zokwenza imisebenzi ye-GPU efana nokunikezelwa kunye ne-computing, kunye nolwimi lwe-shader kwiinkqubo zokubhala ezisebenza kwi-GPU. ngokwengqiqo ifana neVulkan, iMetal kunye neDirect3D 12 APIs. Iinkcukacha zilungiswe liqela elisebenzayo elibandakanya iinjineli ezivela kwiMozilla, Google, Apple kunye neMicrosoft.
Ngokwengqikelelo, iWebGPU yahlukile kwiWebGL ngendlela efanayo neVulkan yemizobo yeAPI yohluke kwi-OpenGL, kodwa ayisekelwanga kwi-API yemizobo ethile, kodwa ngumaleko wendalo iphela osebenzisa umgangatho ophantsi ofanayo ofumaneka kwiVulkan, iMetal kunye Direct3D. I-WebGPU ibonelela ngezicelo zeJavaScript ezinolawulo olusezantsi kumbutho, ukusetyenzwa kunye nokuhanjiswa kwemiyalelo kwi-GPU, ukulawula izixhobo ezihambelanayo, imemori, i-buffers, izinto zokuthungwa kunye ne-graphics shaders ehlanganisiweyo. Le ndlela ikuvumela ukuba ufezekise ukusebenza okuphezulu kwezicelo zegraphic ngokunciphisa iindleko eziphezulu kunye nokwandisa ukusebenza kakuhle kunye neGPU.
IWebGPU yenza kube lula ukwenza iiprojekthi ezintsonkothileyo ze-3D zeWebhu ezingasebenzi zimbi kuneenkqubo ezizimeleyo ezifikelela ngokuthe ngqo kwiVulkan, iMetal okanye iDirect3D, kodwa ingabotshelelwanga kumaqonga athile. I-WebGPU ikwabonelela ngezakhono ezongezelelweyo zokuhambisa iinkqubo zemizobo yemveli kwifom eyenziwe yasebenza ngewebhu ngokuhlanganisa kwiWebAssembly. Ukongeza kwimizobo ye-3D, iWebGPU ikwabandakanya amandla anxulumene nokukhuphela izibalo kwi-GPU kunye nokwenza i-shaders.
Iimpawu eziphambili zeWebGPU:
- Ulawulo olwahlukileyo lwezibonelelo, umsebenzi wokulungiselela kunye nokuhanjiswa kwemiyalelo kwi-GPU (kwiWebGL enye into yayinoxanduva kuyo yonke into kanye kanye). Imixholo emithathu eyahlukileyo inikwe: I-GPUDevice yokudala izixhobo ezifana nokuthungwa kunye ne-buffers; IGPUCommandEncoder yokufaka iikhowudi kwimiyalelo yomntu ngamnye, kuquka unikezelo kunye nezigaba zokubala; IGPUCommandBuffer iza kufolelwa ukuphunyezwa kwiGPU. Isiphumo sinokunikezelwa kwindawo ehambelana nenye okanye ngaphezulu kwezinto zeseyile, okanye zisetyenzwe ngaphandle kwemveliso (umzekelo, xa uqhuba imisebenzi yekhompyutha). Ukwahlula izigaba kwenza kube lula ukwahlula ukudalwa kwezixhobo zokusebenza kunye nemisebenzi yokulungiselela kubaphangi abahlukeneyo abanokuqhuba kwimisonto eyahlukeneyo.
- Indlela eyahlukileyo yokuqhuba amazwe. I-WebGPU inikezela ngezinto ezimbini - i-GPURenderPipeline kunye ne-GPUComputePipeline, ekuvumela ukuba udibanise amazwe ahlukeneyo achazwe ngaphambili ngumthuthukisi, ovumela ukuba isiphequluli singachithi izibonelelo kumsebenzi owongezelelweyo, njengokubuyisela i-shaders. Amazwe axhaswayo aquka: iishaders, i-vertex buffer kunye nokwakheka kweempawu, iiplani zeqela ezincangathi, ukudibanisa, ubunzulu kunye neepateni, kunye neefomathi zemveliso ye-post-render.
- Imodeli ebophelelayo efana neempawu zeqela lezixhobo zeVulkan. Ukudibanisa izixhobo kunye, i-WebGPU ibonelela ngento ye-GPUBindGroup, enokuthi idibaniswe nezinye izinto ezifanayo zokusetyenziswa kwi-shaders ngelixa ubhala imiyalelo. Ukudala amaqela anjalo kuvumela umqhubi ukuba enze izenzo eziyimfuneko zokulungiselela kwangaphambili, kwaye ivumela isikhangeli ukuba sitshintshe izibophelelo zemithombo phakathi kweefowuni zokutsalwa ngokukhawuleza. Uyilo lwezibophelelo zemithombo lunokuchazwa kwangaphambili kusetyenziswa into yeGPUBindGroupLayout.
umthombo: opennet.ru
