web-dev-qa-db-ja.com

WebGLとOpenGLの違い

OpenGLとWebGLの正確な違いについて簡単な答えを誰かに教えてもらえますか?プログラミングのセマンティクス、APIの継承、APIの拡張などについて、さらに具体的に説明する必要があります。

私は次のサイトを見ましたが、あまりわかりません: http://www.khronos.org/webgl/wiki/WebGL_and_OpenGL_Differences

34
Deepak

WebGLは「OpenGL ES 2」であり、プレーンなOpenGLではありません(ESは「for Embedded Systems」の略です)。最初の違いがあります。 OpenGL ESは本質的にOpenGLのサブセットです。さらに、WebGLはほぼ OpenGL ES 2と同じですが、提供するリンクで説明されているように、微妙な違いがあります。そのリンクに追加することはあまりありません。OpenGLES 2とWebglの違いはかなり明確に説明されています。

OpenGLは、デスクトップコンピューター中心のAPI(Direct3Dなど)です。 WebGLはOpenGL ES 2.0(モバイルデバイス向け)から派生したもので、機能が少なく、使用が簡単です。

また、WebGLはブラウザーで実行するように設計されているため、OpenGL ES 2.0よりもいくつかの制限があります。

OpenGLとは異なり、WebGLはネイティブドライバーのサポートを必要としません。 [〜#〜] angle [〜#〜] と呼ばれるラッパーは、Safari、ChromeおよびFirefoxで使用され、WebGL呼び出しとGLSLをOpenGL/GLSLまたはDirect3D/HLSL

詳細な回答については、Khronos wikiを参照してください: http://www.khronos.org/webgl/wiki/WebGL_and_OpenGL_Differences

28
Florian Bösch

WebGL は、ブラウザー(Webアプリケーション)で実行するためのものです。

WebGLは、JavaScriptプログラミング言語の機能を拡張して、互換性のあるWebブラウザー内でインタラクティブな3Dグラフィックを生成できるようにするソフトウェアライブラリです。
...
HTML5キャンバス要素を使用し、ドキュメントオブジェクトモデルインターフェースを使用してアクセスします。自動メモリ管理は、JavaScript言語の一部として提供されます。


OpenGLは通常、デスクトップアプリケーションで使用されます。これはクロス言語、クロスプラットフォームの仕様であり、WebGLはそのサブセットです。

8
Matt Ball

コンソーシアム( https://www.khronos.org/webgl/ )の定義を以下に引用します。

WebGLは、OpenGL ES 2.0に基づく低レベル3DグラフィックAPI向けのクロスプラットフォームでロイヤルティフリーのWeb標準であり、ドキュメントオブジェクトモデルインターフェースとしてHTML5 Canvas要素を通じて公開されます。 OpenGL ES 2.0に精通している開発者は、GLGLを使用するシェーダーベースのAPIとしてWebGLを認識します。構造は、基盤となるOpenGL ES 2.0 APIの構成に類似しています。それはOpenGL ES 2.0仕様に非常に近いままであり、JavaScriptなどのメモリ管理言語から開発者が期待するものに対していくつかの譲歩がなされています。

OpenGLとWebGLのセマンティクスは似ていますが、異なる言語でコーディングされています。基本的なレベルで、ほとんどの違いがC/C++とJavaScriptのプログラミング言語構造にあることがわかります

WebGLとOpenGL は、C/C++のOpenGLとJavaScriptのWebGLの2つの類似点を示しています。

2
ap-osd