我本机运行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/
有谁知道错误是什么?
答案 0 :(得分:2)
OpenTK 1.1正在使用Carbon,它不支持OpenGL> 2.1。对于OpenGL 3.x / 4.x,您有两个选择:
libSDL2.dylib
从opentk/Dependencies/x86
复制到您的应用程序目录来启用SDL2后端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版本。