【发布时间】:2020-06-23 23:23:57
【问题描述】:
这就是我想要做的:我想渲染一个 2D 场景,它由许多对象(四边形)组成,使用实例化。具有较低 y 值(朝向屏幕底部)的对象需要在具有较高 y 值的对象之前渲染。 Alpha 混合也需要发挥作用。
所以我的第一个想法是使用 Z 值作为深度,但我很快意识到除非以正确的顺序绘制对象,否则 Alpha 混合将不起作用。但我不是为每个四边形发出一个调用,而是使用单个实例调用来渲染整个场景。将实例数据按正确的排序顺序排列似乎对我有用,但我怀疑这是我可以依赖的东西,因为 GPU 应该尽可能地并行运行这些计算。
所以问题是,有没有办法让它工作?我现在能想到的最好的事情是为每个单独的 y 值发出一个实例调用(并按顺序发出它们,从后到前)。有没有更好的方法来做到这一点?
【问题讨论】:
标签: opengl