我正在关注“OpenGL编程指南第8版”一书。我只想在我的Mac上运行本书中介绍的第一个程序。着色器无法编译
它是Mavericks + Xcode 4.6.1 + Intel HD graphics 4000.所以问题是,着色器无法编译。
的Shader代码:
#version 410 core
layout(location = 0) in vec4 vPosition;
void
main()
{
gl_Position = vPosition;
}
和错误消息是:
Shader compilation failed: ERROR: 0:1: '' : version '410' is not supported
ERROR: 0:1: '' : syntax error #version
ERROR: 0:3: 'layout' : syntax error syntax error
我试过版本420/400/330,他们没有工作。
顺便说一句,该程序使用最新的glew 1.10(http://glew.sourceforge.net),我发现我必须设置“glewExperimental = GL_TRUE;”在调用glewInit之前。否则“glGenVertexArray”是一个NULL指针。所以我想知道也许小牛队不支持小牛?
您是否选择了渲染的核心配置文件?我不使用glew,我只使用glfw创建渲染上下文和窗口,以及标准头文件。在MacOS上,我并不需要笨拙,因为macos具有系统/驱动程序支持的所有功能和常量。 –
因为我忘了提及,MacOS只有'legacy'和'3_2Core'配置文件可以选择。但对于'3_2Core',它返回系统/ gpu支持的最高配置文件,它向后兼容'3_2Core'。 –
谢谢,但是如何“为您的渲染选择核心配置文件”? –