Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/189.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
opengl中的绘图顺序排序_Opengl_Z Order_Orthographic - Fatal编程技术网

opengl中的绘图顺序排序

opengl中的绘图顺序排序,opengl,z-order,orthographic,Opengl,Z Order,Orthographic,我有一个正交投影,我正在画精灵。问题是精灵以OpenGL中绘制的顺序出现。我想给它们指定一个Z值,并让它们按排序的Z顺序绘制。我怎样才能做到这一点呢?对它们进行排序,然后按顺序绘制它们。真的没有必要再进一步了。只需将它们全部粘贴在一个数据结构中,对它们进行排序,然后按该顺序绘制。对它们进行排序,然后按该顺序绘制。真的没有必要再进一步了。只需将它们粘在一个数据结构中,对它们进行排序,然后按顺序绘制即可。我认为这是一个可行的方法,我不确定OpenGL是否在本机支持它。@StormKiernan:好吧

我有一个正交投影,我正在画精灵。问题是精灵以OpenGL中绘制的顺序出现。我想给它们指定一个Z值,并让它们按排序的Z顺序绘制。我怎样才能做到这一点呢?

对它们进行排序,然后按顺序绘制它们。真的没有必要再进一步了。只需将它们全部粘贴在一个数据结构中,对它们进行排序,然后按该顺序绘制。

对它们进行排序,然后按该顺序绘制。真的没有必要再进一步了。只需将它们粘在一个数据结构中,对它们进行排序,然后按顺序绘制即可。

我认为这是一个可行的方法,我不确定OpenGL是否在本机支持它。@StormKiernan:好吧,如果你的精灵是完全不透明的,你可以让Z缓冲区为你做这项工作。但是精灵通常有透明区域,因此您必须对其进行排序。但是,使用快速排序或合并排序,您可能会得到O(n log(n))复杂性。@datenwolf是的,我刚刚完成了合并排序的实现。你能帮助我吗?在找到这篇文章之前,我在堆栈溢出中创建了这篇文章。我想这是一种方法,不确定OpenGL是否在本机支持它。@StormKiernan:好吧,如果你的精灵是完全不透明的,你可以让Z缓冲区为你做这项工作。但是精灵通常有透明区域,因此您必须对其进行排序。但是,使用快速排序或合并排序,您可能会得到O(n log(n))复杂性。@datenwolf是的,我刚刚完成了合并排序的实现。你能帮助我吗?在找到这篇文章之前,我在堆栈溢出中创建了这篇文章。