我正在使用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似乎没有返回具有背面的缓冲区,而是仍然显示对象的正面。可能是什么导致了这个?这个问题可以解决吗?
答案 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