WebGPUとは
WebGPUは、Webブラウザ上で高度な3Dグラフィックスと計算処理を可能にする、次世代のWeb標準APIです。従来の
WebGLの課題を克服し、より効率的で柔軟なグラフィックス処理を目指しています。このAPIは、
Apple、Mozilla、Microsoft、
Googleなど、多くの主要なテクノロジー企業が協力して開発を進めています。
WebGLが既存のネイティブAPIを直接ポートするアプローチだったのに対し、WebGPUはVulkan、Metal、Direct3D 12といった最新のグラフィックスAPIの概念をベースに設計されています。これにより、より高いパフォーマンスと柔軟性を実現しています。
歴史
WebGPUの開発は、2016年に
Googleが
WebGLワーキンググループで発表した「Explicit web graphics API」というプレゼンテーションから始まりました。このプレゼンテーションでは、
WebGLを置き換える新しいAPIの基本的な概念が検討されました。その後、Khronosが「
WebGL Next」の概念について議論するIP-freeミーティングを主催し、
GoogleがNXTというプロトタイプを披露しました。NXTは、Vulkan、Direct3D 12、MetalといったネイティブAPIの概念を取り入れたものでした。また、
AppleとMozillaもそれぞれ独自のプロトタイプを開発しました。
W3Cのワーキンググループ
2017年2月、
Appleの
WebKitチームはAPI設計のためのW3Cコミュニティグループの設立を提案し、同時に「WebGPU」という名称を提案しました。この提案はコミュニティグループに受け入れられ、将来の標準の仮称としても採用されました。W3Cの「GPU for the Web」コミュニティグループは2017年2月16日に設立され、
Apple、
Google、Mozillaがこの領域での実験を行いました。その後、MozillaもVulkanの設計をベースにした提案を提出しました。2018年6月には、
GoogleのChromeチームが将来のWebGPU標準の実装を開始する意向を表明しました。
技術
WebGPUは、SPIR-Vへ容易に翻訳可能なWGSL(WebGPU Shading Language)という独自のシェーディング言語を使用しています。この選択は、
Appleによるtextual WebMetal、
Apple Safariによるtextual WebHLSL/WSL、MozillaによるバイナリSPIR-Vという3つの提案の妥協案です。
実装状況
WebGPUは、主要なブラウザで実装が進んでいます。以下に実装状況を示します。
Google Chrome: バージョン113以降で対応。
Mozilla Firefox: SPIR-Vを使用したWebGPUをサポートしており、WGSLフロントエンドの開発が進んでいます。
Safari: Web Shading Language (WSL) を使用したWebGPUをSafari Technology Previewでサポートしています。
関連技術
WebGPUは、以下の技術と関連があります。
Direct3D 12
Khronos Group
Metal (API)
OpenGL
Vulkan (API)
WebCL
WebGL
ウェブプラットフォーム
参考資料
公式ウェブサイト
WebGPU 仕様書
gpuweb - GitHub
WebGPU API Proposal for Apple Webkit in 2017
GPU on the Web Community Group at W3C