2012-02-16 17 views
2

なしのOpenGLの開発効率向上環境へ:ドライバーのOpenGLは、ハードウェアレンダリングである一方、http://www.linuxquestions.org/questions/linux-software-2/opengl-vs-mesa-whats-the-diff-351037/どのようにセットアップ私はここで何を読むによるとメサ

メサは、ソフトウェアレンダリングです。

すべてのチュートリアル私は、メサをインストールする方法を示しています。本当の(ハードウェアアクセラレーションされた)OpenGLをどのようにセットアップできますか?ドライバのインストールはヘッダをインストールしますか?もしそうなら、どのヘッダ?私はメサとコンパイルされたプログラムを持っている場合、それを再コンパイルして、ハードウェアアクセラレーションを利用する必要がありますか?ドライバをインストールする際に必要なライブラリとヘッダをインストールすると、メサはどうなりますか?

尖ったサイトの最後の投稿から:「NVidiaドライバがインストールされている場合、メサパッケージを削除する必要がありますか?

また、今OpenGLは今バージョン4と5ですが、私はこれらのバージョンのためのコンテキストを作成する方法を示して任意のチュートリアル、唯一のバージョン3の最大を見つけることができない...

あなたが見ることができるように、私はどのようにこの作品がよく分からない。

最後に、この本:http://glprogramming.com/red/はOpenGLのどのバージョンですか?ガイドバージョンは1.1ですが、どのバージョンで書かれているかはわかりません。ドライバのOpenGLは、ハードウェアレンダリングである一方、

+0

これにはたくさんの質問があります。あなたは本当に1つのトピックに絞るべきです。 –

+0

これらすべての質問をお手伝いすることはできませんが、これらのリンクはご利用になるかもしれません。 http://developer.nvidia.com/nvidia-graphics-sdk-11 http://developer.amd.com/sdks/Pages/default.aspxもちろん、https://www.opengl.org/sdk/ – spaaarky21

+1

Btw OpenGLバージョン5のようなものはありません。現在のGLバージョンは4.2 –

答えて

7

メサは、ソフトウェアレンダリングです。

No. Mesaは、OpenGL APIのオープンソース実装であり、ソフトウェアラスタライザのフォールバックも提供します。しかし、メサもインテルRADEONradeonhdnoveauのためのオープンソースのGPUドライバのための基盤です。

すべてのチュートリアル私はMesaのインストール方法のみを説明しました。本当の(ハードウェアアクセラレーションされた)OpenGLをどのようにセットアップできますか?

OpenGLは単なるAPIです。つまり、OpenGLのどの実装を開発に使用するかは関係ありません。あなたはMesaで開発することができますが、あなたのプログラムはpropriataryドライバでもうまく動作します。

ドライバのインストールはヘッダーをインストールしますか?

時には。しかし、ほとんどのLinuxディストリビューションはこれを防ぎ、Mesaヘッダーを正規の開発リソースとみなします。

プログラムがメサでコンパイルされている場合、ハードウェアアクセラレーションを利用するために再コンパイルする必要がありますか?

いいえ、つまり実行可能ファイルをlibGL.soに対して動的にリンクした場合、プログラムはOpenGLの実装で動作します。

ドライバをインストールする場合、必要なライブラリとヘッダーをインストールする場合、メサはどうなりますか?

ディストリビューションによって異なります。一部のディストリビューションでは、ベンダードライバがlibGL.soを置き換えていますが、Mesa開発ファイルは置き換えていません。いくつかのディストリビューションはlibGL.soとヘッダを置き換えます。また、いくつかのディストリビューションはOpenGLの実装を/ usr/lib/openglに置き、symlink(Gentoo)を設定するためのツールを提供しています。実際には、問題ではありません。

尖ったサイトの最後の投稿から:「NVidiaドライバがインストールされている場合、メサパッケージを削除する必要がありますか?

ディストリビューションパッケージマネージャーは、必要であれば警告を出します。しかし、私が言ったように:メサの実装はOpenGL-2.1だけをサポートしていることを除いて、あなたを気にする必要はありません。しかし、OpenGL-3やそれ以上のプログラムをコンパイルできないわけではありません。 OpenGL-3のコンテキストを作成してエラーメッセージを表示して中止したり、OpenGL-2にフォールバックすることはできません。

+0

です。Mesaの実装はOpenGL-2.1のみをサポートしています。しかし、OpenGL-3やそれ以上のプログラムをコンパイルできないわけではありません。彼らはOpenGL-3コンテキストを作成してエラーメッセージで中止したり、OpenGL-2にフォールバックすることができません.....あなたは説明できますか?私は理解していない私は、どのように私はOpenGLの3コンテキストを使用せずにOpenGLの - 3を使用することができますか? – user1115057

+0

@ user1115057:OpenGL-3は、いわゆる「拡張」メカニズムによってアクセスされます。拡張機能を使用すると、プログラムがOpenGL実装からサポートされている場合、それらの機能を動的にロードすることができます。拡張APIはOpenGL-1.1以降に修正されて以来変更されていません。したがって、拡張機能を利用してMesaを使用してプログラムをコンパイルすることができます。 MesaがOpenGLランタイム実装であれば、OpenGL-3関数は利用できないと報告し、プログラムのmussはOpenGL-2に戻ります。実行時にOpenGL-3対応の実装が存在する場合は、それにアクセスできます。 – datenwolf

+0

MesaがOpenGLランタイムインプリメンテーションである場合、OpenGL-3関数は使用できないと報告し、プログラムマスはOpenGL-2にフォールバックします... Mesa = no opengl-3、つまりメサ+拡張なし= no opengl-3?どこでその拡張子を取得できますか? – user1115057

関連する問題