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