事实证明,模拟器一直都是正确的。
我在朋友的 iPhone 5 上试用了最终版本,乍一看还不错,但仔细一看,它就像上面的屏幕截图一样。我可以通过让我的朋友截图来验证这一点,实际上看起来就像我在那里发布的截图一样。
它在 iPad 上看起来不错的原因是因为在 iPad 上,游戏实际上是在放大纹理,即使只是轻微的,而且放大算法比缩小算法产生更好的结果。(我可以发誓它在 480x320 2.3 机器人上看起来不错)
所以无论如何,我开始通过在加载时创建 mipmap 来解决问题
GL.GenerateMipmap(TextureTarget.Texture2D);
然后设置缩小以使用这些 mipmap
GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureMinFilter, (int)All.LinearMipmapLinear);
现在波涛汹涌的缩小已经消失了,取而代之的是一个肮脏的缩小。奥兹
实际上这样做表明我错误地使用了对视网膜显示器的支持。该应用程序以 iPhone 3GS 的分辨率运行。
所以我只需要确保创建的帧缓冲区大小正确,问题就消失了。然而,在使用视网膜显示器时,我再次放大了我的纹理,所以我只在非视网膜设备上创建了 mipmap(这会消耗更多的 VRAM 并使游戏加载速度变慢)。