我将2D动画组织成一个形状树。但是,我需要一个不同于根深度优先或广度优先遍历的绘制顺序。有没有办法控制最终的抽奖顺序?
我需要找到一种方法来做到这一点,而不会破坏树中的父子继承。例如,当我绘制树时,我需要每个孩子从父母那里继承翻译和轮换,然后将这些翻译和轮换传递给他们的孩子。
我可以想出各种方法来解决这个问题,但它似乎不是一个独特的问题,所以我想知道是否有一个特定于OpenGL的解决方案。
答案 0 :(得分:0)
OpenGL不关心你的对象。它只是一个绘图API。
如果您的绘图顺序与父子关系不同,一种解决方案是分两步拆分转换计算和绘图。
在第一步中,您自上而下遍历树,并在每个节点中存储父对象的转换。在第二阶段,您将使用渲染顺序遍历对象,并使用步骤1中的变换渲染它们。遍历主要取决于您如何存储/定义绘制顺序。