私は、あらゆる種類の3Dトリッキーをレンダリングするために、サードパーティが作成したプラグインを使用するアプリケーションを作成しています。3D&サードパーティのプラグインを使用しているアプリケーション - 前方互換のOpenGLまたはDirect3D?
私の主なアプリケーションは、コンテキスト/レンダーオブジェクトとレンダーターゲット/フレームバッファオブジェクトを作成することです。サードパーティ製のプラグインは、そのような要素を上手く表現するため、3Dレンダリング関連の呼び出しを実行するには、そのコンテキスト/レンダリングオブジェクトにアクセスする必要があります。
私はこれをOpenGLまたはDirect3Dのいずれかを使用して実装することができます。 私の決定は、おそらく次の問題についての私の理解に基づいているでしょう:
OpenGL/Direct3Dの新しいバージョンがリリースされています。新しく作成されたプラグインが新しいバージョンのDX /メインプログラムよりOGLをコンパイルしました。 (アプリケーションを実行しているコンピュータが新しいバージョンことをサポートしている場合)
(OpenTKを使用して)OpenGLを使用して、私はのように「最もアップへ - タのデータ私を与える、それは前方互換性コンテキストを作成することが可能です理解バージョンXと下位互換性のあるバージョン "。 したがって、3.2のコンテキストを求められたら、4.0が利用可能であれば4.0のコンテキストを返します。
DirectXの場合、私のようなものは表示されません。つまり、DirectX 11でメインプログラムを作成すると、サードパーティのプラグインは新しいバージョンを使用できなくなります。
これは正しいですか?
OpenGLは、OpenGLの新しいバージョンのプラグインを作成できるようになりますが、DirectXではこれを行うことはできません。