0

クラスには、Java、jogl、lwjglを使用する必要があります。いくつかのコードが与えられ、今このコードを実行しようとしていますが、エラーが発生します:

「GLSL3.30はサポートされていません。サポートされているバージョンは、1.00 ES、1.10、および1.20です。

また、サポートされているシェーダーを特定できません。また、ドライバーの問題なのか、ハードウェアの不足なのかを判断できません。

現在、私はdebianテスト中/不安定で、現在のxorg-video-atiドライバーパッケージを使用しています。

サポートされているシェーダー(あるとしても)を特定する方法を教えてもらえますか?

4

3 に答える 3

4

" GLSL 3.30 はサポートされていません。サポートされているバージョンは次のとおりです: 1.00 ES、1.10、および 1.20" (...) 現在、私は debian testing/unstable を使用しており、現在の xorg-video-ati ドライバー パッケージを使用しています。

DRI/Mesa xorg-video-ati 別名 radeon ドライバーは、これまで拡張機能を備えた OpenGL-2.1 のみをサポートしているため、これは大きな驚きではありません。OpenGL-3 は、まだ DRI/Mesa 開発の実験段階にあります。

OpenGL-3 以上をサポートするには、AMD/ATI 独自の fglrx/Catalyst ドライバーをインストールする必要があります (もちろん、これはハードウェアに依存します)。幸いなことに、fglrx の品質は劇的に向上し、私の最後の徹底的なテスト (Radeon HD6570 を使用) では、優れた安定性が示されました (あいまいなコンテキストや FB 設定など、すべての拷問テストにも耐えました)。私が見つけて報告した唯一の実際のバグは、V-sync と swap intervall がどのように設定されていても、glXSwapBuffers が間接レンダリング コンテキストでブロックされないことでした。

于 2012-05-05T18:34:51.200 に答える
2

GLSL3.30にはOpenGL3.3が必要です。ハードウェアがGL3.xを実行できないか、ドライバを最近十分に更新していないように見えます。

于 2012-05-05T16:26:42.430 に答える
0

GLSL ファイルまたはシェーダーとしてロードされている文字列を見ると、次の行があるはずです。

#version 330

これはバージョン 3.3 を意味します。それを次のように変更してみてください。

#version 120

(バージョン 1.2)

うまくいくという保証はありませんが、シェーダーがシンプルであれば問題ないかもしれません。

于 2012-05-05T16:30:45.080 に答える