RenderTarget2D不保留透明背景
本文关键字:背景 透明 保留 RenderTarget2D | 更新日期: 2023-09-27 18:12:00
我正在做一个项目。所有2D使用spriteBatch。
我有东西像爆炸使用自定义效果,不适用于图像的其余部分。这是目前为止的流程:
清除背景2)绘制所有的爆炸精灵
3)捕获该图像并将我的效果实现到单独的RenderTarget2D
画我的背景
5)绘制在步骤3中创建的RenderTarget2D
6)画其他的
我遇到的问题是创建的RenderTarget2D在未绘制的区域不透明。因此,在步骤4中绘制的背景没有显示。
我已经尝试过GraphicsDevice.Clear(Color.Transparent)在任何调用SetRenderTarget(null)之后。然而,我仍然得到紫色的背景。
任何想法?
我想把代码贴出来,但是有太多东西需要你们去解析
如果你遵循这个流程,它应该可以工作;
GraphicsDevice.SetRenderTarget(renderTarget);
GraphicsDevice.Clear(Color.Transparent);
// Draw stuff to texture
GraphicsDevice.SetRenderTarget(null);
GraphicsDevice.Clear(BackgroundColor); // Important to clear here
// Draw background
// Draw texture
// Draw stuff