4

OpenGLで単純な頂点シェーダーをコンパイルするときに問題が発生し、次のエラーメッセージが表示されます。

  • エラー(#106)バージョン番号はGL2でサポートされていません
  • エラー(#279)無効なレイアウト修飾子'場所'

間違ったバージョンのGL2を使用しているに違いないと思いますが、バージョン番号を見つける方法やアップグレードの場所がわかりません(はい、答えを検索しようとしました)。添付されているのはシェーダーのコピーです。参照用のコードと私のopenGL情報。

#version 330 core

layout(location = 0) in vec3 Position;

void main() {
    gl_Position.xyz = Position;
}
  • ベンダー:ATI Technologies Inc.
  • レンダラー:ATI RadeonHD5700シリーズ
  • バージョン:3.2.9756互換性プロファイルコンテキスト
4

1 に答える 1

8
#version 330 core

これは、シェーダーがGLSLバージョン3.30を使用していることを示しています。

これ:

バージョン:3.2.9756互換性プロファイルコンテキスト

OpenGLのバージョンが3.2であることを意味します。OpenGL3.2に対応するGLSLバージョンは1.50です。これは3.30未満です。したがって、コンパイルの欠如。

ドライバーを更新します。それらは非常に古いです。カードはGL4.2をサポートできる必要があります。

于 2012-09-28T03:21:45.210 に答える