Windows Phone 7 / XNA 4 - 纹理模糊效果

时间:2010-11-25 02:40:01

标签: xna-4.0

嘿所有, 我刚刚开始使用XNA 4.0 for Windows Phone 7,并且正在寻找有关如何在Texture2D上实现模糊效果的一些信息?从我收集的内容来看,我们无法在WP7平台上使用着色器,而且我很难找到关于这个主题的信息。

非常感谢, 安东。

2 个答案:

答案 0 :(得分:1)

理论上,是的。但是,这是一项CPU密集型任务。如果您获取像素数据,将其粘贴在位图中,并在C#中迭代着色器的像素,那么您可以实现相同的效果。您接下来要做的就是从位图中获取颜色数据,将其重新打包在纹理中,然后重绘它。但是考虑到你必须为每次抽奖都做到这一点,这对于手机处理器来说将是一个巨大的开端。我手边没有代码,但是我已经将这种方法用于了许多“伪ha”。它效率不高,但在节约使用时效果很好。

答案 1 :(得分:0)

精灵的“定向模糊”的另一种相当便宜的方法是保持精灵在最后几次更新中的位置(其位置)的短FIFO队列。这是一个“历史轨迹”的位置。然后,以相反的时间顺序(最早的一个)在这些位置绘制精灵,使用几乎透明(对于历史路径的最老成员)开始的颜色掩码,对于历史记录中的每个后续位置变得不太透明,对于精灵的当前位置是白色。使用较大的历史记录会使此方法变得更加昂贵(耗时)。当物体移动太快时,它也可能不会产生良好的模糊 - 因为在当前位置和前一个位置之间将存在太多空间。在这种情况下,您可以插入更接近当前位置的位置以获得更好的模糊效果。最终结果可能被认为是重影而不是模糊,但如果这就是你需要的,那么这很容易实现。