web-dev-qa-db-ja.com

DirectXとOpenGL

WineとDirectXをネイティブに使用してOpenGLを実行できます。質問は次のとおりです。

  • OpenGLと同等のDirectXの正確なバージョンは何ですか(例:11、12など)このように比較できますか?
2
snoop

まあ。

「UbuntuがDirectXをネイティブにwineとOpenGLを使用してサポートしていることは既にわかっています。」
このステートメントは、非常に多くのレベルでso間違っています。 DirectXとは何かも理解していますか?

簡単に言えば、DirectXはライブラリのコレクション(主に* .dll)であり、開発者がWindowsの低レベルのグラフィックス、ネットワーク、およびオーディオシステムに簡単にアクセスできるようにします(dxではあまり開発されていないかもしれません)。

DirectXは基本的に便利なレイヤーを許可するものなので、jpg/png/whateverからカラー値のすべてのバイトを読み取って画面上の3つ以上のポイントの間に描画する代わりに、「テクスチャをロードして適用」などのことができますいくつかの「ジオメトリロジック」では、マルチメディアアプリケーションの開発タスクが大幅に困難になるためです。

つまり、UbuntuはDirectXをサポートしていません。その点で、Windows以外のDirectXを実際にサポートしているものはありません(そして、おそらく ReactOS をテストしたことはありませんが)。

しかし、ワインで<insert whatever game here>を実行できます!
はい。はい、できますが、それはUbuntuがあなたのゲームをサポートするという意味ではありません。つまり、wineはそうです。

Wineは、Windowsの「互換性レイヤー」です。基本的に、呼び出しを再帰的に変換および解決し、最終的に他のライブラリが元の呼び出しと同様の処理を行うようにします。これには、元の呼び出しが元のシステム(Windows)で何を行うかを当然理解する必要があります。そのため、ワインでは開発がゆっくりとしか行われないものもあります(DX11サポートや想定されるPulseドライバーなど)。

したがって、上記はthirdの質問に答えるべきですが、基本的には:
「はい、それはisワインです。」

このことから、DXはOpenGLよりもはるかに多くのものに焦点を当てることを意図しているため、first質問は無意味であることがわかります。

second質問について:
DXのグラフィックス部分のみを考慮すると、OpenGLがもう少し詳細である(多少複雑になっていることもあります)が、ymmvであることがわかりました。

3
Wolfer

Linux上のグラフィックスは、ほぼ排他的にX Windowsシステムを使用して実装されます。 LinuxでOpenGLをサポートするには、XサーバーのGLX拡張機能を使用する必要があります。したがって、使用しているGPUに依存します。

-でサポートされています

  1. AMD/ATI
  2. Intel
  3. NVIDIA
  4. S3グラフィックス
  5. Nvidia HOWTO(旧)。

OpenGLの最新バージョンはOpenGL 4.5です。互換性を確認したり、詳細については、このリンクを参照してください-

プラットフォーム固有:Linux

OpenGLがインストールされている場合、ターミナルでこのコマンドを入力すると、使用しているバージョンに関する情報を取得できます-

glxinfo | grep "OpenGL version"

両方のAPIを比較する

DirectXについてはあまり知りませんが、OpenGL-

  1. MicrosoftはDirectX 10および11(最新バージョン)に懸命に取り組んでおり、現在はOpenGLと同じくらい高速であり、できるだけ多くの機能をサポートしていますが、OpenGLは このリンク であり、最初に ベンダー拡張 を介して新しいGPU機能にアクセスできます。
  2. OpenGLはクロスプラットフォームアプリケーションであるため、Mac、Linux、およびWindowsで効率的に実行されます。
1
Priyansh