Iphone 元素与多重图像

Iphone 元素与多重图像,iphone,opengl-es,Iphone,Opengl Es,街上有消息说glDrawElements比GLDrawArray快得多 所以我想用gldrawerelements显示所有内容。我的问题是,我有一大堆的图像,我想弹出到屏幕上。每个图像都具有不同的纹理 是否可以使用GLD元素来完成此操作 如何切换纹理您不能直接切换 你能做的就是制作一个纹理图集,制作一个包含所有小纹理的大纹理,然后相应地调整纹理坐标 另外,您在哪里听说过gldrawArray和glDrawElements之间的比较?我从来没有看到过令人信服的,所有情况下都包括比较。顶点索引(即,

街上有消息说glDrawElements比GLDrawArray快得多

所以我想用gldrawerelements显示所有内容。我的问题是,我有一大堆的图像,我想弹出到屏幕上。每个图像都具有不同的纹理

是否可以使用GLD元素来完成此操作

如何切换纹理

您不能直接切换

你能做的就是制作一个纹理图集,制作一个包含所有小纹理的大纹理,然后相应地调整纹理坐标

另外,您在哪里听说过
gldrawArray
glDrawElements
之间的比较?我从来没有看到过令人信服的,所有情况下都包括比较。

顶点索引(即,
gldrawerelements
)可以大大减少顶点缓冲区的大小,如果您经常在多个原语之间共享顶点

例如,如果要使用
GL_三角形
绘制网格,则肯定要使用索引。如果你只是画一堆不相交的三角形,没有太多的理由使用索引


无论您是使用
glDrawElements
还是
glDrawArrays
,都需要尽量减少draw调用的数量。使用纹理图集可以将多个绘图调用组合在一起,否则这些调用将与对
glBindTexture

的调用分开。我是从一个名为71 squared的网站上的视频教程中获得的。我想iphone无论如何。。。3个GLDrawArray调用比1个gldrawelement调用慢得多,这是因为cpu被占用,而iphone的cpu跟不上。打一个电话就用图形硬件加速来做同样的事情。