| 開始年 | 2021年5月18日 |
|---|---|
| 初版 | 2021年5月18日 |
| 最新バージョン | W3Cワーキングドラフト (2023年現在) |
| 組織 | ウィキペディア |
| 委員会 |
|
| 編集者 |
|
| 関連規格 | |
| ドメイン | |
| Webサイト | www.w3.org/TR/webgpu/ |
WebGPUは、ウェブブラウザによって提供されるJavaScript APIであり、ウェブページのスクリプトがデバイスのグラフィックス処理装置(GPU)を効率的に利用できるようにします。これは、基盤となるVulkan、Metal、またはDirect3D 12システムAPIによって実現されます。関連するデバイスでは、WebGPUは古いWebGL標準に取って代わることを目的としています。[1]
Google Chromeは2023年4月にWebGPUの初期サポートを有効にしました。[1] [2] SafariとFirefoxはまだ有効になっていません。[2]したがって、 W3C標準は作業草案段階にあります。
テクノロジー
WebGPUはHTML キャンバス内で3Dグラフィックスを可能にします。また、汎用GPU計算を強力にサポートします。[3]
WebGPU はWGSLと呼ばれる独自のシェーディング言語を使用します。これはSPIR-Vに簡単に変換できるように設計されていましたが、苦情が寄せられたため、他のシェーディング言語に似たより伝統的な設計にリダイレクトされました。構文はRustに似ています。[4] Tint は、Googleが作成したWGSL 用のコンパイラです。 [5] Naga は、wgpu-rs のニーズに合わせて開発された同様のプロジェクトです。[6]
実装
Google ChromeとFirefoxはどちらもSPIR-VでWebGPUをサポートしており、WGSLフロントエンドの作業が進行中です。FirefoxとDenoはRust wgpuライブラリを使用しています。[7] SafariはWebGPUとWGSLの両方のアップストリーム仕様に準拠しています。[2]
Chromeバージョン113では、 Direct3D 12を搭載したWindowsデバイス、Vulkanを搭載したChromeOSデバイス、Metalを搭載したmacOSでWebGPUの初期サポートが有効になりました。[1] Android向けのこのサポートはバージョン121で有効になりました。[2]
歴史
2016年6月8日、GoogleはWebGLワーキンググループ(半年に一度の対面会議中)に「明示的なウェブグラフィックスAPI」のプレゼンテーションを行った。[8]このプレゼンテーションでは、最終的にWebGLに代わる新しいAPI、別名「WebGL Next」を構築するための基本的な考え方と原則が検討された。
2017年1月24日、クロノスは「WebGL Next」のアイデアを議論するためのIPフリーの会議を主催しましたが、これはバンクーバーでのWebGLワーキンググループの会議と重なりました。[9] 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」という名前で技術的な概念実証と提案を発表した。[10] [11] [12] WebGPUという名前は、後にAppleの最初の提案ではなく、将来の標準の作業名としてコミュニティグループによって採用された。[13]最初の提案は、さらなる混乱を避けるために「WebMetal」に改名された。[14]
W3Cの「GPU for the Web」コミュニティグループは2017年2月16日に発足した。この時点では、Apple、Google、Mozillaのすべてがこの分野で実験を行っていたが、Appleの提案のみが「gpuweb-proposals」リポジトリに正式に提出された。[15] [16] [17] その直後の2017年3月21日、MozillaはVulkan設計に基づいて、Khronosリポジトリ内にWebGL Nextの提案を提出した。[18] [19]
2018年6月1日、GoogleのChromeチームは、クロスブラウザ標準化の取り組みにおける「最も高レベルの問題の解決」を引用し、将来のWebGPU標準を実装する意向を発表しました。[13]
参考文献
- ^ abc 「Chrome が WebGPU を搭載」。Chromeデベロッパー。2023年 4 月 8 日閲覧。
- ^ abcd 「WebGPU実装ステータス」。GitHub 。2024年3月14日閲覧。
- ^ 「WebGPU API」。developer.mozilla.org 。 2024年3月17日閲覧。
- ^ WebGPU シェーディング言語仕様
- ^ Tint ソースコード
- ^ Naga ソースコード
- ^ wgpu、Rust Graphics Mages、2024-01-03、2024-01-03取得
- ^ Wallez, Corentin. 「明示的な Web グラフィックス API」 。2019年 6 月 25 日閲覧。
- ^ Wallez, Corentin; Ninomiya, Kai. 「WebGL Next 調査」 。2019年 6 月 25 日閲覧。
- ^ 「Web 上の次世代 3D グラフィックス」。WebKit . 2017 年 2 月 7 日. 2018 年 8 月 13 日閲覧。
- ^ 「Apple、Metalをウェブ向けの新しい3Dグラフィック標準の一部として位置づけようとしている」AppleInsider 。 2018年8月13日閲覧。
- ^ Claburn, Thomas (2017-02-08). 「Web標準に敏感なAppleがWebグラフィックス標準のWebGPUを発表」The Register . 2017年8月14日閲覧。
- ^ ab Wallez, Corentin (2018-05-31). 「実装の意図: WebGPU」blink-dev (メーリングリスト) . 2018-08-13に取得。
- ^ 「WebGPU プロトタイプとデモ」。WebKit 2017-04-05 . 2019-01-10閲覧。
- ^ Jackson, Dean (2017-02-16). 「ようこそ、はじめに」。public -gpu (メーリングリスト) 。 2018年9月11日閲覧。
- ^ Jackson, Dean. 「Apple の WebGPU 提案を追加する」。GitHub。2019年3 月 8 日閲覧。
- ^ Malyshau, Dzmitry. 「Web 用の新しい 3D API のプロトタイプ作成」 。2016年 12 月 16 日閲覧。
- ^ Malyshau, Dzmitry (2017-03-21). 「Web プラットフォームの定義」。2018 年 9 月 11 日閲覧。
- ^ Malyshau, Dzmitry. 「Mozilla の貢献: Obsidian API」。GitHub。2019年3 月 8 日閲覧。
外部リンク
- 公式サイト
