SpriteBatch绘制到backbuffer而不是RenderTarget?

时间:2016-11-10 03:50:12

标签: c# xna draw monogame spritebatch

这是一个平局:

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之前清除屏幕?

0 个答案:

没有答案