Linux上でOpenGLを使用して3Dゲームエンジンを構築しています。具体的には、私はlwjgl-2.9.3を使用しています(最新のバージョンはこの文書の執筆時点ではLinuxで利用できません)。私はWindows 10マシンでプロジェクトのいくつかをビルドしました。コンパイルしてうまく動作します。しかし、Windowsマシンをそのまま使用することはできません。自分のコンピュータはFedora 24を実行しています。Intel Core i3-4012Y CPUを搭載し、メサ12.0.3ドライバで内蔵グラフィックスを使用しています。これは専用のGPUを追加するオプションのないラップトップです。私はLinux上でのプロジェクトで作業しようとしたとき(正確に同じコード、私はWindowsコンピュータのオフにコピーされたものとは何かを変更していない)、Eclipseは私に、このエラーを与える:私は私のOpenGL /メサを確認 Mesa 12.0.3 LinuxでOpenGL GLSL 3.30がサポートされていません
この端末コマンドの情報は0:1(10): error: GLSL 3.30 is not supported. Supported versions are: 1.10, 1.20, 1.30, 1.00 ES, and 3.00 ES
glxinfo | grep OpenGL
です。
これは、そのコマンドの出力です:
OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel(R) Haswell
OpenGL core profile version string: 3.3 (Core Profile) Mesa 12.0.3
OpenGL core profile shading language version string: 3.30
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 3.0 Mesa 12.0.3
OpenGL shading language version string: 1.30
OpenGL context flags: (none)
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.0 Mesa 12.0.3
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.00
OpenGL ES profile extensions:
私のプログラムがコンパイルされませんなぜ私は理解していません。 12シリーズのMesaドライバは、OpenGL 4.xと最新のGLSLバージョンをサポートしているようですね。このプログラムをコンパイルできる方法はありますか?新しいドライバーを入手する必要がありますか?この記事を書いている時点で、私は絶対的な最新のドライバがあることを確信しています。
さらに、MesaドライバはFedora reposで提供されています。別にコンパイルしたものではありません。
私は完全に迷っているので、何か提案がありがたいです。ありがとうございました。
[SIGGRAPH University: "OpenGLプログラミング入門"](https://www.youtube.com/watch?v=6-9XFm7XAT8)を見てみることをお勧めします。 – Flint