W3C د WebGPU معیار مسوده افشا کړه

Консорциум W3C представил первые черновые варианты спецификаций WebGPU и WebGPU Shading Language (WGSL), определяющих API для выполнения операций на GPU, таких как рендеринг и вычисления, а также язык шейдров для написания программ, работающих на стороне GPU. концептуально схожий с API Vulkan, Metal и Direct3D 12. Спецификации подготовлены рабочей группой, в которую вошли инженеры из Mozilla, Google, Apple и Microsoft.

Концептуально WebGPU отличается от WebGL примерно так же, как графический API Vulkan отличается от OpenGL, но при этом не основывается на конкретном графическом API, а представляет собой универсальную прослойку, использующую те же низкоуровневые примитивы, что имеются в Vulkan, Metal и Direct3D. WebGPU предоставляет приложениям на JavaScript средства для низкоуровневого контроля за организацией, обработкой и передачей команд к GPU, управления связанными ресурсами, памятью, буферами, объектами текстур и скомпилированными графическими шейдерами. Подобный подход позволяет добиться более высокой производительности графических приложений за счёт снижения накладных расходов и повышения эффективности работы с GPU.

WebGPU даёт возможность создавать для Web сложные 3D-проекты, работающие не хуже, чем обособленные программы, напрямую обращающиеся с Vulkan, Metal или Direct3D, но не привязанные к конкретным платформам. WebGPU также предоставляет дополнительные возможности при портировании нативных графических программ в форму, способную работать на базе web-технологий, благодаря компиляции в WebAssembly. Кроме 3D-графики WebGPU охватывает и возможности, связанные с выносом вычислений на сторону GPU и выполнением шейдеров.

د WebGPU کلیدي ځانګړتیاوې:

  • د سرچینو جلا مدیریت، د چمتووالي کار او GPU ته د قوماندې لیږد (په WebGL کې، یو شی په یو وخت کې د هرڅه لپاره مسؤل و). درې جلا شرایط چمتو شوي: د سرچینو رامینځته کولو لپاره GPU وسیله لکه جوړښت او بفر؛ د انفرادي کمانډونو کوډ کولو لپاره GPUCommandEncoder، په شمول د رینډینګ او محاسبې مرحلې؛ GPUCommandBuffer د GPU چلولو کتار ته د تېرېدو لپاره. پایله په هغه ساحه کې وړاندې کیدی شي چې د یو یا ډیرو کینوس عناصرو سره تړاو لري، یا پرته له محصول څخه وړاندې کیږي (د مثال په توګه، کله چې کمپیوټري دندې پرمخ وړي). د مرحلو جلا کول دا اسانه کوي چې د سرچینو رامینځته کولو او چمتو کولو عملیات په مختلف هینډلرونو کې جلا کړئ چې په مختلف تارونو کې پرمخ وړل کیدی شي.
  • د ریاستونو اداره کولو لپاره مختلف چلند. WebGPU دوه شیان چمتو کوي - GPURenderPipeline او GPUComputePipeline، کوم چې تاسو ته اجازه درکوي د پراختیا کونکي لخوا وړاندې شوي مختلف حالتونه یوځای کړئ، کوم چې د براوزر لپاره دا ممکنه کوي چې په اضافي کارونو کې سرچینې ضایع نکړي، لکه د شیډرونو بیا ترتیب کول. په ملاتړ شوي حالتونو کې شامل دي: سیډرونه، د عمودی بفر او خاصیت ترتیبونه، د چپکشی ګروپ ترتیب، مخلوط، ژور او نمونې، د رینډر وروسته تولید فارمیټونه.
  • یو پابند ماډل، د ولکان د سرچینو ګروپ کولو وسیلو په څیر. په ګروپونو کې د سرچینو ګروپ کولو لپاره، WebGPU د GPUBindGroup څیز چمتو کوي، کوم چې د کمانډ لیکلو په وخت کې، د شیډرونو کارولو لپاره د نورو ورته شیانو سره تړل کیدی شي. د دې ډول ډلو رامینځته کول چلونکي ته اجازه ورکوي چې اړین چمتوالي عملونه دمخه ترسره کړي ، او براوزر ته اجازه ورکوي چې د ډراو تلیفونونو ترمینځ د سرچینو پابندۍ خورا ګړندي بدل کړي. د سرچینې پابندۍ ترتیب د GPUBindGroupLayout څیز په کارولو سره دمخه تعریف کیدی شي.

سرچینه: opennet.ru

Add a comment