使用渲染目标时摆脱黑色背景

时间:2014-10-11 12:21:06

标签: c# xna rendertarget

我要做的是使用spritesheet创建一个混合地形,将其保存为纹理,然后将其传递到着色器以获得其他效果。但是,我在渲染目标方面存在一些问题:

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

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

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

GraphicsDevice.SetRenderTarget(null);

显然,这会在我的纹理上创建一个黑色背景。然而,当我实际在我的主场景上绘制纹理时,我不想要背景,只有纹理(如果我不使用清晰,我会得到默认的紫色)。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

使用透明的透明色:

GraphicsDevice.Clear(Color.TransparentBlack);

如果正确处理混合,则会导致无法绘制透明像素。