我一直在尝试将OpenGL多维数据集表面上的GLSurfaceView渲染为纹理。可能吗?怎么去呢?
答案 0 :(得分:1)
通常的做法是渲染到由纹理支持的帧缓冲对象(FBO),然后从中进行渲染。
您可以谷歌查看GLES2中FBO用法的示例(设置有点复杂)。在实践中展示它的一个例子是Grafika中的“记录GL应用程序”活动,它使用FBO(和其他几种方法)来记录GLES渲染。 doFrame()
中的最后一个“else”子句呈现给FBO,然后将该纹理呈现两次,一次在屏幕上,一次呈现给录像机。
您可能希望从GLSurfaceView切换到普通SurfaceView以更好地控制渲染过程。 Grafika中的大多数代码都使用SurfaceView或TextureView。