当前位置: 首页 > 面试题库 >

该硬件不支持帧缓冲区。Java处理库2.2.1和展开地图错误

师建德
2023-03-14
问题内容

我试图使用 展开地图 图书馆与 日食处理2.2.1为图形库。 但是这种设置给我类似“此硬件不支持帧缓冲区”的错误。

Exception in thread "Animation Thread" java.lang.RuntimeException: java.lang.RuntimeException: Framebuffer objects are not supported by this hardware (or driver) Read http://wiki.processing.org/w/OpenGL_Issues for help.
    at com.jogamp.common.util.awt.AWTEDTExecutor.invoke(AWTEDTExecutor.java:58)
    at jogamp.opengl.awt.AWTThreadingPlugin.invokeOnOpenGLThread(AWTThreadingPlugin.java:103)
    at jogamp.opengl.ThreadingImpl.invokeOnOpenGLThread(ThreadingImpl.java:206)
    at javax.media.opengl.Threading.invokeOnOpenGLThread(Threading.java:172)
    at javax.media.opengl.Threading.invoke(Threading.java:191)
    at javax.media.opengl.awt.GLCanvas.display(GLCanvas.java:541)
    at processing.opengl.PJOGL.requestDraw(PJOGL.java:688)
    at processing.opengl.PGraphicsOpenGL.requestDraw(PGraphicsOpenGL.java:1651)
    at processing.core.PApplet.run(PApplet.java:2256)
    at java.lang.Thread.run(Unknown Source)

我有AMD Radeon HD 7600 M系列图形驱动程序,其规格说它支持OpenGl 4.2。我不知道我在想什么。有人请帮忙。


问题答案:

它在错误消息中直接为您提供了链接:https : //github.com/processing/processing/wiki/OpenGL-
Issues

该链接列出了您应该尝试的许多操作:

* 尝试更新您的显卡驱动程序。如果使用OpenGL的草图出现空白屏幕,或者草图正在挂起或启动非常缓慢,则可能需要更新驱动程序。在Windows上,可以从计算机的供应商,Windows
Update或图形卡的制造商处获得更新的驱动程序。在Mac OS
X上,使用“软件更新”来确保您的系统是最新的。在Linux上,尝试非免费版本的驱动程序。

* 在Windows上,如果您遇到很多OpenGL崩溃,蓝屏或其他混乱情况,则您的驱动程序可能不好(真的!)。例如,如果您使用的是Dell,请使用它们提供的驱动程序(http:/
/support.dell.com/),而不是直接从http://nvidia.com获得的最新驱动程序。

* 如果在Windows上出现黑屏或奇怪的图形,请尝试弄乱您的图形卡设置(甚至使用其他图形卡)。有很多可能引起麻烦的选项(如果遇到这种情况,请向论坛发布有关如何解决该问题的信息)。

* 另一方面,如果您最近进行了更新,则可能需要降级驱动程序。有时实验性驱动程序(或Linux上的“免费”驱动程序)包含问题。尝试使用可能适用于您系统的其他版本。

  • OpenGL几乎所有的EXCEPTION_ACCESS_VIOLATION崩溃都是驱动程序问题,我们无法修复它们。

* 我们不建议在OpenGL模式下运行Processing时运行其他OpenGL程序。GL往往负责所有事情,因此结果将是意外的(其他应用程序显示的窗口一直显示到“处理”窗口等)

  • 苹果一直在其“低端”机器(例如英特尔GMA 950)上使用的集成图形芯片组对于OpenGL确实很臭。有些根本不支持抗锯齿。这些卡可以在Mac
    Mini(仅Intel版本,PPC版本具有漂亮的图形),一些iMac和MacBook(但没有MacBook
    Pro)中找到。在许多预算PC中使用相同的芯片组,但免责声明也适用于此。

  • 新版本的OpenGL库需要支持OpenGL
    2.0的驱动程序。这使我们能够使OpenGL对桌面和Android的支持相互同步。不幸的是,这意味着某些较旧的卡和驱动程序(尤其是在Linux上)将无法工作,并且此类计算机上的Processing
    2.0将仅限于2D图形。但是OpenGL库是由一个人(Andres
    Colubri)开发的,他在业余时间从事此工作,并且他不能支持两个截然不同的实现方式的独立视频库。请记住,您将始终使用Processing
    1.5.1继续进行3D开发,尽管不会对其进行进一步的更新,并且我们将不接受其错误报告。

如果这些都不起作用或无法解决您的问题,请查看Processing的GitHub页面上列出的已知OpenGL问题。



 类似资料:
  • 我已经找了几个小时来解决我的问题。首先我有高清7800系列amd GPU,最新的驱动程序。 我正在尝试创建一个framebuffer类,它拥有我需要的所有framebuffer函数。看起来我让renderbuffers开始工作了,但绘制到纹理会导致非常奇怪的错误。 GLCHECKFRAMEBERSTATUS在两次检查时返回GL_FRAMEBUFFER_Completed_附件。createDept

  • 问题内容: 上面的python代码给了我以下错误: 问题答案: 如果使用Python3x,则与Python 2.x的类型不同,则必须将其转换为字节(对其进行编码)。 也不要使用像string或那样的变量file名作为模块或函数的名称。 是的,非ASCII文本也会被压缩/解压缩。我使用UTF-8编码的波兰字母:

  • 在DirectX中,您可以有单独的渲染目标和深度缓冲区,因此可以绑定渲染目标和一个深度缓冲区、执行一些渲染、移除深度缓冲区然后使用旧的深度缓冲区作为纹理进行更多渲染。 你会如何在opengl中做到这一点?根据我的理解,您有一个帧缓冲区对象,其中包含颜色缓冲区和可选的深度缓冲区。我不认为我可以同时绑定多个帧缓冲器对象,我是否必须在每次更改时(可能一帧几次)重新创建帧缓冲器对象?普通的 opengl

  • 一个轻量级的缓存实现,目前已支持 Redis Memcache Memcached File 四种储存模式 仓库地址: Github 安装 composer require easyswoole/cache 注意: 请确保框架已经引入了 composer 的 autoload.php 文件,否则报类不存在的错误 快速入门 如果不做任何设置,默认使用File驱动,开箱即用 use easySwool

  • 我正在使用JOGL,但这个问题一般适用于OpenGL。似乎存在类似的问题,但它们要么针对GLSL代码,要么与复制帧缓冲区的内容有关,要么是一般建议-使用帧缓冲区对象,而不是。 我正在做一些阴影映射。如何使用帧缓冲对象将深度通道直接渲染到纹理? 能否请你贴一段初始化纹理和帧缓冲对象的代码,以及渲染场景前初始化一切的代码? 目前,我使用<code>glCopyTexSubImage2D<code>。我

  • 我做了一个在上面渲染天空盒和粒子的应用程序。我想添加一些效果,我需要使用帧缓冲区来渲染天空盒、粒子颜色、深度和位置以分离纹理。然后我想使用简单的着色器来使用这些纹理中的值并以适当的方式混合它们。我为纹理、帧缓冲区和屏幕四边形(渲染简单的矩形)编写了辅助类,但不幸的是——当我尝试使用它时没有任何渲染。 当绑定帧缓冲区被注释掉时,我的场景如下所示: 修改着色器表明深度和位置值计算正确。因此问题在于纹理