XNA精灵排序模式

10

SpriteSortMode 设置为 FrontToBackBackToFront 有何不同和影响?这取决于图层值的大小,使用 FrontToBack 时,具有较小图层值的对象将首先被绘制;使用 BackToFront 时,具有较小图层值的对象将最后被绘制。

1个回答

8
他们使用传递给精灵绘制调用的layerDepth值。值为0时在前面,值为1时在后面,在这些值之间的所有内容都是中间的。
XNA中的所有排序模式都会改变精灵被渲染的时间和方式。FrontToBack和BackToFront与Deferred模式相同,这意味着只有在调用SpriteBatch.End()时才会渲染精灵。如果使用FrontToBack或BackToFront,则在End调用时,所有精灵都会根据其layerDepth进行排序,在FrontToBack中,值越接近0的精灵首先被绘制,而在BackToFront中则相反。这意味着在BackToFront中,例如,后面的精灵(或者说,具有最接近1的layerDepths)将首先被绘制,因此出现在靠近前面的精灵(值越接近0)下面。
由于它为您进行了排序,因此这些排序模式比其他模式慢一些。

还要记住,layerDepth 值在 [0.0f - 1.0f] 之外可能根本无法渲染。 - sdgfsdh

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接