如何按纹理排序?

时间:2014-04-28 10:00:04

标签: opengl opengl-es

有时会在与OpenGL相关的帖子中出现短语"sort by texture"。虽然我看到如何为绑定到某个纹理单元的单个纹理实现这种排序,但我不确定如何对绑定到任意纹理单元的多个纹理进行此操作。也许通过将TU的状态捕获为整数id,然后使用id作为数组或映射的索引?如何最好地做"按纹理排序"在OpenGL应用程序中?

1 个答案:

答案 0 :(得分:1)

将纹理单位视为树中的关卡并进行排序的深度优先遍历是一个很好的起点。

理想情况下,您要做的是最小化纹理单元状态更改的数量,这可能意味着在最佳情况下多次选择和取消选择相同的纹理。你建议对纹理ID的元组进行排序也是一个好主意。