#include "libs.h"
int main()
{
//Initializing
const int WIDTH = 640;
const int HEIGHT = 480;
int frameBufferWidth = 0;
int frameBufferHeight = 0;
//..
GLFWwindow* window = glfwCreateWindow(WIDTH, HEIGHT, "Game", nullptr, nullptr);
glfwGetFramebufferSize(window, &frameBufferWidth, &frameBufferHeight); // <---- EXCEPTION
glViewport(0, 0, frameBufferWidth, frameBufferHeight);
glfwMakeContextCurrent(window);
//Init GLEW
glewExperimental = GL_TRUE;
if (glewInit() != GLEW_OK) {
std::cout << "ERROR::MAIN.CPP::GLEW_INIT_FAILED\n";
glfwTerminate();
}
//Main loop
//...
return 0;
}
我不知道为什么会引发异常。我怀疑我在frameBufferWidth和frameBufferHeight上做错了什么,但是我无法弄清楚到底是什么。请帮助!我是OpenGL的新手,请不要严格判断。
对于glfwGetFramebufferSize
,对于任何OpenGL指令(如glfwGetFramebufferSize
),都需要有效的当前OpenGL上下文。因此,必须先调用glViewport
。由于您使用glew,因此也应在任何OpenGL指令之前初始化glew。
glfwMakeContextCurrent