我正在将一个OpenGL应用程序从iPhone移植到Android,我需要 将OpenGL内容渲染为纹理。因为帧缓冲区不是 在OpenGL 1.0中可用,而DROID是唯一具有framebuffer OpenGL扩展的Android手机,我正在尝试使用OpenGL和 然后使用glCopyTexImage2D将结果复制到纹理中。然而, 我最初的发现并不好:
glCopyTexImage2D适用于Android模拟器(OS v.1.5),但是 只有GL10.GL_RGB,而不是GL_RGBA。如果您尝试复制alpha数据 从场景到纹理,你只需得到一个完全白色 质地
glCopyTexImage2D似乎在Android G1上 。 glCopyTexImage2D不会抛出UnsupportedOperationException, 但在调用之后,纹理完全是白色的。
有没有人在Android应用中成功使用过glCopyTexImage2D?如果 那么,请你发一些你正在使用的代码,以及你的应用程序限制的设备?我怀疑它只适用于特定设备上的特定参数,如果有的话。现在,我这样称呼它:
gl.glCopyTexImage2D(GL10.GL_TEXTURE_2D, 0, GL11.GL_RGBA, 0,0, 256,
256, 0);
答案 0 :(得分:2)
根据文档,仅当GL版本为1.1或更高版本时,glCopyTexImage2D才可用。这意味着在Android中无法保证。