OSX上的C#OpenTK:GLSL错误,不支持版本

时间:2014-05-05 15:02:02

标签: macos opengl opentk

我本机运行Mac OSX 10.9.2并尝试运行以下C#代码:http://pastebin.com/b6GpxjuL

我正在使用Xamarin Studio和OpenTK来编译代码,但是一旦启动它,我就会在控制台中收到这些错误:

[0:] 
[0:] ERROR: 0:2: '' :  version '410' is not supported
ERROR: 0:4: 'layout' : syntax error syntax error


[0:] 
[0:] ERROR: 0:2: '' :  version '410' is not supported

我已经为着色器尝试了不同的版本,但我总是收到错误"不支持版本XXX"。 尽管如此,仍然会显示带有三角形的渲染窗口,但是没有编辑着色器它没有正确显示。

我已经检查了Apple的兼容性列表,我的机器支持4.1版(GeForce 650):https://developer.apple.com/graphicsimaging/opengl/capabilities/

有谁知道错误是什么?

3 个答案:

答案 0 :(得分:2)

OpenTK 1.1正在使用Carbon,它不支持OpenGL> 2.1。对于OpenGL 3.x / 4.x,您有两个选择:

OpenTK 1.1.2将支持开箱即用的OpenGL 3.x / 4.x.这将在几天后正式发布。

答案 1 :(得分:1)

我有类似的代码,但使用'GraphicsContextFlags.ForwardCompatible',它与GraphicsMode.Default一起使用。我发现glGetString(GL_VERSION)给了我4.1,如果我使用除此之外的任何上下文(甚至说4.0),它就不起作用。

答案 2 :(得分:0)

glGetString(GL_VERSION)glGetString(GL_SHADING_LANGUAGE_VERSION)说什么?实际上你应该使用最后一次电话会告诉你的GLSL版本。