我正在和两个朋友一起开发 3D 游戏加工。Processing 使用 OpenGL 进行 3D 编程。每当我在自己的电脑上运行该程序时,一切都运行正常,但每当我的一个朋友在他的电脑上运行该程序时,他都会收到一条错误消息OpenGL error 1282 at bot endDraw(): invalid operation
。由于问题只限于一台电脑,因此我确信它与我们的代码无关。我的朋友在三年前购买的戴尔 Inspiron 上运行 Windows 7 x64。为了进行比较,我在去年夏天购买的 HP ProBook 4540s 上运行 Windows 8.1 Pro x64。我们都在运行最新版本的 Java 8。我的朋友已尝试按照这一页,但没有任何帮助。
我朋友的电脑的显卡属性
答案1
你朋友使用的驱动器版本非常老旧,不支持你尝试定位的 OpenGL 版本。他的硬件仅支持 OpenGL 3.1 或更低版本,因此请确保你的代码定位该版本。
当前驱动程序可以位于这里。我链接的驱动程序当然是通用的。它们可能会或可能不会工作,因为你使用的是笔记本电脑。你没有提供具体信息,所以我不能确定或链接到戴尔特定的驱动程序。最后,如果驱动程序无法更新,你的朋友将无法运行该程序,除非你使用的 OpenGL 版本切换到早期版本。由于你使用的是 Processing,这意味着硬件必须支持OpenGL 2.0这需要设备驱动程序支持。根据错误,当前安装的驱动程序不支持 OpenGL。
新版本的 OpenGL 库需要支持 OpenGL 2.0 的驱动程序。这使我们能够使桌面和 Android 的 OpenGL 支持保持同步。不幸的是,这意味着一些较旧的卡和驱动程序(特别是在 Linux 上)将无法工作,并且此类机器上的 Processing 2.0 将仅限于 2D 图形。但是 OpenGL 库是由一个人(Andres Colubri)开发的,他在业余时间从事这项工作,他无法支持两个具有完全不同实现的独立视频库。请记住,您始终可以使用 Processing 1.5.1 继续 3D 开发,尽管它不会进一步更新,我们也不会接受有关它的错误报告。