XNA RenderTarget2D大小限制

时间:2012-11-20 05:07:04

标签: c# xna resolution

我一直在使用XNA制作PC游戏,我正在使用RenderTarget2D进行照明,将世界中的东西绘制成一个,然后在另一个中绘制光掩模。无论如何,我最初使用我的1920x1080显示器时没有遇到任何问题,但我刚刚升级到27“2560x1440 S-IPS显示器,现在我收到一个错误,因为我的显示器分辨率设置高于2048,这显然是最大尺寸的纹理可以。

它试图在1440年之前绘制一个大小为2560的纹理,所以我需要找到解决这个限制的方法。我想大屏幕我可以把它分成多个RenderTarget2Ds。我的问题是我如何传递光罩:

drawMain();
drawLightMask();

ScreenManager.SpriteBatch.Begin(SpriteSortMode.Immediate, BlendState.AlphaBlend);
lightingEffect.Parameters["lightMask"].SetValue(lightMask);
lightingEffect.CurrentTechnique.Passes[0].Apply();
ScreenManager.SpriteBatch.Draw(mainScene, new Vector2(0, 0), Color.White);
ScreenManager.SpriteBatch.End();

我确定其他人不得不处理这个问题,所以也许有人对如何处理这个2048限制有一些想法?

编辑:另一个想法..也许当我检测到具有大分辨率时,我只是将其设置为较低而不是默认设置为当前分辨率。这样就不用担心了。这种方式的问题在于,在全屏模式下,它正在改变屏幕的分辨率,因此当它们退出游戏时,它必须再次改变分辨率并且有点混乱。然后在无边界的winowed模式下,窗口较小但似乎不会改变你的分辨率。

0 个答案:

没有答案