0

私の質問は、別のプロジェクションのステンシル バッファーを別のプロジェクションのマスクとして使用することです。これにアプローチする方法がわからないので、先に進んでいくつかのコードを書きます。

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 を最初の方程式から取り出して、スクリーン座標空間にレンダリングすれば、これは機能する。ただし、これはカメラ プロジェクションでは機能しません。私の理解では、レンダリングは、画面空間で行われる後者の描画呼び出しと比較して、「遠く離れた」ステンシル バッファーに対して単純に行われるということです。

最初の操作のステンシルを 2 番目の操作のマスクとして使用するにはどうすればよいですか?

4

1 に答える 1