Проблема с GLFW_OPENGL_PROFILE. Открытие окна GLFW
Недавно начал изучать openGL. При создании окна с использованием GLFW возникла проблема. Есть код:
#define GLEW_STATIC
#include <iostream>
#include <glew.h>
#include <glfw3.h>
#include <glm.hpp>
#include <vec2.hpp>
#include <vec3.hpp>
#include <vec4.hpp>
#include <mat4x4.hpp>
#include <gtc\matrix_transform.hpp>
#include <gtc\type_ptr.hpp>
#include <SOIL2.h>
int main() {
glfwInit();
glfwWindowHint(GLFW_VERSION_MAJOR, 4);
glfwWindowHint(GLFW_VERSION_MINOR, 4);
glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
glfwWindowHint(GLFW_RESIZABLE, GL_FALSE);
const int WIDTH = 640, HEIGHT = 480;
int framebufferWidth = 0, framebufferHeight = 0;
GLFWwindow* window = glfwCreateWindow(WIDTH, HEIGHT, "Test", NULL, NULL);
if (window == NULL) {
std::cout << "ERROR window" << std::endl;
glfwTerminate();
return -1;
}
glfwGetFramebufferSize(window, &framebufferWidth, &framebufferHeight);
glViewport(0, 0, framebufferWidth, framebufferHeight);
glfwMakeContextCurrent(window);
glewExperimental = GL_TRUE;
if (glewInit() != GLEW_OK) {
std::cout << "ERROR glew" << std::endl;
glfwTerminate();
return -1;
}
while (!glfwWindowShouldClose(window)) {
glfwPollEvents();
}
glfwTerminate();
return 0;
}
При запуске в консоль выводится "ERROR window". Причина заключается в
glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
Если изменить GLFW_OPENGL_CORE_PROFILE на GLFW_OPENGL_ANY_PROFILE программа заработает. Хотел бы узнать, в чем заключается разница (знаю, что это связано с новой функциональностью openGL, но хочу узнать конкретно какие возможности я не смогу использовать) и если это возможно исправить эту проблему.