这是一个平局:
graphicsDevice.Clear(Color.CornFlowerBlue);
spriteBatch.Begin();
graphicsDevice.SetRenderTarget(renderTarget);
spriteBatch.Draw(texture2D, position, etc);
graphicsDevice.SetRenderTarget(null);
graphicsDevice.Clear(Color.Red);
spriteBatch.End();
这会在红色背景上生成我的Texture2D。为什么这会将我的Texture2D绘制到屏幕上?当调用spriteBatch.Draw时,RenderTarget不是后备缓冲区,而且我没有在此代码中绘制RenderTarget。纹理2D不能显示,因为它是在屏幕外绘制的吗?另外,为什么没有显示(只是黑色),除非我在结束spriteBatch之前清除屏幕?