在屏幕上显示文本会影响模型渲染

时间:2012-08-29 09:50:14

标签: c#-4.0 xna-4.0

我的虚拟世界中显示了纹理模型。我遇到的问题是当我在屏幕上绘制文本时,模型在可见侧变得更暗并且部分透明。这是函数Im调用:

 private void DrawText()
    {
        spriteBatch.Begin();
        spriteBatch.DrawString(debugFont, "X: " + modelPosition.X + " Y: " + modelPosition.Y 
            + " Z: " + modelPosition.Z, new Vector2(150, 150), Color.White);
        spriteBatch.End(); 
    }

有关如何在屏幕上显示文本时如何正确呈现模型的任何建议?

1 个答案:

答案 0 :(得分:2)

使用SpriteBatch对渲染状态的alpha和其他属性有副作用。您可以在文本工作后恢复默认值,这应该可以解决问题。有关详细信息,请参阅此文章:

http://www.riemers.net/Forum/index.php?var=1594&var2=0

Shawn Hargreaves提供了有关受影响的确切属性的更多信息:

http://blogs.msdn.com/b/shawnhar/archive/2010/06/18/spritebatch-and-renderstates-in-xna-game-studio-4-0.aspx