我正在开发某种游戏框架,并且是OpenGL的新手。对于这个问题,大多数书籍似乎没有给出一个非常清晰的答案,我希望在我的桌面上使用OpenGL进行开发,但是在OpenGL ES 2.0环境中执行代码。我的问题有两个:
如果我针对桌面上的OpenGL框架,它会在OpenGL ES 2.0环境中不加修改地运行吗?
如果没有,那么是否有一个很好的仿真器,PC或Mac;是否有我可以运行的脚本,可以将我的OpenGL代码转换为OpenGL ES代码,或者标记不能工作的东西?
我的问题是通过OpenGL运行ssh。当我在我的办公室工作站上执行glxgears时(当我在办公室的时候),它正常工作。但是,当我从笔记本电脑(我使用的是macbook和X石英)通过ssh -X连接到办公工作站时,glxgears确实打开了,但齿轮不动。
还有一个我想远程执行的编写pyOpenGL的程序。当在办公工作站上执行时,它工作得很好。但是,当我试图通过从macbook连接到工作站来运行它时,它会显示以下错误:
pygame.error: Could not create GL context
我还注意到了其他一些问题:glxinfo在办公工作站上的输出与通过ssh连接到工作站后在工作站
我想学习OpenGL开发,我正在运行Linux Mint。Khronos.org说:
The OpenGL 4.4 and OpenGL Shading Language 4.40 Specifications were released on July 22, 2013.
据我所知,Mesa是针对Linux的OpenGL实现,但我相信它只是一个3.1版本。我的问题是,我可以在OpenGL环境下开发Linux4.4应用程序,还是必须使用MESA3.1版本?
我如何修复它,使我的系统不会崩溃,每当我去“系统设置>详细信息”?或者我将在哪里/如何解决这个问题?谢谢!
编辑:当从终端运行控制中心,然后单击“详细信息”时,我得到以下信息:
(gnome-control-center:9579): info-cc-panel-WARNING **: PackageKit version 7.4.0 not supported
OpenGL Warning: glFlushVertexArrayRangeNV not found in mesa table
OpenGL Warning: glVertexArrayRangeNV not found i
我感兴趣的是OpenGL ES服务器异步运行某些命令序列所需的时间。使用常规OpenGL解决此问题的方法是使用目标GL_TIME_ELAPSED创建一个query对象;但是,OpenGL ES没有glBeginQuery系列函数。在OpenGL ES 2或3中,有没有一种独立于平台的方法来准确获取这些信息?
Virtualbox和VMware给我努力学习OpenGL带来了困难。我有一个Linux虚拟机(Lubuntu12.10),这是我在运行程序时遇到的错误:
VMware:
Unable to create OpenGL context
VirtualBox:
OpenGL Warning: glFlushVertexArrayRangeNV not found in mesa table
OpenGL Warning: glVertexArrayRangeNV not found in mesa table
OpenGL Warning: glCombinerInputNV not found
在我使用的所有版本的Processing (视觉设计软件)中,我都遇到了同样的问题,即当我试图运行3D脚本时,我得到了一个与java /openGL相关的错误。更具体地说,我得到了以下信息:
java.lang.NoSuchMethodError: javax.media.opengl.GLDrawableFactory.initSingleton()V
at javax.media.opengl.GLProfile.initProfilesForDefaultDevices(GLProfile.java:1652)
at javax.media.opengl.GLProfil