我要做的是使用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);
显然,这会在我的纹理上创建一个黑色背景。然而,当我实际在我的主场景上绘制纹理时,我不想要背景,只有纹理(如果我不使用清晰,我会得到默认的紫色)。我该如何解决这个问题?
答案 0 :(得分:2)
使用透明的透明色:
GraphicsDevice.Clear(Color.TransparentBlack);
如果正确处理混合,则会导致无法绘制透明像素。