OpenGL ES Offscreen Drawing问题

时间:2014-04-01 03:33:34

标签: android opengl-es off-screen

我正在使用PixelBuffer类http://www.anddev.org/android-2d-3d-graphics-opengl-tutorials-f2/possible-to-do-opengl-off-screen-rendering-in-android-t13232.html。在我的渲染器中,我使用GLU.lookAt来查看3D对象的背面,但是PixelBuffer似乎没有返回具有背面的缓冲区,而是仍然显示对象的正面。可能是什么导致了这个?这个问题可以解决吗?

1 个答案:

答案 0 :(得分:1)

首先,pbuffers已经过时,在使用Nvidia Tegra GPU的Android设备上不受支持。 Android有用于屏幕外渲染的内置类,名为您应该使用的TextureView和SurfaceTexture,或者您可以使用FBO。我在这里有一系列文章可以提供帮助:

http://montgomery1.com/opengl/

我不知道您正在运行的OpenGL ES驱动程序,但它可能只支持单缓冲的pbuffers,因此没有后备缓冲区。

背面是一个不同的概念,取决于三角形的缠绕方向,以允许背面剔除。它与屏幕外渲染无关。

<强>更新

添加一些示例代码的链接,该代码显示如何将纹理图像复制到Android位图中:

http://stackoverflow.com/questions/22683572/creating-a-bitmap-of-a-drawn-square-in-android-opengl-es-2-0/22693766#22693766