【发布时间】:2018-05-10 07:32:47
【问题描述】:
我听说在设置 GLEW 时,您必须在创建窗口上下文后对其进行初始化。我已经在下面这样做了,但问题是我仍然会通过调用 glGenBuffers() 来违反访问权限。错误检查也没有启动。是因为 GLEW 初始化的位置/我如何创建 RenderWindow?在没有类的情况下将代码放入 main() 函数就可以了。
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);
...
}
【问题讨论】:
-
请在一切正常的地方显示为主要功能