如果我正在制作一个3D引擎,这个问题的答案就很明确了:我会选择使用深度缓冲区,而不是考虑自己对所有多边形进行排序.
然而,这与2D的情况不同,因为这里的图层可以在没有OpenGL帮助的情况下轻松实现 - 然后您甚至可以在图层内对精灵进行排序和移动.(这在OpenGL afaik中是不可能的)
我很清楚,在C++中创建一个层系统会对性能产生影响,因为在任何情况下我都必须遍历sprite以进行渲染.
c++ opengl 2d layer
2d ×1
c++ ×1
layer ×1
opengl ×1