1

glPrimitiveRestartIndex コードのコンパイルとリンクに問題がありますが、実行すると次の行でセグメンテーション違反が発生します。

glPrimitiveRestartIndex(0xffff);

glEnable(GL_PRIMITIVE_RESTART)invalid enumerantとポーリングするglGetErrorと私に与えますglGetErrorString

同様の質問を見つけたところ、glew が適切に初期化されていない可能性があることが示唆されました。

これを行う前に glew を初期化しており、glew.hbeforeも含めていgl.hます。

また、私にglewinfo | grep Restart与えます

glPrimitiveRestartIndex:                                     OK
glPrimitiveRestartIndexNV:                                   OK
glPrimitiveRestartNV:                                        OK

私のシステムでは動作しないのでしょうか?何が間違っている可能性がありますか?

私のコードはかなり大きいので、すべてを投稿することはできません。関連すると思われるものは次のとおりです。

if (GLEW_OK != glewInit()){
    // GLEW failed!
    std::cout << "Failed to initialize glew!\n";
    exit(1);
}
glEnable(GL_PRIMITIVE_RESTART); //invalid enumerator
glPrimitiveRestartIndex(0xffff); //segfault!
4

1 に答える 1

1
glPrimitiveRestartIndex

OpenGL 3.1 ですか + 次のように確認して、ドライバーがサポートしているかどうかを確認する必要があります。

if(GLEW_VERSION_3_1) {
  //we are running on 3.1 +
} else {
  //some version lower than 3.1
}
于 2012-11-19T17:03:15.267 に答える