この記事はグラフィックス全般 Advent Calendar 2024(※)の8日目の記事です。
はじめに
この記事は各ブラウザにおける WebGL 対応状況の調査結果(2024年12月時点)になります。
今回の調査対象
WebGL の対応状況については、以下のサイトにて確認を行いました。
■ WebGL Report
https://webglreport.com/
テスト環境一覧
OS とブラウザ | バージョン | GPU |
---|---|---|
Windows 11 バージョン24H2 + Edge 131 | 131.0.2903.86 | GeForce RTX 2060 |
Windows 11 バージョン24H2 + Chrome 131 | 131.0.6778.109 | GeForce RTX 2060 |
Windows 11 バージョン24H2 + Firefox 133 | 133.0 | GeForce RTX 2060 |
macOS 14.7.1 + Safari | 605.1.15 | UHD Graphics 617 |
iOS 18.1.1 + Safari | 605.1.15 | Apple A11 |
iPadOS 18.1.1 + Safari | 605.1.15 | Apple A12Z |
※ Chrome 101 以降はユーザーエージェントのマイナーバージョンが非表示となっている為、Edge/Chrome のバージョン情報はヘルプメニューにて調査しています。
WebGL 1.0 の対応状況
項目 | Edge 131 | Chrome 131 | Firefox 133 | macOS 14.7 | iOS 18.1 | iPadOS 18.1 |
---|---|---|---|---|---|---|
Vendor | WebKit | WebKit | Mozilla | WebKit | WebKit | WebKit |
Renderer | WebKit WebGL | WebKit WebGL | Mozilla | WebKit WebGL | WebKit WebGL | WebKit WebGL |
GL Version | WebGL 1.0 | WebGL 1.0 | WebGL 1.0 | WebGL 1.0 | WebGL 1.0 | WebGL 1.0 |
Shading Language Version | WebGL GLSL ES 1.0 | WebGL GLSL ES 1.0 | WebGL GLSL ES 1.0 | WebGL GLSL ES 1.0 | WebGL GLSL ES 1.0 | WebGL GLSL ES 1.0 |
WebGL Extensions | 35個 | 35個 | 27個(28個) | 34個 | 32個 | 32個 |
※ カッコ内の個数はドラフト機能を有効化した場合の個数です。
※ 「○」はベンダー接頭辞「なし」、「△」はベンダー接頭辞「あり」を表しています。また、ドラフト機能は「[○]」としています。
WebGL 2.0 の対応状況
項目 | Edge 131 | Chrome 131 | Firefox 133 | macOS 14.7 | iOS 18.1 | iPadOS 18.1 |
---|---|---|---|---|---|---|
Vendor | WebKit | WebKit | Mozilla | WebKit | WebKit | WebKit |
Renderer | WebKit WebGL | WebKit WebGL | Mozilla | WebKit WebGL | WebKit WebGL | WebKit WebGL |
GL Version | WebGL 2.0 | WebGL 2.0 | WebGL 2.0 | WebGL 2.0 | WebGL 2.0 | WebGL 2.0 |
Shading Language Version | WebGL GLSL ES 3.0 | WebGL GLSL ES 3.0 | WebGL GLSL ES 3.0 | WebGL GLSL ES 3.0 | WebGL GLSL ES 3.0 | WebGL GLSL ES 3.0 |
WebGL Extensions | 35個 | 35個 | 14個(15個) | 31個 | 30個 | 30個 |
※ カッコ内の個数はドラフト機能を有効化した場合の個数です。
※ 「○」はベンダー接頭辞「なし」、「△」はベンダー接頭辞「あり」を表しています。また、ドラフト機能は「[○]」としています。
まとめ
WebGLの動向は仕様策定元のKhronos Groupsにより定期的にオンラインミートアップが開かれ資料が公開されています。
資料より主な更新内容について抜き出してみました。
■ WebGL and WebGPU Updates / WebGL+WebGPU Meetup, July 23, 2024
https://www.khronos.org/developers/linkto/webgl-webgpu-updates-july-2024
WebGLアップデート
下記の WebGL 拡張仕様がコミュニティ承認に昇格:
- OES_sample_variables : サンプル変数を使用可能にする拡張
- OES_shader_multisample_interpolation : マルチサンプル補間機能の提供
- EXT_render_snorm: 符号付き正規化数値の描画をサポート
ANGLEのMetalバックエンド
- macOS/iOS上でWebKitのWebGL実装に使用されており、まもなくmacOS上のChromiumでも使用予定
- WebGL 2.0.1適合スイートに完全にパス
■ WebGL and WebGPU Updates / WebGL+WebGPU Meetup, November 5, 2024
https://www.khronos.org/developers/linkto/webgl-webgpu-updates-november-2024
ANGLEのMetalバックエンド
- macOS/iOS上のWebKitのWebGL実装で使用され、Apple Silicon Mac上のChromiumで利用可能
- まもなくIntel Mac上のChromiumでも利用可能予定
おわりに
2024年の主だった変更箇所としては
- MacOS 版の Chromium として ANGLE / Metal バックエンドの実装が進行
- Safari について 2023年に引き続き 小規模なWebGL拡張の追加が継続
といったところでしょうか。
Firefox の WebGL 拡張の実装が Chromium / Safari に比べて遅れ気味なのが少し気がかりです。もしかしたら WebGPU の実装を優先しているのかもしれませんね。
その他、参考情報
■ サンプルで理解するWebGL 2.0 - WebGL 2.0の利点とは
https://ics.media/entry/16060/
■ WebGL 開発支援サイト | WebGL2
https://wgld.org/d/webgl2/
■ Subterranean Flower | WebGL2入門 基礎編
https://sbfl.net/blog/2016/09/04/webgl2-tutorial-basics/
■ WebGL2Fundamentals | WebGL2の基本
https://webgl2fundamentals.org/webgl/lessons/ja/
■ WebGL2Fundamentals | WebGL2の新機能
https://webgl2fundamentals.org/webgl/lessons/ja/webgl2-whats-new.html
■ WebGL2Fundamentals | WebGL1からWebGL2への移行
https://webgl2fundamentals.org/webgl/lessons/ja/webgl1-to-webgl2.html
■ WebGL 2.0の概要 - Qiita
https://qiita.com/emadurandal/items/4c7bd2a26ef2d732d734
■ 初めてのWebGL 2 第2版 - JavaScriptで開発するリアルタイム3Dアプリケーション
https://www.amazon.co.jp/dp/4873119375/
過去の調査結果
各ブラウザにおける WebGL 対応状況(2023年12月時点)
各ブラウザにおける WebGL 対応状況(2022年12月時点)
各ブラウザにおける WebGL 対応状況(2021年12月時点)
各ブラウザにおける WebGL 対応状況(2020年12月時点)
各ブラウザにおける WebGL 対応状況(2019年12月時点)
Microsoft Edge(2018年2月)における WebGL 対応状況
Microsoft Edge(2016年7月)における WebGL 対応状況
Microsoft Edge(2015年11月)における WebGL 対応状況
Microsoft Edge(2015年7月)における WebGL 対応状況
IE11(2015年5月)における WebGL 対応状況
IE11(2014年12月)における WebGL 対応状況
IE11(2014年4月)における WebGL 対応状況
IE11(2013年10月)における WebGL 対応状況
IE11 Preview 版における WebGL 対応状況