많은 사람들이 사용하는 Android 게임을 개발했습니다. 100-200 명의 사용자 중 한 명은 예외가 있습니다. AndEngine RenderTexture 예외 : GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT
나는 내가 그것을 초기화 할 때 다음과 같은 예외가 던져 RenderTexture를 사용 는Fatal Exception: org.andengine.opengl.exception.RenderTextureInitializationException
org.andengine.opengl.exception.GLFrameBufferException: GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT
그것은 모든 장치의 99 %에서 작동합니다.
업데이트
충돌 지금까지 일어난 전화의 목록 ... 그것은 뭔가처럼 보인다
public void init(final GLState pGLState) throws GLFrameBufferException, GLException {
this.savePreviousFramebufferObjectID(pGLState);
try {
this.loadToHardware(pGLState);
} catch (final IOException e) {
/* Can not happen. */
}
/* The texture to render to must not be bound. */
pGLState.bindTexture(0);
/* Generate FBO. */
this.mFramebufferObjectID = pGLState.generateFramebuffer();
pGLState.bindFramebuffer(this.mFramebufferObjectID);
/* Attach texture to FBO. */
GLES20.glFramebufferTexture2D(GLES20.GL_FRAMEBUFFER, GLES20.GL_COLOR_ATTACHMENT0, GLES20.GL_TEXTURE_2D, this.mHardwareTextureID, 0);
try {
pGLState.checkFramebufferStatus();
} catch (final GLException e) {
this.destroy(pGLState);
throw new RenderTextureInitializationException(e);
} finally {
this.restorePreviousFramebufferObjectID(pGLState);
}
this.mInitialized = true;
}
는 프레임 버퍼-상태에 문제가 있습니다 : 초기화-방법은 다음과 같습니다 :
Sony - Sony Tablet S
TCT - ALCATEL ONE TOUCH 5020A
TCT - ALCATEL ONE TOUCH 6030N
VNPT Technology - VNPT Technology Smart Box
Q-Smart - S32
LGE - LG-E465g
LGE - LG-D682TR
LGE - LG-E451g
LGE - LG-D686
LGE - LG-E470f
HUAWEI - MediaPad 7 Youth
unknown - Bliss Pad B9712KB
samsung - GT-P5110
samsung - GT-I9505
samsung - Galaxy Nexus
samsung - GT-P3110
samsung - GT-P5100
samsung - GT-P3100
samsung - GT-I9105P
samsung - GT-I9082
samsung - GT-I9082L
samsung - GT-I9152
samsung - GT-P3113
E1A - E1A
LNV - LN1107
motorola - XT920
motorola - XT915
asus - ME172V
답변 해 주셔서 감사합니다. 대단히 감사합니다. 예, RGBA8888 텍스처로 렌더링하려고합니다. 나는 그것에 Sprite/Textures를 렌더링합니다 (TextureOptions.BILINEAR_PREMULTIPLYALPHA) - 그들은 "stamps"의 역할을합니다. 무엇을 바꿀 수 있습니까? 대안을 알고 있습니까? 감사합니다. 좋은 하루 되세요! – sjkm
확장자를 사용할 수있는 경우에만 RGBA8로 렌더링하고 그렇지 않은 경우에는 RGB565 또는 RGB5_A1로 되돌립니다. 알맞은 알파 채널이 없으면 스프라이트가 무엇을하는지에 따라 다소 아플 수도 있지만 장치가 RGBA8을 지원하지 않는다면 선택의 여지가 많지 않을 것이라고 생각합니다. – solidpixel
감사합니다! 이렇게 요약 : 게임은 실제로 실행 가능하지 않습니까? RGBA8000이 지원되는지 어떻게 확인할 수 있습니까? 장치를 지원하지 않는 장치 (예 : Manifest를 통해)를 제외 할 수 있는지 알고 있습니까? 이 장치가 특정 문제라고 말할 수 있습니까? (문제가있는 장치를 제외하면 응용 프로그램을 다운로드하면 문제가 "해결"될 것입니다)? 그 많은 질문으로 당신을 넘치게 해줘서 죄송합니다 :)! 정말 고맙습니다. – sjkm