Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos OSX上的C#OpenTK:GLSL错误,不支持版本_Macos_Opengl_Opentk - Fatal编程技术网

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

Macos OSX上的C#OpenTK:GLSL错误,不支持版本,macos,opengl,opentk,Macos,Opengl,Opentk,我本机运行Mac OSX 10.9.2,并尝试运行以下C#代码: 我正在使用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 sup

我本机运行Mac OSX 10.9.2,并尝试运行以下C#代码:

我正在使用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不受支持”。 不过,会显示带有三角形的渲染窗口,但如果没有编译的着色器,则无法正确显示

我已经查看了苹果的兼容性列表,我的机器支持4.1版(GeForce 650):


有人知道出了什么问题吗?

glGetString(GL\u版本)和
glGetString(GL\u着色语言版本)
说了什么?实际上,您应该使用GLSL版本,上一次调用会告诉您。OpenTK 1.1使用的是Carbon,它不支持OpenGL>2.1。对于OpenGL 3.x/4.x,您有两个选项:

  • 通过将
    opentk/Dependencies/x86
    中的
    libSDL2.dylib
    复制到应用程序目录来启用SDL2后端
  • 编译最新版本

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

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