2

私がやろうとしているのは、スプライトシートを使用してブレンドされた地形を作成し、それをテクスチャとして保存してから、追加の効果のためにシェーダーに渡すことです。ただし、レンダー ターゲットにいくつか問題があります。

RenderTarget2D someNewTexture = new RenderTarget2D(GraphicsDevice, 256, 256);

GraphicsDevice.SetRenderTarget(someNewTexture);
GraphicsDevice.Clear(Color.Black);

spriteBatch.Begin();
{
    // draw some stuff
}
spriteBatch.End();

GraphicsDevice.SetRenderTarget(null);

明らかに、これにより、テクスチャが上にある黒い背景が作成されます。ただし、実際にそのテクスチャをメイン シーンに描画するときは、背景は必要なく、テクスチャのみが必要です (クリアを使用しない場合は、代わりにデフォルトの紫色が得られます)。これを修正するにはどうすればよいですか?

4

1 に答える 1

2

透明なクリア カラーを使用する:

GraphicsDevice.Clear(Color.TransparentBlack);

ブレンドを正しく処理すると、透明なピクセルが描画されなくなります。

于 2014-10-11T12:42:39.813 に答える