これを見る1つの方法は、WebGLがOpenGL ES 2.0であり、OpenGL ES 2.0がOpenGLであり、従来の残骸がすべて削除されていることです。
シェーダーが追加されたため、すべてのレガシー固定関数パイプライン、などglPushMatrix
はglLight
、glVertex
保持する意味がありませんでした。
それで、それらの「欠けている」機能ですか、それとも正しく適切に「廃止された」機能ですか?
どのような特定の機能を探していますか?
WebGL / OpenGL ES 2.0は、基本的な頂点およびフラグメントシェーダーです。2の累乗ではないテクスチャのサポートは制限されており、テクスチャフォーマットはほんの数個しかありません(すべてのテクスチャの99%がRGB8またはRGBA8であるという制限はあまりありません)。浮動小数点テクスチャのサポートはオプションですが、大部分のデバイスはそれらをサポートしています。ただし、浮動小数点テクスチャへのレンダリングのサポートはまれです。モバイルデバイスが浮動小数点テクスチャへのレンダリングをサポートしているかどうかはほとんどありません。
WebGL2(出荷されたばかり)とOpenGL ES 3.0は、整数ベースのテクスチャや3Dテクスチャを含む大量の新しいテクスチャフォーマットを追加しました。2のべき乗以外のテクスチャ制限が削除されました。変換フィードバック(頂点シェーダーがバッファーに書き込む機能)が追加されました。また、オクルージョンクエリも追加されました。頂点配列オブジェクトは標準です(WebGL / ES 3.0ではオプションでした)。他にもたくさんのマイナーな機能があります。
ES 3.1(およびおそらく次のバージョンのWebGL)には、コンピュートシェーダー(フラグメントシェーダーがランダムアクセス書き込みを行う機能)が追加されています。フラグメントシェーダーは、現時点で要求されているフラグメント/ピクセルにのみ書き込むことができますが、シェーダーを計算して、必要な場所に書き込むことができます。
他にどんな機能を使いたかったですか?