为了账号安全,请及时绑定邮箱和手机立即绑定

(LibGDX) 创建 FrameBuffers 时 Android 应用程序崩溃

(LibGDX) 创建 FrameBuffers 时 Android 应用程序崩溃

慕标琳琳 2021-11-11 14:23:26
我从 Google Play 商店收到了一份关于我使用 LibGDX 创建的 Android 应用程序的崩溃报告。Huawei MediaPad T3 7 (hwbg2), Android 6.0java.lang.IllegalStateException:  at com.badlogic.gdx.graphics.glutils.GLFrameBuffer.build (GLFrameBuffer.java:233)  at com.badlogic.gdx.graphics.glutils.GLFrameBuffer.<init> (GLFrameBuffer.java:87)  at com.badlogic.gdx.graphics.glutils.FrameBuffer.<init> (FrameBuffer.java:51)  at com.badlogic.gdx.graphics.glutils.GLFrameBuffer$FrameBufferBuilder.build (GLFrameBuffer.java:474)  at com.badlogic.gdx.graphics.glutils.FrameBuffer.createFrameBuffer (FrameBuffer.java:72)  at com.badlogic.gdx.graphics.glutils.FrameBuffer.createFrameBuffer (FrameBuffer.java:56)  at MY_PACKAGE.editor.Backup.<init> (Backup.java:21)  at MY_PACKAGE.editor.EditingImage.<init> (EditingImage.java:277)  at MY_PACKAGE.screens.EditingScreen.<init> (EditingScreen.java:227)  at MY_PACKAGE.screens.Screens.<init> (Screens.java:42)  at MY_PACKAGE.MAIN_CLASS$2.run (MAIN_CLASS.java:121)  at MY_PACKAGE.screens.SplashScreen.render (SplashScreen.java:93)  at com.badlogic.gdx.Game.render (Game.java:46)  at com.badlogic.gdx.backends.android.AndroidGraphics.onDrawFrame (AndroidGraphics.java:495)  at android.opengl.GLSurfaceView$GLThread.guardedRun (GLSurfaceView.java:1599)  at android.opengl.GLSurfaceView$GLThread.run (GLSurfaceView.java:1295)GLFrameBuffer.java 中的代码:233if (result == GL20.GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT)            throw new IllegalStateException("frame buffer couldn't be constructed: incomplete attachment");编辑Image.java如下class EditingImage{    public static final int pixmapWidth = 1024;    public EditingImage{        frameBuffer = FrameBuffer.createFrameBuffer(Pixmap.Format.RGB888,pixmapWidth,pixmapWidth,false);        ....创建 FrameBuffer 时,应用程序在 Backup.java 中崩溃了(我不知道循环了多少次之后)。如您所见,在 EditingImage 中创建的 FrameBuffer 没有崩溃,并且在实例化 Backup 对象之前已执行。它在我的手机(华为 Y6II)上正常工作。也在一些三星手机上进行了测试。
查看完整描述

1 回答

?
侃侃无极

TA贡献2051条经验 获得超10个赞

1 年 11 个月后,我发现了这个问题。

根据文档:

https://libgdx.badlogicgames.com/ci/nightlies/docs/api/com/badlogic/gdx/graphics/glutils/FrameBuffer.html

它说在构造函数中作为参数传递的格式应该是 RGB565 或 RGBA4444 或 RGB5_A1

format - 颜色缓冲区的格式;根据 OpenGL ES 2.0 规范,只有 RGB565、RGBA4444 和 RGB5_A1 是可渲染的

在我的情况下,我使用了 RGB888


查看完整回答
反对 回复 2021-11-11
  • 1 回答
  • 0 关注
  • 191 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信