如何在WP7上实现可移动的XNA遮罩

4
我有两个纹理:背景和掩膜。我需要创建输出,其中掩膜定义了从背景中显示出来的内容。非常重要的一点是,掩膜需要比背景小,我将在运行时移动它,显示背景的部分区域。

enter image description here

该项目是在WP7上进行的,因此对BlendState操作有限。

1个回答

4
你可以使用内置的AlphaTestEffect和Stencil Buffer来实现所需的遮罩效果。
步骤如下:
1. 清除stencil buffer。 2. 使用AlphaTestEffect将您的掩码绘制到stencil buffer中,只绘制非透明像素。 3. 使用stencil buffer遮罩绘制您的图像。
糟糕的编码文章Texture Modification using Render Targets, with some Stencil Buffer Action展示了如何做到这一点,并提供了可工作的示例代码。

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