【问题标题】:XNA 4.0: terrain glitches caused by SpriteBatchXNA 4.0:由 SpriteBatch 引起的地形故障
【发布时间】:2013-05-09 08:52:20
【问题描述】:

我正在尝试在 XNA 中实现地形碰撞,因此我添加了一些动态文本,以便我测试计算是否正确。在我打电话之前,一切都很好:

spriteBatch.Begin(); spriteBatch.End();

spriteBatch.Begin(SpriteSortMode.BackToFront, BlendState.AlphaBlend); spriteBatch.End();

有了这些说明,地形有点小故障,当我从代码中删除这两行时,一切都恢复正常(但这意味着我无法绘制 HUD)

任何人都知道是什么原因造成的,我应该如何解决?

屏幕:

with sprite batch on

with sprite batch off

【问题讨论】:

    标签: xna-4.0 terrain spritebatch visual-glitch


    【解决方案1】:

    这是由于 spritebatch 改变了图形设备状态...

    在绘制地形之前,您应该存储正确的渲染状态...

    通常你必须设置正确的 RasterizerState 和 DepthStencilState。

    常用值为 RasterizarState.CullNone 和 DepthStencilState.Default

    【讨论】:

    • 原来我存储了 RasterizerState 但我缺少另一个,这条线完成了这项工作:device.DepthStencilState = DepthStencilState.Default; 感谢提示
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-10
    相关资源
    最近更新 更多