Phi*_*ldo 3 opengl macos glew glsl glfw
我在这里看到了一个类似的问题:Mavericks下的OpenGL 4.1(?),但似乎这个人依赖过剩,所以解决方案不适用.
我在OSX 10.9 (Mavericks)上,使用GLEW和GLFW,使用C++开发的NVidia GeForce 650.
我没有使用xcode-使用非常基本的makefile保持简单.
无论如何 - 我有这5行代码:
window = glfwCreateWindow(640,480,"hello world",NULL,NULL);
glfwMakeContextCurrent(window);
glewExperimental = GL_TRUE;
glewInit();
printf("shader lang: %s\n",glGetString(GL_SHADING_LANGUAGE_VERSION));
Run Code Online (Sandbox Code Playgroud)
它打印出来
shader lang: 1.2
Run Code Online (Sandbox Code Playgroud)
我假设设置glewExperimental应该正确处理核心上下文?(/另一个人在另一个话题中谈论的东西)
我还需要做些什么来启用最新的着色器版本?
Ps-我的完整代码在这里,包括makefile:https://github.com/Phildo/openglexp,但我不确定它会有多大用处.
我之前从未使用过GLFW,但根据API文档和我对低级OS X GL上下文管理的全面体验,以下代码应该可以解决您的问题:
glfwInit ();
glfwWindowHint (GLFW_CONTEXT_VERSION_MAJOR, 3);
glfwWindowHint (GLFW_CONTEXT_VERSION_MINOR, 2);
glfwWindowHint (GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
Run Code Online (Sandbox Code Playgroud)
确保你之前打电话给这些东西 glfwCreateWindow (...)
| 归档时间: |
|
| 查看次数: |
1887 次 |
| 最近记录: |