diffファイルは、どのファイルにパッチを当てるか正確に分からない限り、まったく役に立たないのですか?これはOpenGLの場合と同じことです。拡張仕様では、OpenGL仕様のセクションおよび段落番号を参照します。しかし、... 多くの OpenGL仕様のバージョンがあります。どちらがそれについて話しているのですか?
したがって、すべての拡張機能は、参照している物理的な文書を記述する必要があります。したがって、この拡張が「セクション2.14.5の後に新しいサブセクションを追加する、サンプラー、106ページ」は、OpenGL 3.2仕様のページ106、セクション2.14.5、互換性プロファイルを意味します。
この文は、の可能な最小限のバージョンはであることを示しています。
これはハードウェアの問題ではありません。 の言語の問題です。この拡張が2.1で利用できない概念を参照しているため、3.0が最小である理由があります。整数画像フォーマットなど。次の部分でこれについてもう少し詳しく話します。
この拡張はX.
と対話する声明「と相互作用」仕様のオプション部分に語っています。つまり、「X」とこの拡張子がの場合は、両方ともがサポートされている場合、この仕様の特定の段落も存在します。
たとえば、ARB_shader_image_load_storeは、「この拡張はARB_separate_shader_objectsとやりとりします」と述べています。下を見ると、「ARB_separate_shader_objectsの依存関係」というセクションがあります。これは、ARB_separate_shader_objectsが利用可能なときに変更される特定の言語をリストします。
"interacts trivially with X"ステートメントは、相互作用が一般的に "Xへの参照を削除"ステートメントであることを単に意味します。たとえば、ARB_tessellation_shader/4.0の依存関係のセクションでは、「OpenGL 4.0とARB_tessellation_shaderがサポートされていない場合は、テッセレーション制御シェーダと評価シェーダの参照を削除する必要があります。
"trivially"という言葉は、Xがサポートされていない場合、Xの実装が無視されていることは明らかです。
ARB_separate_shader_objectsとの対話は、初期深度テストの仕組みを再定義する必要があるため、簡単です。
「と対話する」は、「必要な」表現に代わるものです。 ARBは、4.1に対してそれを書いただけで、4.1が必要であることをしっかりと述べることができました。そうすれば、これらのもののどれもオプションではないので、ほとんどの "相互作用する"句は存在しないであろう。
しかし、ARBは、GL 3.0の概念をサポートできるハードウェアの可能性を認めたかったが、他のものはサポートしていなかった。たとえば、モバイルスペースでは、shader_image_load_storeのサポートはtessellation_shadersの前に来る可能性があります。そのため、この拡張機能には、多くの「相互作用」句とかなり低い「必須」GLバージョンがあります。デスクトップ上では、バージョン番号が4.0未満のARB_shader_image_load_storeの実装が見つかりません。
このような拡張機能を使用するには、どのハードウェアとOpenGLのバージョンが必要ですか?
これらのドキュメントでは、そのことについては説明しません。 ARB_shader_image_load_store は、実装バージョン3.0以上で利用可能です。
どのハードウェアがどの拡張機能をサポートしているかを調べる最も簡単で簡単な方法はuse the OpenGL Viewerです。それはこの情報のかなり最新のデータベースを持っています。
また、いくつかの常識を使用することができます。 ARB_separate_shader_objectsを使用すると、オンザフライでプログラムを組み合わせてマッチさせることができます。これは、Direct3D 8以降D3Dがやっていることです。明らかに、ハードウェアはになる可能性があります。 OpenGLは単にをにしませんでした。今まで。
明らかに、ARB_separate_shader_objectsはハードウェアベースではありません。
同様にARB_shading_language_pack420には、D3Dが永遠に持っていた多くの機能が含まれています。ここでも特別なハードウェアサポートが必要なものは何もありません。
明らかに、ARB_tessellation_shaderはになります。には特殊なハードウェアサポートが必要です。 2つの新しいシェーダステージを紹介します。 ARB_shader_image_load_storeは同じ方法です。基本的な新しいハードウェア機能を導入しています。今や、以前のハードウェアでは可能性があります。しかし、それは起こりそうにない。
これは、すべての拡張で常にそうとは限りません。しかしそれはほとんど真実です。
OpenGLのバージョン番号を知っておくべきもう一つのことは、 3.0以来、ARBは厳密なバージョン番号付けスキームを守ることができました。
主なバージョンは基本的なハードウェアの変更を表します。 3.xから4.xはD3D10からD3D11に直接相当します。マイナーバージョンはどちらか(ARB_shader_image_load_store が任意の4.0の実装に実装されている可能性が、ARB直前に撮ったAPIよりよい作る(ARB_texture_storage、私たちは延滞長いた何かを参照)、または同じハードウェアレベルのために以前に露光されていないハードウェア機能を公開します拡張機能を書き込むまで4.2)。
したがって、3.0を実行できるハードウェアがある場合、3.3も実行できます。ドライバがなければ、ドライバメーカーは自分の仕事をしていません。 4.0から4.2まで同じです。
これは、以前は同じ名前のEXTであったため、4.2のコアに昇格しました。しかし、とにかく、私はバージョンをチェックして回りません。拡張機能のサポートを確認してください。 – harold