0

在 XNA 中,有没有办法在绘制到纹理对象之后再渲染到屏幕之前渲染 spriteBatch 的内容?

4

3 回答 3

1

您需要为 spritebatch 切换渲染目标,然后从中获取纹理。这篇 MSDN 文章很好地解释了它。

http://msdn.microsoft.com/en-us/library/bb976073.aspx

于 2009-06-25T16:39:52.643 回答
1

正如Hexxagonal 已经回答的那样,是的,您可以。但是,如果您使用的是半透明精灵,您可能会遇到麻烦。原因是,两个重叠的精灵最终不会在您的屏幕外渲染目标中获得正确的 alpha 值。

为了使事情正确,您必须制作自己的 SpriteBatch 并开始使用预乘 alpha。

于 2009-06-26T19:08:25.577 回答
0

这是 Shawn Hargreaves 的优秀博客的附加链接,他在其中谈到了渲染目标语义:http:
//blogs.msdn.com/shawnhar/archive/2007/02/04/xna-rendertarget-semantics.aspx

于 2009-07-01T18:36:08.953 回答