Я хочу создать контекст OpenGL 1.2, но я получаю эту ошибку: «Не удалось открыть окно GLFW».
Когда я создаю 3.3 или 4.3 контекст, нет проблем. Как я могу создать 1,2 контекста?
glfwWindowHint(GLFW_SAMPLES, 4);
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 1);
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 2);
glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
const GLFWvidmode * mode = glfwGetVideoMode(glfwGetPrimaryMonitor());
WindowWidth = mode->width;
WindowHeight = mode->height;
midWindowWidth = WindowWidth / 2;
midWindowHeight = WindowHeight / 2;window = glfwCreateWindow(WindowWidth, WindowHeight, "Quadcopter Project", glfwGetPrimaryMonitor(), NULL);
if( window == NULL )
{
fprintf( stderr, "Failed to open GLFW window. \n" );
glfwTerminate();
return -1;
}
В OpenGL нет профилей < 3.2. Вы не можете создать основной профиль 1.2, потому что такого нет.
Вы также не можете напрямую заставить драйвер создать 1.2-контекст. Возможность запрашивать конкретную контекстную версию была введена в 3.0. Так что в основном все до 3.0 — это просто какой-то унаследованный контекст. Вы можете запросить 1.2, но он может дать вам гораздо более высокий контекст (профиль совместимости), в зависимости от платформы и драйверов, на которых вы это пробуете.