我已经在 OpenGL Alpha 混合中实现了三角形网格。我使用一个索引向量来渲染这个网格,该向量指示应该从顶点向量中绘制哪个顶点。问题是正确应用半透明三角形应该从后到前排序(基于与相机的距离)。仅对索引列表进行排序不会这样做,因为我每次都需要 3 个索引来创建一个三角形。有没有办法对顶点列表进行排序,以便索引正确指向该列表而不改变索引的顺序?
非常感谢,
任何帮助表示赞赏!
我已经在 OpenGL Alpha 混合中实现了三角形网格。我使用一个索引向量来渲染这个网格,该向量指示应该从顶点向量中绘制哪个顶点。问题是正确应用半透明三角形应该从后到前排序(基于与相机的距离)。仅对索引列表进行排序不会这样做,因为我每次都需要 3 个索引来创建一个三角形。有没有办法对顶点列表进行排序,以便索引正确指向该列表而不改变索引的顺序?
非常感谢,
任何帮助表示赞赏!
您可以使用稳定的排序算法。取数组,并根据
(这里是您传递给函数的比较器函数。)sort
如果算法是稳定的,它的性质是当和都为假时,和的顺序将被保留在排序后的数组中。特别是,如果您确保始终为假,则需要稳定的排序算法将索引的三元组保持在右侧排序,并且只重新排序三元组。