Monotouch OpenGL视网膜显示屏支持

时间:2011-09-25 00:34:05

标签: c# ios iphone opengl-es xamarin.ios

我正在尝试使用monotouch为iOS创建一个OpenGL应用程序。我需要该应用程序支持480x960的新视网膜显示分辨率,以及3GS及更早版本的240x320。

开箱即用的OpenGL示例解决方案不支持此功能。当我在iPhone 4上运行时,它只显示模糊的,升级的240x320版本的OpenGL视图。

令人惊讶的是,谷歌有助于OpenGL和视网膜,以及单点和视网膜,但不支持OpenGL和monotouch和视网膜。我尝试使用EAGLView和主UIWindow的ContentScaleFactor进行检查和调整无济于事。

奇怪的是,相关文献表明,两者的ContentScaleFactor都是1.0而不是2.0。此外,UIWindow的Screen属性在运行时的边界为240x320,即使它在iPhone 4视网膜显示器上运行。

有人知道如何使用OpenGL在monotouch上正确支持视网膜吗?

1 个答案:

答案 0 :(得分:1)

Screen对象也应该有Scale属性,在视网膜显示器上应该等于2.0。

例如,MonoGame明确地将视图的ContentScaleFactor设置为MainScreen.Scalehttps://github.com/mono/MonoGame/blob/master/MonoGame.Framework/iOS/IOSGameWindow.cs#L109)。