W3C paraqiti një draft të standardit WebGPU

Konsorciumi W3C paraqiti variantet e para të draftit të specifikimeve WebGPU dhe WebGPU Shading Language (WGSL), që përcaktojnë API për ekzekutimin e operacioneve në GPU, si renderimi dhe llogaritjet, si dhe një gjuhë shaders për të shkruar programe që funksionojnë në anën e GPU. Kjo është konceptualisht e ngjashme me API-të Vulkan, Metal dhe Direct3D 12. Specifikimet janë përgatitur nga një grup pune, i cili përfshinte inxhinierë nga Mozilla, Google, Apple dhe Microsoft.

WebGPU konceptualisht është ndryshe nga WebGL ashtu siç është ndryshe API grafik Vulkan nga OpenGL, por nuk bazohet në një API grafik të caktuar, duke përfaqësuar një ndërfaqe universale që përdor të njëjtat primitive të nivelit të ulët si Vulkan, Metal dhe Direct3D. WebGPU i ofron aplikacioneve në JavaScript mjete për kontrollin e nivelit të ulët mbi organizimin, përpunimin dhe dërgimin e komandave në GPU, menaxhimin e burimeve të lidhura, memories, bufigjeve, objekteve teksturash dhe shenjave grafike të kompiluar. Qasja e tillë lejon arritjen e performancës më të lartë të aplikacioneve grafike duke reduktuar shpenzimet e mbivendosjes dhe duke përmirësuar efikasitetin e punës me GPU.

WebGPU ofron mundësinë për të krijuar projekte të ndërlikuara 3D për Web, që funksionojnë po ashtu si aplikacionet e veçanta që lidhen drejtpërdrejt me Vulkan, Metal ose Direct3D, por që nuk janë të lidhura me platforma të caktuara. WebGPU gjithashtu ofron mundësi të tjera për portimin e aplikacioneve grafike natyrore në një formë që mund të funksionojë mbi teknologjitë web, falë përkthimit në WebAssembly. Përveç grafikës 3D, WebGPU përfshin gjithashtu mundësi të lidhura me transferimin e llogaritjeve në GPU dhe ekzekutimin e shenjave.

Karakteristikat kryesore të WebGPU:

  • Menaxhimi i ndarĂ« i burimeve, punĂ«ve pĂ«rgatitore dhe transferimit tĂ« komandave nĂ« GPU (nĂ« WebGL, njĂ« objekt pĂ«rgjigjej pĂ«r gjithçka). Ofron tre kontekste tĂ« veçanta: GPUDevice pĂ«r krijimin e burimeve, si teksturat dhe tamponĂ«t; GPUCommandEncoder pĂ«r kodimin e komandave tĂ« veçanta, duke pĂ«rfshirĂ« fazat e renderimit dhe llogarisĂ«; GPUCommandBuffer pĂ«r radhitjen pĂ«r ekzekutim nĂ« GPU. Rezultati mund tĂ« vizatohet nĂ« njĂ« zonĂ« tĂ« lidhur me njĂ« ose mĂ« shumĂ« elemente canvas, ose tĂ« pĂ«rpunohen pa dalje (p.sh., kur kryhen detyra llogaritur). Ndarja e fazave lehtĂ«son ndarjen e krijimit tĂ« burimeve dhe operacioneve pĂ«rgatitore nĂ« trajtues tĂ« ndryshĂ«m, tĂ« cilĂ«t mund tĂ« ekzekutohen nĂ« thesare tĂ« ndryshme.
  • NjĂ« qasje e ndryshme pĂ«r pĂ«rpunimin e gjendjeve. NĂ« WebGPU ofrohen dy objekte — GPURenderPipeline dhe GPUComputePipeline, tĂ« cilat lejojnĂ« kombinimin e gjendjeve tĂ« ndryshme, tĂ« pĂ«rcaktuara paraprakisht nga zhvilluesi, duke i dhĂ«nĂ« mundĂ«si shfletuesit tĂ« mos harxhojĂ« burime nĂ« kryerjen e punĂ«ve tĂ« tjera, siç Ă«shtĂ« ripompimi i shaderĂ«ve. Disa nga gjendjet e mbĂ«shtetura pĂ«rfshijnĂ«: shaderat, vendosjet e bufferave tĂ« pikĂ«ve dhe atributet, vendosjet e grupeve tĂ« lidhura, pĂ«rzierja, thellĂ«sia dhe modelet, format e daljes pas renderimit.
  • Modeli i lidhjes, i ngjashĂ«m nĂ« masĂ« me mjetet e grupit tĂ« burimeve qĂ« gjenden nĂ« Vulkan. PĂ«r tĂ« bashkuar burimet nĂ« grupe, WebGPU ofron objektin GPUBindGroup, i cili gjatĂ« shkrimit tĂ« komandave mund tĂ« lidhet me objekte tĂ« tjera tĂ« ngjashme pĂ«r t’u pĂ«rdorur nĂ« shader. Krijimi i grupeve tĂ« tilla i jep mundĂ«si drejtuesit tĂ« kryejĂ« paraprakisht veprimet e nevojshme, ndĂ«rsa shfletuesit i lejon tĂ« ndryshojĂ« lidhjet e burimeve shumĂ« mĂ« shpejt midis thirrjeve tĂ« renderimit. Vendosja e lidhjeve tĂ« burimeve mund tĂ« pĂ«rcaktohet paraprakisht me ndihmĂ«n e objektit GPUBindGroupLayout.

Burimi: opennet.ru

Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster