4

OpenGL 2.1 と GLSL 1.2 を使用していることに気付いたとき、シェーダーに問題がありました。ジオメトリ シェーダーは 1.5 までサポートされていないため、別の OpenGL、GLSL バージョンを使用する必要があります。しかし、どのように?最大 15 のスレッドを読んだと思いますが、何もうまくいきませんでした。

私の Mac は 10.9.3 で PyOpenGL 3.0.2 を実行しています。サポートされているバージョンと拡張機能を確認するために、OpenGL 拡張ビューアーをダウンロードしました。Intel HD Graphics 4000 と NVIDIA GeForce 650M は、コア プロファイルで OpenGL 3.2 をサポートしますが、互換性プロファイルではサポートしません。

互換性プロファイルが、ジオメトリ シェーダーをコンパイルできない理由だと思います。2.1までのOpenGLのみをサポートしています。

プロファイルを次のように変更しようとしました。

glutInitContextVersion (3, 2)
glutInitContextProfile(GLUT_CORE_PROFILE)

しかし、両方の関数は未定義です。また、GL_SHADING_LANGUAGE_VERSION (1.2) と GL_VERSION 2.1 は同じままです。

ジオメトリ シェーダーで使用した別のスレッド#version 150 coreが原因でしたが、これも効果がありませんでした。

ジオメトリ シェーダーを使用するためにコンテキスト/バージョンを変更するにはどうすればよいですか?

4

0 に答える 0