Android OpenGL.ES纹理/图像绘制

时间:2014-06-14 04:54:34

标签: android image canvas opengl-es

我最近开始学习OpenGL ES,从1.0学习,工作到2.0。

我的问题是,我知道如何渲染两个三角形(共享一个顶点坐标)来创建一个正方形/矩形。并添加纹理,图像的大小。在'画布'上无缝创建图像。 这是将图形图像放在屏幕上的正确方法,还是有一种方法可以用来放置图像?

换句话说:Android API有::

canvas.drawBitmap(bitmap, x, y, filter); 

OpenGL ES 1.0+或2.0是否有单独的方法在屏幕上放置位图图像?

1 个答案:

答案 0 :(得分:1)

不是,不。有一些扩展更直接地支持与您所描述的类似的功能:

http://www.khronos.org/registry/gles/extensions/OES/OES_draw_texture.txt http://www.khronos.org/registry/gles/extensions/NV/draw_texture.txt

但是对于标准的API调用,您所描述的是显示图像的正确方法。

OpenGL ES 3.0有glBlitFramebuffer(),这是另一个可用于此的选项。但这不在ES 1.1和ES 2.0中。

Full OpenGL曾经有glDrawPixels()函数,但在现代OpenGL版本中也不推荐使用。