WebGL2RenderingContext関数削除スクリプト

はじめに
WebGLやOpenGLのバージョンの変遷、Angle等は概要はともかく詳細は専門ではないため、内容が不正確な可能性があります。
このページを論拠にして間違っていても責任は負えませんのでご承知おきください。

これは何?
Chromeで、バックグラウンドにD3D9が選択されている環境(古いハードウェアやドライバ、ドライバのバグがあるなど)ではWebGL2は使用できないにも関わらずWebページ側で使用できると判定してしまいエラーとなることがあります。
そんな特定環境でWebGL2を非対応と判定させることで、非対応環境用の処理(WebGL1等)を行わせるための、極めてニッチなスクリプトです。

2023/1/10(米国時間)での各種Windowsサポート停止を受け、Windows 10 以降で D3D9 の使用を停止する動きもありますので寿命も短いでしょう。


使い方:
 このスクリプトは、Tampermonkey(ブラウザ上でユーザスクリプトを実行する拡張)のスクリプトとして作りましたので、Tampermonkeyまたは同様のスクリプト実行拡張のインストールが必要です。
  1.  TampermonkeyはChromeウェブストアから導入します。
      Tampermonkey - Chrome ウェブストア
  2.  Tampermonkeyの設定画面にダウンロードしたZip内にあるスクリプトをドラッグ&ドロップするなり、新規スクリプトの作成から中身をコピーするなりして登録します。
 削除する際は、Tampermonkeyからスクリプトを削除するか、Tampermonkeyごとアンインストールしてください。


その他参考情報:
・WebGL 2.0の概要
 https://qiita.com/emadurandal/items/4c7bd2a26ef2d732d734
 → WebGL 2.0は実質OpenGL ES 3.0。
  (別サイトの記事では、明示的なESバージョンの指定ができるなどの記載あり。)

・ANGLE (software)
 https://en.wikipedia.org/wiki/ANGLE_(software)
 → Angle(Chrome, FireFox, Safari, Edge, etc.)で使用している描画エンジンの抽象化層とOpenGL ESの対応状況
   Direct3D 9は、OpenGL ES 3.0には非対応。

・WebGL version detection is not robust #11819
 https://github.com/emscripten-core/emscripten/issues/11819
 → ダメな(失礼)判定の例。
   こんな判定の時、何とかするのが提供スクリプトです。