Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/188.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 在OpenGL ES中批处理多个矩形_Android_Performance_Opengl Es - Fatal编程技术网

Android 在OpenGL ES中批处理多个矩形

Android 在OpenGL ES中批处理多个矩形,android,performance,opengl-es,Android,Performance,Opengl Es,我目前正在经历非常缓慢的性能,通过迭代四个三角形条带并分别绘制每个条带,因此我希望将所有矩形批处理为一个单独的绘制调用 环顾四周,最好的方法似乎是简单地重复顶点,并使用GL_三角形而不是GL_三角形,简单地为每个矩形绘制两个单独的三角形 问题是每个矩形可以有不同的颜色,我需要通过编程更改任何矩形的颜色。因此,简单地使用一个GL_三角形调用并不奏效。相反,看起来我需要用顶点数据为颜色数据建立索引,将颜色与每个矩形关联起来。我该怎么办 谢谢大家! 可以使用顶点着色 每个顶点都可以有多个数据通道,包括

我目前正在经历非常缓慢的性能,通过迭代四个三角形条带并分别绘制每个条带,因此我希望将所有矩形批处理为一个单独的绘制调用

环顾四周,最好的方法似乎是简单地重复顶点,并使用GL_三角形而不是GL_三角形,简单地为每个矩形绘制两个单独的三角形

问题是每个矩形可以有不同的颜色,我需要通过编程更改任何矩形的颜色。因此,简单地使用一个GL_三角形调用并不奏效。相反,看起来我需要用顶点数据为颜色数据建立索引,将颜色与每个矩形关联起来。我该怎么办


谢谢大家!

可以使用顶点着色

每个顶点都可以有多个数据通道,包括位置、颜色、(多个)纹理、法线等

我建议顶点直接一个接一个地包含位置和颜色。虽然你可以设置一个位置,也可以这样做(只需确保颜色与位置正确对齐)

(这些教程面向iPhone,但OpenGL ES代码在Android上应该可以正常工作)