Ответ 1
Просто позвоните glGetString(GL_VERSION)
(как только контекст инициализируется, конечно), и потушите результат (который, на самом деле, тот же, что и glxinfo, я полагаю):
printf("%s\n", glGetString(GL_VERSION));
Ваша программа должна автоматически использовать максимально возможную версию поддержки вашего оборудования и драйверов, которая в вашем случае, по-видимому, составляет 3,3. Но для создания контекста основного профиля для OpenGL 3+ (тот, где устаревшие функциональные возможности были полностью удалены), вы должны принять специальные меры. Но так как версия 2.7 GLFW имеет средства для этого, используя функцию glfwOpenWindowHint
. Но если вы не хотите явно запрещать устаревшую функциональность, вы можете просто использовать контекст, предоставленный вам функциями контекстного создания по умолчанию GLFW, который, как утверждается, поддерживает максимально возможную версию вашего оборудования и драйверов.
Но также имейте в виду, что для использования OpenGL-функций выше версии 1.1 вам необходимо получить соответствующие указатели на функции или использовать библиотеку, которая обрабатывает это для вас, например GLEW.