Графический процессор ATI Radeon HD 5770 поддерживает OpenGL 4.1?

У меня есть графический процессор ATI Radeon HD 5770 на Mac Pro 2012 года.

Когда я запускаю следующий код в своей программе:

    std::cout << glGetString(GL_RENDERER) << std::endl;
    std::cout << glGetString(GL_VENDOR) << std::endl;
    std::cout << glGetString(GL_VERSION) << std::endl;
    std::cout << glGetString(GL_SHADING_LANGUAGE_VERSION) << std::endl;

Вывод, который я получаю, выглядит следующим образом:

    ATI Radeon HD 5770 OpenGL Engine
    ATI Technologies Inc.
    2.1 ATI-1.24.35
    1.20

Но с помощью средства просмотра расширений OpenGL я получаю следующее введите здесь описание изображения

Есть ли способ использовать 4.1? Почему мне постоянно пишет, что версия 2.1?


person Maggick    schedule 13.09.2014    source источник


Ответы (1)


При инициализации контекста OpenGL у вас есть возможность запросить профиль совместимости (до GL 2.1) или базовый профиль.

Вам необходимо включить контекст ядра, чтобы использовать функции OpenGL 4.1. Процесс достижения этого зависит от библиотеки, которая создает контекст (SDL, GLU, фреймворк Apple GL и т. д.), но часто это простой флаг для передачи в функцию инициализации.

person rems4e    schedule 13.09.2014
comment
Я использую GLFW в качестве оконной системы и добавил следующие строки кода: glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE); glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 4); glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 1); glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE); Но я продолжаю получать тот же результат, что и в версии 2.1. - person Maggick; 14.09.2014
comment
Вам нужно вызвать их перед вызовом glfwCreateWindow, это то, что вы пробовали? - person rems4e; 14.09.2014