我正在尝试使用 OpenGL ES 来绘制相当复杂的路径,因为在使用通用 Android 绘图函数时遇到了严重的性能问题。到目前为止,直接使用 OpenGL 似乎要快得多,但我想知道 2D 绘图与 3D 绘图之间的区别。
我正在使用Google Tutorial on OpenGL 中的示例,并对其进行了一些修改以从我的顶点中删除第三个维度。只是省略 z 坐标glVertexAttribPointer
并传递 2 作为 size 参数似乎有效。这似乎是一个明显而简单的优化,它也让代码更清晰一些。但我想知道 OpenGL ES 在哪些其他地方只是假设 3D,并做了不必要的工作。
例如,我不需要任何深度测试,但从我读到的内容中,我不清楚是否只是从未明确启用它就足够了,或者我是否需要禁用任何设置?
我不是在寻找微优化,而是在寻找一般设置,以消除我在 3D 中工作的假设,并简化或删除在 2D 中不需要的计算。当我在纯 2D 而不是 3D 中工作时,我还应该做些什么?