OpenGL 4と3、特に3.1と4.1はかなり似ていることを理解しています。両方が本質的に一緒にリリースされているため、OpenGL 4.0/4.1の理論的根拠を理解するのは難しい場合があります。
OpenGLの以前のリリースでは、マイナーバージョンは、大幅な変更が新しいメジャーバージョンに蓄積されるまで上向きに増加します。OpenGL 3.xおよび4.xは下位互換性のないAPIの変更を導入し、OpenGL 3.2および3.3は、3.1が4.1+と互換性があるのに対し、上位互換性がない3シリーズのブランチであると言われています。
OpenGL 4.1は、新しいメジャーバージョンに分類されることを保証するOpenGL 3.1と比較して、どのような主な違いがありますか?
ボーナス:GL3やアクセシビリティだけでなく、どのような状況でもパフォーマンスが向上する違いはありますか?
編集:回答に基づくいくつかの追加の調査結果
OpenGL 3.3は、OpenGL 4.0を補完して、古いハードウェアに可能な限り多くの機能を組み込むために作成されました。OpenGL 3と4、3.3のどちらかを選択する方が良い場合もあります。4.1では、GL ES 2.0との互換性と、いくつかの優れた機能が追加されています。
ワークフローの大きな違いの1つは、新しいテッセレーションシェーダーを介してパイプラインにGPUプログラミングステップが追加されることです。もう1つは、レンダリングする複数のビューポートです。新しいレベルの詳細機能は、私が使用しているワークフローを変更し、おそらく他のワークフローもかなり変更すると思いますが、この機能については詳しく調べていません。
誤解や改善すべき点があれば教えてください。
基調講演(メタを尋ねている間、明らかに回答から削除されました。実際の回答が何であったかを一時的に参照するためです。)
付録G- KOpenGL4.1機能からOpenGL4.1 機能まで
OpenGL4.0のKhronosGroupリリースは「読みやすい」かもしれません:)
- サンプラーオブジェクト
- インスタンス化された配列とシェーダー
texture_cube_map_arrayおよびtexture_gather
GLSL4.0と動的LOD
- shader_subroutineおよびsample_shading
- セパレートシェーダーオブジェクト
- テクスチャ/レンダーバッファに必要なサイズを増やします
- 64ビット浮動小数点頂点属性
- get_program_binary
- +2テッセレーションシェーダー