Пытаясь выяснить, какой тип OpenGL я использую, я последовал предложению здесь: ссылка на сайт
У меня есть следующий код:
int major, minor, rev;
glfwGetGLVersion(&major, &minor, &rev);
fprintf(stderr, "OpenGL version recieved: %d.%d.%d", major, minor, rev);
И я получаю следующий вывод:
OpenGL version recieved: 2130567168.6.0
Я подумал, что это была какая-то проблема инициализации, поэтому я приспособился к следующему:
int major=0, minor=0, rev=0;
glfwGetGLVersion(&major, &minor, &rev);
fprintf(stderr, "OpenGL version recieved: %d.%d.%d", major, minor, rev);
И получил следующий вывод:
OpenGL version recieved: 0.0.0
Я не имею ни малейшего понятия, что я делаю здесь неправильно. Есть идеи?
Решил это. Мне пришлось разместить запрос о версии ПОСЛЕ того, как контекст OpenGL был включен GLFW.
Это имеет смысл, но немного глупо с точки зрения учащегося, поскольку контекст, приведенный выше в примере, предложил использовать его для установления контекста в первую очередь.
Попробуйте использовать glGetString(GL_VERSION)
:
const GLubyte *version = glGetString(GL_VERSION);
Других решений пока нет …