我的mac os X 10.9.2上的glsl版本有问题。我用OpenGL和SDL2用c ++编写程序
我无法从我的120版升级到更高版本。我怎么升级好吗? 我这样编译:
g ++和我的旗帜是: -framework SDL2 -lSDLmain -framework OpenGL -framework SDL2_image -framework cocoa
错误:0:3:'' :版本' 330'不支持
答案 0 :(得分:7)
在OS / X 10.9上创建OpenGL 3.3 / 4.1上下文时,您需要在SDL_CreateWindow
之前添加以下代码段。
SDL_Init(SDL_INIT_VIDEO);
SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION, 3);
SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION, 2);
SDL_GL_SetAttribute(SDL_GL_CONTEXT_PROFILE_MASK, SDL_GL_CONTEXT_PROFILE_CORE);
// ...
// auto window = SDL_CreateWindow(...)
// auto context = SDL_GL_CreateContext(window);
cout << "OpenGL version " << glGetString(GL_VERSION) << endl;
cout << "GLSL version " << glGetString(GL_SHADING_LANGUAGE_VERSION) << endl;
这里有一个完整的例子: https://gist.github.com/mortennobel/643e92bd6a63de688c6f