WebGLおよびOpenGL ESの機能がありません


10

私はWebGLを使い始めて、OpenGL(さらにはOpenGL ES)のエクスペリエンスを簡単に活用できることに満足しています。ただし、私の理解は次のとおりです。

  • OpenGL ESはOpenGLのサブセットです
  • WebGLはOpenGL ESのサブセットです

これはどちらの場合でも正しいですか?その場合、不足している機能を詳しく説明するリソースはありますか?

たとえば、欠落している注目すべき機能の1つはglPushMatrixおよびglPopMatrixです。WebGLには表示されませんが、検索ではOpenGL ESマテリアルで参照されているものは見つかりません。

回答:


9

WebGLのの wikiには「のためにその質問階層内のセクションが含まれていWebGLのとOpenGLの違いは非常に詳細に説明されていない「デスクトップ」のOpenGLの実装と、ああ、からのWebGLの違いに焦点を当てているようだ」(主にそれはだ行動について、いないAPI) 。

それでも十分な詳細が得られない場合は、最新のWebGLドラフトをOpenGL ESまたはOpenGL仕様と手動で比較する必要があります。


9

最新のWebGLドラフトを確認しましたか?

矛盾がある場合のドラフトによると、OpenGL ES 2.0仕様が最終的な権限です。

第6章では、OpenGL ES 2.0とWebGLの違いについて概説します。

http://www.khronos.org/registry/webgl/specs/latest/


あなたは良い答えを持っていましたが、私はそれを支持しましたが、チェックアウトする他のリソースを指摘したので、他の答えを受け入れました。ご協力いただきありがとうございます。
Chris Smith、


0

これを見る1つの方法は、WebGLがOpenGL ES 2.0であり、OpenGL ES 2.0がOpenGLであり、従来の残骸がすべて削除されていることです。

シェーダーが追加されたため、すべてのレガシー固定関数パイプライン、などglPushMatrixglLightglVertex保持する意味がありませんでした。

それで、それらの「欠けている」機能ですか、それとも正しく適切に「廃止された」機能ですか?

どのような特定の機能を探していますか?

WebGL / OpenGL ES 2.0は、基本的な頂点およびフラグメントシェーダーです。2の累乗ではないテクスチャのサポートは制限されており、テクスチャフォーマットはほんの数個しかありません(すべてのテクスチャの99%がRGB8またはRGBA8であるという制限はあまりありません)。浮動小数点テクスチャのサポートはオプションですが、大部分のデバイスはそれらをサポートしています。ただし、浮動小数点テクスチャへのレンダリングのサポートはまれです。モバイルデバイスが浮動小数点テクスチャへのレンダリングをサポートしているかどうかはほとんどありません。

WebGL2(出荷されたばかり)とOpenGL ES 3.0は、整数ベースのテクスチャや3Dテクスチャを含む大量の新しいテクスチャフォーマットを追加しました。2のべき乗以外のテクスチャ制限が削除されました。変換フィードバック(頂点シェーダーがバッファーに書き込む機能)が追加されました。また、オクルージョンクエリも追加されました。頂点配列オブジェクトは標準です(WebGL / ES 3.0ではオプションでした)。他にもたくさんのマイナーな機能があります。

ES 3.1(およびおそらく次のバージョンのWebGL)には、コンピュートシェーダー(フラグメントシェーダーがランダムアクセス書き込みを行う機能)が追加されています。フラグメントシェーダーは、現時点で要求されているフラグメント/ピクセルにのみ書き込むことができますが、シェーダーを計算して、必要な場所に書き込むことができます。

他にどんな機能を使いたかったですか?

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.