使用XNA SpriteBatch绘制屏幕

使用XNA SpriteBatch绘制屏幕,xna,xna-4.0,Xna,Xna 4.0,我有一个SpriteBatch,它被设置为绘制一个高度和宽度都大于500px的RenderTarget2D。但是,每当我使用物理屏幕宽度/高度之外的点调用SpriteBatch.Draw方法时,它都不会绘制对象 我正在对纹理执行一些3D变换,因此我需要绘制屏幕外的区域。我尝试将消隐设置为None,但没有效果 提前感谢您的帮助。在绘制到渲染目标2D之前,在图形设备上修改视口 GraphicsDevice.SetRenderTarget(myRenderTarget2D); GraphicsDevi

我有一个
SpriteBatch
,它被设置为绘制一个高度和宽度都大于500px的
RenderTarget2D
。但是,每当我使用物理屏幕宽度/高度之外的点调用
SpriteBatch.Draw
方法时,它都不会绘制对象

我正在对纹理执行一些3D变换,因此我需要绘制屏幕外的区域。我尝试将消隐设置为
None
,但没有效果


提前感谢您的帮助。

在绘制到
渲染目标2D
之前,在
图形设备
上修改
视口

GraphicsDevice.SetRenderTarget(myRenderTarget2D);
GraphicsDevice.Viewport.Width += 500; //or a more sensible calculation
GraphicsDevice.ViewPort.Height += 500;
GraphicsDevice.Clear(Color.Transparent);
//Spritebatch operations


您是否尝试将视口设置为与渲染目标大小匹配?此问题已交叉发布到GDSE: