我的问题是关于使用来自另一个投影的模板缓冲区作为另一个投影中的掩码。我不确定如何解决这个问题,所以我将继续编写一些代码:
spriteBatch.Begin(SpriteSortMode.Deferred, null, SamplerState.PointClamp, AlwaysStencilState, null, alphaEffect2, Camera.Projection);
// Draw stuff used as a stencil in Camera.Projection space
spriteBatch.End();
spriteBatch.Begin(SpriteSortMode.Immediate, null, SamplerState.PointClamp, EqualStencilState, null, null);
// Draw a background behind
spriteBatch.End();
好吧,如果我将 Camera.Projection 从第一个方程中取出并渲染到屏幕坐标空间,这将起作用。但是,这不适用于相机投影。我的理解是,与在屏幕空间中发生的后者绘制调用相比,渲染只是对“很远”的模板缓冲区进行。
如何使用第一个操作的模板作为第二个操作的掩码?