Невозможно изменить версию OpenGL в OSX - PullRequest
1 голос
/ 19 сентября 2019

Я использую FreeGLUT и хотел бы использовать OpenGL 3.2.Я нахожусь на MacBook Pro (15 ", начало 2015 г.), Mojave 10.14.3, который согласно документации Apple поддерживает OpenGL до 4.1. Я скачал freeglut с brew. Однако независимо от того, что я положил в glutInitContextVersion ,версия не меняется . Независимо от того, что я делаю, версия OpenGL остается 2.1.

Intel Iris Pro OpenGL Engine, 2.1 INTEL-12.4.7

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

#include <iostream>
#include <GL/freeglut.h>

using namespace std;

void displayFunc() {
    glClearColor(1.0, 1.0, 0.5, 0.5);
    glClear(GL_COLOR_BUFFER_BIT);
    glMatrixMode(GL_MODELVIEW);
    glFlush();
}

int main(int argc, char * argv[]) {
    glutInit(&argc, argv);
    glutInitContextVersion(3,2);
    glutInitContextFlags(GLUT_FORWARD_COMPATIBLE);
    glutInitContextProfile(GLUT_CORE_PROFILE);

    glutInitWindowPosition(10, 10);
    glutInitWindowSize(480, 272);

    glutInitDisplayMode(GLUT_RGBA | GLUT_SINGLE);
    glutCreateWindow("Window");

    glutDisplayFunc(displayFunc);

    // Print the OpenGL version
    std::printf("%s\n%s\n", glGetString(GL_RENDERER), glGetString(GL_VERSION));

    glutMainLoop();
    return 0;
}

Мой cmake выглядит следующим образом:

cmake_minimum_required(VERSION 3.3)
project(AVT7)

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -framework GLUT -framework OpenGL -framework Cocoa")

include_directories(/usr/local/Cellar/freeglut/3.0.0/include)
link_directories(/usr/local/Cellar/freeglut/3.0.0/lib)

add_executable(AVT7 hello.cpp)
target_link_libraries(AVT7 glut)

Как мне заставить это работать? Я знаю, что могут быть проблемыApple больше не поддерживает OpenGL, однако он все равно должен работать (особенно с FreeGLUT).

...