我想要的只是清除我的 renderTarget2D 一次,以便它开始时完全透明,然后在帧之间保留它的内容。
我在绘制背景纹理之后绘制了 renderTarget 纹理,所以我不希望它被覆盖。但是 Clear(Color.Transparent) 它显示为不透明的紫色,据我所知,这是默认的透明颜色...
我究竟做错了什么?我尝试在构造函数中更改 SurfaceFormat 参数,但没有效果。我究竟做错了什么?
// instantiate renderTarget to preserve contents
renderTarget = new RenderTarget2D(GraphicsDevice,
GraphicsDevice.PresentationParameters.BackBufferWidth,
GraphicsDevice.PresentationParameters.BackBufferHeight,
false,
GraphicsDevice.PresentationParameters.BackBufferFormat,
DepthFormat.Depth24,
0,
RenderTargetUsage.PreserveContents);
// clear with transparent color
GraphicsDevice.SetRenderTarget(Globals.renderTarget);
GraphicsDevice.Clear(Color.Transparent);
GraphicsDevice.SetRenderTarget(null);