| ウェブGPU | |
|---|---|
| 状態 | 候補者推薦(CR) |
| 年が始まった | 2021年5月18日 ( 2021-05-18 ) |
| 初版 | 2021年5月18日 ( 2021-05-18 ) |
| 最新バージョン | W3C 候補勧告(2025年現在) |
| 組織 | W3C |
| 委員会 |
|
| 編集者 |
|
| 関連規格 | |
| ドメイン | |
| Webサイト | www |
WebGPU APIは、 JavaScript、Rust、C++、C言語 に対応した、クロスプラットフォームで効率的なグラフィック処理装置(GPU)アクセスを実現するAPIです。システムの基盤となるVulkan、Metal、Direct3D 12といった技術を利用することで、WebGPUはグラフィック処理、ゲーム、AIや機械学習アプリケーションなど、様々なアプリケーションの開発を可能にします。WebGPUは、Webにおける主要なグラフィック標準として、従来のWebGLに取って代わることを目指しています。 [ 2 ]
JavaScriptでは、WebGPUはWebブラウザやNode.js、DenoなどのJavaScript環境から利用できます。RustとC++では、それぞれのWebGPU仕様の実装を使用できます。Python 、Java、Goなどの他の言語では、 C言語仕様を拡張することでWebGPUを利用できます。
Google ChromeとMicrosoft Edgeは、 2023年4月に初めてWebGPUサポートをリリースしました。[ 2 ] [ 3 ] Safariは、2025年6月にSafari 26でWebGPUサポートを開始しました。[ 4 ] Firefoxは、 2025年7月にFirefox 141で初めてWebGPUをリリースしました。[ 3 ] W3C標準は候補勧告です。
WebGPUはHTMLキャンバス内で3Dグラフィックスを実現します。また、汎用GPU計算を強力にサポートしています。[ 5 ]
WebGPUはWebGPU Shading Language (WGSL)と呼ばれる独自のシェーディング言語を使用しています。これはSPIR-Vに簡単に変換できるように設計されていましたが、苦情が寄せられたため、他のシェーディング言語と同様のより伝統的な設計に変更されました。構文はRustに似ています。[ 6 ] TintはGoogle製のWGSL用コンパイラです。 [ 7 ] Nagaはwgpu-rsのニーズに合わせて開発された同様のプロジェクトです。[ 8 ]
Google ChromeとFirefoxはどちらもWebGPUとWGSLをサポートしています。FirefoxとDenoはRustのwgpuライブラリを使用しています。[ 9 ] SafariはWebGPUとWGSLの両方のアップストリーム仕様に準拠しています。[ 3 ]
Chromeバージョン113では、 Direct3D 12を搭載したWindowsデバイス、Vulkanを搭載したChromeOSデバイス、Metalを搭載したmacOSでWebGPUの初期サポートが有効になりました。[ 2 ] Android向けのこのサポートはバージョン121で有効になりました。[ 3 ]
2016年6月8日、GoogleはWebGLワーキンググループ(2年ごとの対面会議中)に「明示的なウェブグラフィックスAPI」のプレゼンテーションを行った。[ 10 ]このプレゼンテーションでは、最終的にWebGLに代わる新しいAPI、いわゆる「WebGL Next」を構築するための基本的な考え方と原則が検討された。
2017年1月24日、クロノスは「WebGL Next」のアイデアを議論するためのIPフリー会議を開催したが、この会議はバンクーバーでのWebGLワーキンググループ会議と重なっていた。[ 11 ] Googleチームは、 ChromiumでOpenGLと連携して実行できる、またはOpenGLとMetalでスタンドアロンで実行できる新しいAPIを実装したNXTプロトタイプを発表した。NXTはVulkan、Direct3D 12、MetalネイティブAPIのコンセプトを全て借用している。AppleとMozillaの代表者もSafariとServo上にそれぞれ構築したプロトタイプを披露したが、どちらもMetal APIを忠実に再現していた。
2017年2月7日、AppleのWebKitチームは、API設計のためのW3Cコミュニティグループの設立を提案しました。同時に、 AppleのMetalの概念に基づいた「WebGPU」という名称で、技術的な概念実証と提案を発表しました。[ 12 ] [ 13 ] [ 14 ] WebGPUという名称は、後にAppleの最初の提案ではなく、将来の標準規格の作業名称としてコミュニティグループによって採用されました。[ 15 ]混乱を避けるため、最初の提案は「WebMetal」に改名されました。[ 16 ]
W3Cの「GPU for the Web」コミュニティグループは2017年2月16日に発足しました。当時、Apple、Google、Mozillaの3社がこの分野で実験を行っていましたが、「gpuweb-proposals」リポジトリに正式に提出されたのはAppleの提案のみでした。[ 17 ] [ 18 ] [ 19 ] その直後の2017年3月21日、MozillaはVulkan設計に基づいたWebGL Nextの提案をKhronosリポジトリに提出しました。[ 20 ] [ 21 ]
2018年6月1日、GoogleのChromeチームは、クロスブラウザ標準化の取り組みにおける「最も高レベルの問題の解決」を理由に、将来のWebGPU標準を実装する意向を発表しました。[ 15 ]
2020 年 2 月 13 日、Google は WebGPU API への WHLSL テキスト言語提案の代替として Tint を発表しました。この言語は最終的に標準化されたWebGPU シェーディング言語 (WGSL)となり、Tint は Chromium の WebGPU 実装である Dawn 内のコンパイラーの名前になりました。