我的Android程序必须使用glBlitFrameBuffer()函数来复制FrameBuffer对象。但是,glBlitFrameBuffer()函数只支持OpenGL ES 3.0及以上版本的设备。我想要支持OpenGL ES 2.0及以上版本的设备。
有没有任何解决方案或替代函数?
有没有任何解决方案或替代函数?
private static final String SHADER_VERTEX = ""
+ "attribute vec4 a_Position;\n"
+ "varying highp vec2 v_TexCoordinate;\n"
+ "void main() {\n"
+ " v_TexCoordinate = a_Position.xy * 0.5 + 0.5;\n"
+ " gl_Position = a_Position;\n"
+ "}\n";
private static final String SHADER_FRAGMENT = ""
+ ""
+ "uniform sampler2D u_Texture;\n"
+ "varying highp vec2 v_TexCoordinate;\n"
+ "void main() {\n"
+ " gl_FragColor = texture2D(u_Texture, v_TexCoordinate);\n"
+ "}\n”;
u_Texture
设置为您想要从中复制的纹理,并绑定要写入的帧缓冲区,您就可以开始了。