3D WebGL™とは何ですか?
Webベースのグラフィカルライブラリ(WebGL™)は、コアブラウザーとは別のソフトウェアやプラグインを必要とせずに、Webブラウザーで3次元(3D)グラフィックスを直接使用できるように設計された抽象プログラミングインターフェイス(API)です。 。 3D WebGL™と仮想現実マークアップ言語(VRML)などの他のブラウザベースの3Dグラフィカル言語の違いは、3D WebGL™がハードウェアディスプレイカードにあるグラフィック処理ユニット(GPU)に直接アクセスできることです。コンピューター。 もう1つの違いは、3D WebGL™は独立した言語ではなく、ほぼすべてのWebブラウザーでネイティブに理解されるJavaScript®スクリプト言語で実装されたAPIであるということです。 コンピューターシステムのハードウェアへのこの種の直接低レベルアクセスはWebGL™の強みの1つですが、簡単に解決できない一連のセキュリティ問題を提示するため、大きな問題の1つでもあります。
3D WebGL™を可能にした重要な開発の1つは、HyperText Markup Language仕様バージョン5(HTML5)のcanvas要素の導入です。 キャンバス要素を使用すると、他のコンピュータープログラミング言語の既存の種類のレンダリングAPIと一貫したスタイルで描画および維持できるビューポートへの低レベルアクセスが可能になります。 WebGL™APIは、この高速化されたキャンバスと連携して、異なるプラットフォームまたは実装間でソフトウェアエミュレーションに依存することなく、複雑なシーンを非常に迅速にレンダリングする機能を提供します。
3D WebGL™APIは、キャンバス要素を使用するだけでなく、組み込みシステム用のOpen Graphics Library(OpenGLES®)にも基づいています。 これは、異なるコンピューターオペレーティングシステム間だけでなく、低レベルの3Dグラフィックスの使用を必要とするデバイス間でも移植できるように設計された標準OpenGL®ライブラリの移植可能なバージョンです。 この小さなフットプリントにより、ほぼすべてのデバイスのブラウザにライブラリを統合できます。
3D WebGL™の実装により、Webサイト内から直接実行したり、Webブラウザー内でスタンドアロンアプリケーションとしてダウンロードして実行したりできる対話型プログラムの開発が可能になります。 ビジネスおよび科学研究用の3Dビデオゲーム、教育ソフトウェア、シミュレーション、3D視覚化ソフトウェアの作成に使用できます。 ブラウザーをラッパーアプリケーションとして使用することで、基本的なインターフェイスの定型コードの繰り返しを心配することなく、3D環境を開発できます。
3D WebGL™を使用することの最大の欠点の1つであり、特定のソフトウェアおよびハードウェア製造会社に広く受け入れられないことの1つは、それがもたらすセキュリティリスクです。 プログラムがGPUにアクセスする機能により、悪意のあるプログラムは、ホストコンピューターシステムに強制的に有害なコードを実行させることができます。 また、WebGL™APIを使用してサービス拒否(DOS)攻撃が可能であることも示されています。 このため、製品でWebGL™を完全にサポートすることを拒否する大手コンピューター会社がいくつかあります。