Here's a draw block:
graphicsDevice.Clear(Color.CornFlowerBlue);
spriteBatch.Begin();
graphicsDevice.SetRenderTarget(renderTarget);
spriteBatch.Draw(texture2D, position, etc);
graphicsDevice.SetRenderTarget(null);
graphicsDevice.Clear(Color.Red);
spriteBatch.End();
This produces my Texture2D on top of a red background. Why does this draw my Texture2D to the screen? When spriteBatch.Draw is called the RenderTarget is NOT the backbuffer, and I'm not drawing the RenderTarget in this code. Shouldn't the texture2D not display since it's drawn offscreen? Also, why does nothing display (just black) unless I clear the screen right before ending spriteBatch??