現在、Ubuntu 16.04でOpenGLを使用しているプロジェクトで作業中です。この時点で、私はこれを解決するためにすべてを試したように感じるので、何をすべきか分かりません。私は運なしシェーダファイルにバージョンを調整したC++ OpenGLシェーディングバージョンエラー - GLSL xはサポートされていません[Ubuntu 16.04]
Failed to compile vertex shader!
0:1(10): error: GLSL 4.50 is not supported. Supported versions are: 1.10, 1.20, 1.30, 1.00 ES, 3.00 ES, 3.10 ES, and 3.20 ES`
:私のシェーダは、単にコンパイルし、次のエラーを返しません何らかの理由
。 #version 450 core
などですが、私は同じ結果を得ています。参考のため
、ここsudo glxinfo | grep "OpenGL"
の出力です:
OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel(R) HD Graphics 520 (Skylake GT2)
OpenGL core profile version string: 4.5 (Core Profile) Mesa 13.1.0-devel
OpenGL core profile shading language version string: 4.50
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 3.0 Mesa 13.1.0-devel
OpenGL shading language version string: 1.30
OpenGL context flags: (none)
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.2 Mesa 13.1.0-devel
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20
OpenGL ES profile extensions:
glxinfoからの出力は、OpenGLのコア4.5がインストールされている示して、なぜこれがサポートされていませんか?
また、プロジェクトで使用されているOpenGLの現在のバージョン:std::cout << "OpenGL version: " << glGetString(GL_VERSION) << std::endl;
を見つけようとしましたが、結果として空白が返されました。
私は今までこの1つの問題に10時間を費やしていますので、助けてください!
編集: GLSLを完全に削除する(この部分)ことで、プロジェクト/ UbuntuにGLSLを使わないように強制する方法はありますか?
OpenGL ES profile version string: OpenGL ES 3.2 Mesa 13.1.0-devel
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20
OpenGL ES profile extensions:
[この](https://en.wikipedia.org/wiki/OpenGL_Shading_Language#Versions)表によると、私は、OpenGLの2つの異なるバージョンがありがとう? –