我最近开始学习OpenGL ES,从1.0学习,工作到2.0。
我的问题是,我知道如何渲染两个三角形(共享一个顶点坐标)来创建一个正方形/矩形。并添加纹理,图像的大小。在'画布'上无缝创建图像。 这是将图形图像放在屏幕上的正确方法,还是有一种方法可以用来放置图像?
换句话说:Android API有::
canvas.drawBitmap(bitmap, x, y, filter);
OpenGL ES 1.0+或2.0是否有单独的方法在屏幕上放置位图图像?
答案 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版本中也不推荐使用。