GLSL着色器不会在VM Fusion - Windows 10 / Visual Studio 2017上编译

时间:2018-05-03 19:33:36

标签: opengl glsl vmware-fusion

我已将VMFusion安装在已连接到2014 Macbook Pro Retina Display的外置硬盘上。在这个VM中我安装了Windows 10(非正版)和Visual Studio 2017.我已经加载了我的解决方案(我们使用OpenGL),但是当我编译并运行时,控制台会抱怨"错误:不支持GLSL 3.30。支持的版本是:1.10,1.20和1.00 ES"在编译任何着色器时。

在Display下的VMFusion设置菜单中,我看到"加速3D图形的选项"已经开始了。据推测这个选项"支持DirectX 10和OpenGL 3.3"。因此,当我运行项目时,为何我收到有关GLSL的错误消息,我感到很困惑。有没有人知道发生了什么或如何解决这个问题?我安装了正确的nuget包,似乎所有的C ++代码编译都很好。它纯粹是着色器。这是VMFusion问题还是我的笔记本电脑没有设置的东西?

2 个答案:

答案 0 :(得分:0)

如果没有更多细节(您的GPU,VM的确切设置等),很难回答。

但是,我建议检查一些事情:

  1. 是否在客户操作系统上正确安装了 VMware工具
  2. 在创建上下文(核心或兼容性?)时,您要求使用哪种配置文件?据我所知,VMware guest虚拟机只能获得OpenGL 3.3 核心配置文件
  3. 然后,您还可以查看有关这些问题的VMware Fusion 文档 here

答案 1 :(得分:0)

在您的虚拟机上,尝试添加下一个变量:

MESA_GL_VERSION_OVERRIDE 3.3
MESA_GLES_VERSION_OVERRIDE 3.2
MESA_GLSL_VERSION_OVERRIDE 330

在两个部分“用户变量” “系统变量” 要打开“高级系统设置” ,请遵循控制面板->系统和安全->系统,点击“高级系统设置” {{3} }