glfwGetGLVersion () возвращает 2.1 на OS X Lion

Я пытаюсь настроить контекст OpenGL 3.2 на Lion. У меня есть этот код для настройки окна:

glfwOpenWindowHint(GLFW_OPENGL_VERSION_MAJOR, 3);
glfwOpenWindowHint(GLFW_OPENGL_VERSION_MINOR, 2);
glfwOpenWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE);
glfwOpenWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);

if (!glfwInit())
return -1;

if (!glfwOpenWindow(640, 480, 8, 8, 8, 0, 0, 0, GLFW_WINDOW))
return -1;

glClearColor(1.0f, 0.0f, 0.0f, 1.0f);

// Get OpenGL details
int major, minor, rev;
glfwGetGLVersion(&major, &minor, &rev);
std::cout << "GL Version: " << major << "." << minor << "." << rev << std::endl;

Версия GL выходит как 2.1, хотя я использую OS X Lion и AMD Radeon 6750M, который, очевидно, поддерживает 3.2. Кроме того, я запустил этот бит кода C Вот который вернулся 3.2. Я использую GLFW 2.7.8. Кто-нибудь знает, что здесь происходит?

1

Решение

Оказывается, мне нужно было позвонить glfwInit() до звонков в glfwOpenWindowHint:

if (!glfwInit())
return -1;

glfwOpenWindowHint(GLFW_OPENGL_VERSION_MAJOR, 3);
glfwOpenWindowHint(GLFW_OPENGL_VERSION_MINOR, 2);
glfwOpenWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE);
glfwOpenWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);

if (!glfwOpenWindow(500, 500, 8, 8, 8, 0, 0, 0, GLFW_WINDOW))
return -1;
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]