我有一个SpriteBatch
设置为绘制到RenderTarget2D
,其高度和宽度都要大500像素。但是,每当我使用物理屏幕宽度/高度之外的点调用SpriteBatch.Draw
方法时,它都不会绘制对象。
我正在对纹理执行一些3D变换,因此我需要绘制屏幕外的区域。我已经尝试将剔除设置为None
,但这没有效果。
提前感谢您的帮助。
答案 0 :(得分:0)
修改Viewport
上的GraphicsDevice
,然后再绘制到RenderTarget2D
。
GraphicsDevice.SetRenderTarget(myRenderTarget2D);
GraphicsDevice.Viewport.Width += 500; //or a more sensible calculation
GraphicsDevice.ViewPort.Height += 500;
GraphicsDevice.Clear(Color.Transparent);
//Spritebatch operations
http://msdn.microsoft.com/en-us/library/microsoft.xna.framework.graphics.graphicsdevice.viewport
http://msdn.microsoft.com/en-us/library/microsoft.xna.framework.graphics.viewport_members