c – 使用OpenGL的2D引擎:使用Z缓冲区或自己的实现进行精灵排序?

如果我正在制作一个3D引擎,这个问题的答案就很明确了:我会选择使用深度缓冲区,而不是考虑自己对所有多边形进行排序.

然而,这与2D的情况不同,因为这里的图层可以在没有OpenGL帮助的情况下轻松实现 – 然后您甚至可以在图层内对精灵进行排序和移动. (这在OpenGL afaik中是不可能的)

>(为什么)我应该使用OpenGL深度缓冲区而不是cpu上运行的C层系统?
>深度缓冲版本的速度会慢多少?

我很清楚,在C语言中创建一个层系统会对性能产生影响,因为在任何情况下我都必须遍历精灵以进行渲染.

解决方法

我建议你用软件来做,因为你可能想在你的精灵上使用透明度,这意味着你要从后到前渲染它们.排序几个精灵也不应该是cpu的要求.

相关文章

本程序的编译和运行环境如下(如果有运行方面的问题欢迎在评...
水了一学期的院选修,万万没想到期末考试还有比较硬核的编程...
补充一下,先前文章末尾给出的下载链接的完整代码含有部分C&...
思路如标题所说采用模N取余法,难点是这个除法过程如何实现。...
本篇博客有更新!!!更新后效果图如下: 文章末尾的完整代码...
刚开始学习模块化程序设计时,估计大家都被形参和实参搞迷糊...