W3C na-ekpughe ọkọlọtọ WebGPU depụtara

W3C ewepụtala nkọwapụta nke WebGPU na WebGPU Shading Language (WGSL), nke na-akọwa API maka ịrụ ọrụ GPU dị ka nsụgharị na ịgbakọ, yana asụsụ shader maka ide mmemme na-agba na GPU. N'echiche yiri nke Vulkan, Metal na Direct3D 12 API ndị otu na-arụ ọrụ kwadoro nkọwapụta ndị a gụnyere ndị injinia sitere na Mozilla, Google, Apple na Microsoft.

N'echiche, WebGPU dị iche na WebGL n'otu ụzọ ahụ Vulkan ndịna-emeputa API si dị iche na OpenGL, mana ọ dabereghị na API eserese akọwapụtara, kama ọ bụ oyi akwa zuru ụwa ọnụ nke na-eji otu primitives dị ala dị na Vulkan, Metal na Direct3D. WebGPU na-enye ngwa Javascript njikwa dị ala na nhazi, nhazi na ịnyefe iwu na GPU, ijikwa akụrụngwa metụtara, ebe nchekwa, ihe nchekwa, ihe ederede na ihe nkpuchi eserese agbakọtara. Ụzọ a na-enye gị ohere ịrụ ọrụ dị elu maka ngwa ndịna-emeputa site n'ibelata ọnụ ahịa n'elu yana ịbawanye arụmọrụ nke ịrụ ọrụ na GPU.

WebGPU na-eme ka o kwe omume ịmepụta ọrụ 3D dị mgbagwoju anya maka Weebụ nke na-arụ ọrụ adịghị njọ karịa mmemme kwụ ọtọ na-enweta Vulkan, Metal ma ọ bụ Direct3D ozugbo, mana ejikọtaghị ya na nyiwe ụfọdụ. WebGPU na-enyekwa ikike ndị ọzọ maka ibugharị mmemme eserese ala n'ime ụdị nke webụ nyere aka site na nchịkọta n'ime WebAssembly. Na mgbakwunye na eserese 3D, WebGPU gụnyekwara ike ndị metụtara ibugharị mgbako na GPU na ime ihe ndo.

Akụkụ ndị bụ isi nke WebGPU:

  • Nlekọta dị iche iche nke akụrụngwa, ọrụ nkwadebe na nnyefe nke iwu na GPU (na WebGL, otu ihe na-ahụ maka ihe niile n'otu oge). Enyere ọnọdụ atọ dị iche iche: GPUDevice maka ịmepụta akụrụngwa dịka textures na buffers; GPUCommandEncoder maka itinye koodu n'otu n'otu, gụnyere usoro nsụgharị na ngụkọ; GPUCommandBuffer ịgafe na ahịrị ọsọ GPU. Enwere ike ịnye nsonaazụ ya na mpaghara jikọtara ya na otu ma ọ bụ karịa ihe akwa akwa, ma ọ bụ mee ya na-enweghị mmepụta (dịka ọmụmaatụ, mgbe ị na-arụ ọrụ mgbakọ na mwepụ). Nkewa nke nkebi na-eme ka ọ dị mfe ikewapụta ihe onwunwe na inye ọrụ n'ime ndị ọrụ dị iche iche nwere ike ịgba ọsọ na eriri dị iche iche.
  • Ụzọ dị iche iche maka njikwa steeti. WebGPU na-enye ihe abụọ - GPURenderPipeline na GPUComputePipeline, nke na-enye gị ohere ijikọta steeti dị iche iche nke onye mmepụta kọwapụtara, nke na-eme ka ihe nchọgharị ahụ ghara imefusị ihe onwunwe na ọrụ ndị ọzọ, dị ka nchịkọta shaders. Steeti akwadoro gụnyere: shaders, vertex buffer na attribute layouts, nhazi otu nnyapade, ngwakọta, omimi na ụkpụrụ, usoro mmepụta post-render.
  • Ụdị njide, dị ka ngwa ọrụ nchịkọta akụrụngwa nke Vulkan. Iji chịkọta akụrụngwa n'ime otu, WebGPU na-enye ihe GPUBindGroup, nke, n'oge edere iwu, enwere ike jikọta ya na ihe ndị ọzọ yiri ya maka ojiji na shaders. Ịmepụta otu dị otú ahụ na-enye ohere ka onye ọkwọ ụgbọala rụọ ọrụ nkwadebe dị mkpa tupu oge eruo, ma na-enye ohere ihe nchọgharị ka ọ gbanwee njikọ akụ n'etiti ịkpọ oku ngwa ngwa. Enwere ike ịkọwapụta nhazi nke njide akụrụngwa site na iji ihe GPUBindGroupLayout.

isi: opennet.ru

Tinye a comment