GLEWを設定するとき、ウィンドウコンテキストが作成された後に初期化する必要があります。私は以下でこれを行いましたが、問題はglGenBuffers()などの呼び出しでアクセス違反が発生することです。エラーチェックもオフに設定されていません。それはGLEW初期化の配置/ RenderWindowの作成方法に起因するのでしょうか?クラスを使わずにmain()関数にコードを入れても問題ありません。正しい順番でGLEW初期化を使用してglGenBuffers()でアクセス違反
Engine() : sf::RenderWindow(){
// setup the SFML renderwindow
string windowTitle = "OpenGL";
sf::ContextSettings contextSettings;
contextSettings.antialiasingLevel = 4;
contextSettings.depthBits = 64;
sf::RenderWindow::create(sf::VideoMode(800, 600), windowTitle, sf::Style::Resize | sf::Style::Close, contextSettings);
// setup GLEW
glewExperimental = GL_TRUE;
GLenum err = glewInit();
if(err != GLEW_OK){
printf("ERROR: GLEW failed to initialize.\n");
exit(1);
}
glViewport(0, 0, sf::RenderWindow::getSize().x, sf::RenderWindow::getSize().y);
...
}
すべてが正常だった主な機能として表示してください – Jeka