Я получаю сообщение об ошибке: «GLFWwindow» не было объявлено в этой области |Это имеет смысл, поскольку я использую glfw 2.7.9
Не использовать 2.7.2.Ей 7 лет. Кроме того, ни одна из функциональных возможностей в ваших вопросах не была представлена до версии 3.0.Вместо этого получите последнюю версию и прочитайте следующее:
Функция ожидает в качестве первого и второго параметра:
Окно, для которого необходимо установить обратный вызов.
Новый обратный вызов или NULL для удаления текущего установленного обратного вызова.
Пример:
GLFWwindow* window;
glfwSetWindowSizeCallback(window, window_size_callback); // Set the to callback function name
void window_size_callback(GLFWwindow* window, int width, int height)
{
// What to do
}
Обратите внимание, что:
Функция обратного вызова получает новый размер в экранных координатах клиентской области окна при изменении его размера.
Для этого:
Не передавайте размер окна в glViewport или другие пиксельные вызовы OpenGL.Используйте размер кадрового буфера в пикселях для вызовов на основе пикселей.
Поэтому, если вы пытаетесь добиться изменения размера окна с помощью glViewport, вместо этого сделайте следующее:
GLFWwindow* window;
glfwSetFramebufferSizeCallback(window, framebuffer_size_callback);
void framebuffer_size_callback(window, int width, int height)
{
glViewport(0, 0, width, height);
}
Для получения дополнительной информации, проверьте этот учебник , в частности эту часть .