我在Mac OS X 10.8上使用GLFW 3.0,显卡是Intel HD Graphics 5000
我的OpenGL API版本是2.1,获得者
glfwGetWindowAttrib(window, GLFW_CONTEXT_VERSION_MAJOR);
glfwGetWindowAttrib(window, GLFW_CONTEXT_VERSION_MINOR);
Run Code Online (Sandbox Code Playgroud)
编译选项:
g++ ... -framework OpenGL -framework Cocoa -framework IOKit ...
Run Code Online (Sandbox Code Playgroud)
头:
#include <GLFW/glfw3.h>
#include <GL/glu.h>
Run Code Online (Sandbox Code Playgroud)
版本总是2.1,与报告的3.2不同.
https://developer.apple.com/graphicsimaging/opengl/capabilities/GLInfo_1085_Core.html
...
现在我的操作系统已经升级到10.9,OpenGL版本仍然是2.1.
它仍然无法编译GLSL 3.3,而Apple表示它支持4.1.
https://developer.apple.com/graphicsimaging/opengl/capabilities/index.html
我怎样才能使它工作?
是否可以使用核心配置文件在OS X Lion或OS X Mountain Lion上使用GLUT(因此我可以使用GLSL 1.50)?
我可以使用内置的GLUT还是需要使用FreeGLUT等第三方库?
OS X是否有任何简单的"Hello world"应用程序可以使用XCode项目或make-file?
我有一个使用着色器的OpenGL程序(OpenGL版本3.3,GLSL版本1.5).我听说着色器实际上是在CPU上运行,除非你明确告诉它在GPU上运行.(当然,我使用着色器的全部原因是通过在GPU而不是CPU中进行计算来加速渲染,所以这不是我想要的行为.)这是真的吗?如果是这样,你如何让着色器在GPU上运行?